Skip to content

Commit 856b37f

Browse files
committed
updated
1 parent 3b9ce19 commit 856b37f

File tree

3 files changed

+19
-18
lines changed

3 files changed

+19
-18
lines changed

template/build_prod.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from dotenv import load_dotenv
2-
from e2b import Template
2+
from e2b import Template, default_build_logger
33
from template import make_template
44

55
load_dotenv()
66

77
Template.build(
8-
make_template(),
8+
make_template(set_user_workdir=True),
99
alias="code-interpreter",
10-
cpu_count=1,
11-
memory_mb=1024,
12-
on_build_logs=lambda log_entry: print(log_entry),
10+
cpu_count=2,
11+
memory_mb=2048,
12+
on_build_logs=default_build_logger(),
1313
)

template/build_test.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
from dotenv import load_dotenv
2-
from e2b import Template
2+
from e2b import Template, default_build_logger
33
from template import make_template
44

55
load_dotenv()
66

77
Template.build(
8-
make_template(kernels=["python", "javascript"]),
8+
make_template(kernels=["python", "javascript"], set_user_workdir=True),
99
alias="code-interpreter-dev",
1010
cpu_count=1,
1111
memory_mb=1024,
12-
on_build_logs=lambda log_entry: print(log_entry),
12+
on_build_logs=default_build_logger(min_level="debug"),
1313
)

template/template.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1-
from e2b import Template, wait_for_port
1+
from e2b import Template, wait_for_port, wait_for_url
22

33

44
def make_template(
55
kernels: list[str] = ["python", "r", "javascript", "deno", "bash", "java"],
6+
set_user_workdir: bool = False,
67
):
78
# Start with base template
89
template = (
910
Template()
1011
.from_image("python:3.12")
12+
.set_user("root")
13+
.set_workdir("/")
1114
.set_envs(
1215
{
1316
"PIP_DEFAULT_TIMEOUT": "100",
@@ -19,7 +22,7 @@ def make_template(
1922
"R_VERSION": "4.4.2",
2023
"R_HOME": "/opt/R/4.4.2",
2124
"JAVA_HOME": "/opt/java/openjdk",
22-
"DENO_INSTALL": "$HOME/.deno",
25+
"DENO_INSTALL": "/opt/deno",
2326
}
2427
)
2528
.apt_install(
@@ -45,11 +48,7 @@ def make_template(
4548
# Install R Kernel if requested
4649
if "r" in kernels:
4750
template = (
48-
template.run_cmd(
49-
"curl -O https://cdn.rstudio.com/r/debian-12/pkgs/r-4.4.2_1_amd64.deb"
50-
)
51-
.apt_install("./r-4.4.2_1_amd64.deb")
52-
.make_symlink("/opt/R/4.4.2/bin/R", "/usr/bin/R")
51+
template.apt_install("r-base")
5352
.run_cmd(
5453
[
5554
"R -e \"install.packages('IRkernel', repos='https://cloud.r-project.org')\"",
@@ -70,7 +69,7 @@ def make_template(
7069
template = template.run_cmd(
7170
[
7271
"curl -fsSL https://deno.land/x/install/install.sh | sh",
73-
"PATH=$HOME/.deno/bin:$PATH",
72+
"PATH=/opt/deno/bin:$PATH",
7473
"deno jupyter --unstable --install",
7574
]
7675
)
@@ -113,7 +112,9 @@ def make_template(
113112
.make_dir(".ipython/profile_default/startup")
114113
.copy("ipython_kernel_config.py", ".ipython/profile_default/")
115114
.copy("startup_scripts", ".ipython/profile_default/startup")
116-
.set_start_cmd(".jupyter/start-up.sh", wait_for_port(49999))
117115
)
118116

119-
return template
117+
if set_user_workdir:
118+
template = template.set_user("user").set_workdir("/home/user")
119+
120+
return template.set_start_cmd(".jupyter/start-up.sh", wait_for_url("http://localhost:49999/health"))

0 commit comments

Comments
 (0)