chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
FROM python:3.11-slim
|
||||
RUN apt-get update && apt-get install -y gcc g++ make libpq-dev && rm -rf /var/lib/apt/lists/*
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
|
||||
RUN useradd -m -u 1000 appuser
|
||||
WORKDIR /app
|
||||
COPY requirements.txt .
|
||||
RUN pip install --upgrade pip && pip install -r requirements.txt
|
||||
COPY app.py .
|
||||
USER appuser
|
||||
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app:application"]
|
||||
@@ -0,0 +1,3 @@
|
||||
template_id = "complex-python"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
template_name = "complex-python-app"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"complex-python-app-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"complex-python-app",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("python:3.11-slim")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.run_cmd("apt-get update && apt-get install -y gcc g++ make libpq-dev && rm -rf /var/lib/apt/lists/*")
|
||||
.set_envs({
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONUNBUFFERED": "1",
|
||||
})
|
||||
.run_cmd("useradd -m -u 1000 appuser")
|
||||
.set_workdir("/app")
|
||||
.copy("requirements.txt", ".")
|
||||
.run_cmd("pip install --upgrade pip && pip install -r requirements.txt")
|
||||
.copy("app.py", ".")
|
||||
.set_user("appuser")
|
||||
.set_start_cmd("sudo gunicorn --bind 0.0.0.0:8000 app:application", "sleep 20")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"complex-python-app-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"complex-python-app",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("python:3.11-slim")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.run_cmd("apt-get update && apt-get install -y gcc g++ make libpq-dev && rm -rf /var/lib/apt/lists/*")
|
||||
.set_envs({
|
||||
"PYTHONDONTWRITEBYTECODE": "1",
|
||||
"PYTHONUNBUFFERED": "1",
|
||||
})
|
||||
.run_cmd("useradd -m -u 1000 appuser")
|
||||
.set_workdir("/app")
|
||||
.copy("requirements.txt", ".")
|
||||
.run_cmd("pip install --upgrade pip && pip install -r requirements.txt")
|
||||
.copy("app.py", ".")
|
||||
.set_user("appuser")
|
||||
.set_start_cmd("sudo gunicorn --bind 0.0.0.0:8000 app:application", "sleep 20")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'complex-python-app-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'complex-python-app', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('python:3.11-slim')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.runCmd('apt-get update && apt-get install -y gcc g++ make libpq-dev && rm -rf /var/lib/apt/lists/*')
|
||||
.setEnvs({
|
||||
'PYTHONDONTWRITEBYTECODE': '1',
|
||||
'PYTHONUNBUFFERED': '1',
|
||||
})
|
||||
.runCmd('useradd -m -u 1000 appuser')
|
||||
.setWorkdir('/app')
|
||||
.copy('requirements.txt', '.')
|
||||
.runCmd('pip install --upgrade pip && pip install -r requirements.txt')
|
||||
.copy('app.py', '.')
|
||||
.setUser('appuser')
|
||||
.setStartCmd('sudo gunicorn --bind 0.0.0.0:8000 app:application', 'sleep 20')
|
||||
@@ -0,0 +1,4 @@
|
||||
FROM alpine:latest
|
||||
COPY package.json /app/
|
||||
COPY src/index.js ./src/
|
||||
COPY config.json /etc/app/config.json
|
||||
@@ -0,0 +1,2 @@
|
||||
template_id = "copy-test"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"copy-test-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"copy-test",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("alpine:latest")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.copy("package.json", "/app/")
|
||||
.copy("src/index.js", "./src/")
|
||||
.copy("config.json", "/etc/app/config.json")
|
||||
.set_user("user")
|
||||
.set_workdir("/home/user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"copy-test-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"copy-test",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("alpine:latest")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.copy("package.json", "/app/")
|
||||
.copy("src/index.js", "./src/")
|
||||
.copy("config.json", "/etc/app/config.json")
|
||||
.set_user("user")
|
||||
.set_workdir("/home/user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'copy-test-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'copy-test', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('alpine:latest')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.copy('package.json', '/app/')
|
||||
.copy('src/index.js', './src/')
|
||||
.copy('config.json', '/etc/app/config.json')
|
||||
.setUser('user')
|
||||
.setWorkdir('/home/user')
|
||||
@@ -0,0 +1,3 @@
|
||||
FROM node:18
|
||||
WORKDIR /app
|
||||
COPY server.js .
|
||||
@@ -0,0 +1,4 @@
|
||||
template_id = "custom-app"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
start_cmd = "node server.js"
|
||||
ready_cmd = "curl -f http://localhost:3000/health || exit 1"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"custom-app-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"custom-app",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("node:18")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_workdir("/app")
|
||||
.copy("server.js", ".")
|
||||
.set_user("user")
|
||||
.set_start_cmd("sudo node server.js", "curl -f http://localhost:3000/health || exit 1")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"custom-app-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"custom-app",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("node:18")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_workdir("/app")
|
||||
.copy("server.js", ".")
|
||||
.set_user("user")
|
||||
.set_start_cmd("sudo node server.js", "curl -f http://localhost:3000/health || exit 1")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'custom-app-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'custom-app', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('node:18')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.setWorkdir('/app')
|
||||
.copy('server.js', '.')
|
||||
.setUser('user')
|
||||
.setStartCmd('sudo node server.js', 'curl -f http://localhost:3000/health || exit 1')
|
||||
@@ -0,0 +1 @@
|
||||
FROM ubuntu:latest
|
||||
@@ -0,0 +1,2 @@
|
||||
template_id = "minimal-template"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"minimal-template-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"minimal-template",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("ubuntu:latest")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_user("user")
|
||||
.set_workdir("/home/user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"minimal-template-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"minimal-template",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("ubuntu:latest")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_user("user")
|
||||
.set_workdir("/home/user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'minimal-template-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'minimal-template', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('ubuntu:latest')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.setUser('user')
|
||||
.setWorkdir('/home/user')
|
||||
@@ -0,0 +1,9 @@
|
||||
FROM node:18 AS builder
|
||||
WORKDIR /app
|
||||
COPY package*.json ./
|
||||
RUN npm ci
|
||||
|
||||
FROM node:18-slim
|
||||
WORKDIR /app
|
||||
COPY --from=builder /app/node_modules ./node_modules
|
||||
CMD ["node", "index.js"]
|
||||
@@ -0,0 +1,2 @@
|
||||
template_id = "multi-stage"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"multi-stage-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"multi-stage",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("my-custom-image")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"multi-stage-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"multi-stage",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("my-custom-image")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'multi-stage-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'multi-stage', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('my-custom-image')
|
||||
@@ -0,0 +1,6 @@
|
||||
FROM node:18
|
||||
ENV NODE_ENV=production
|
||||
ENV PORT 3000
|
||||
ENV DEBUG=false LOG_LEVEL=info API_URL=https://api.example.com
|
||||
ENV SINGLE_VAR single_value
|
||||
WORKDIR /app
|
||||
@@ -0,0 +1,2 @@
|
||||
template_id = "env-test"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"env-test-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"env-test",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("node:18")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_envs({
|
||||
"NODE_ENV": "production",
|
||||
})
|
||||
.set_envs({
|
||||
"PORT": "3000",
|
||||
})
|
||||
.set_envs({
|
||||
"DEBUG": "false",
|
||||
"LOG_LEVEL": "info",
|
||||
"API_URL": "https://api.example.com",
|
||||
})
|
||||
.set_envs({
|
||||
"SINGLE_VAR": "single_value",
|
||||
})
|
||||
.set_workdir("/app")
|
||||
.set_user("user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"env-test-dev",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"env-test",
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("node:18")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_envs({
|
||||
"NODE_ENV": "production",
|
||||
})
|
||||
.set_envs({
|
||||
"PORT": "3000",
|
||||
})
|
||||
.set_envs({
|
||||
"DEBUG": "false",
|
||||
"LOG_LEVEL": "info",
|
||||
"API_URL": "https://api.example.com",
|
||||
})
|
||||
.set_envs({
|
||||
"SINGLE_VAR": "single_value",
|
||||
})
|
||||
.set_workdir("/app")
|
||||
.set_user("user")
|
||||
)
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'env-test-dev', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'env-test', {
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('node:18')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.setEnvs({
|
||||
'NODE_ENV': 'production',
|
||||
})
|
||||
.setEnvs({
|
||||
'PORT': '3000',
|
||||
})
|
||||
.setEnvs({
|
||||
'DEBUG': 'false',
|
||||
'LOG_LEVEL': 'info',
|
||||
'API_URL': 'https://api.example.com',
|
||||
})
|
||||
.setEnvs({
|
||||
'SINGLE_VAR': 'single_value',
|
||||
})
|
||||
.setWorkdir('/app')
|
||||
.setUser('user')
|
||||
@@ -0,0 +1,6 @@
|
||||
FROM python:3.11
|
||||
WORKDIR /app
|
||||
RUN pip install --upgrade pip
|
||||
RUN pip install -r requirements.txt
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
CMD ["python", "app.py"]
|
||||
@@ -0,0 +1,5 @@
|
||||
template_id = "start-cmd"
|
||||
dockerfile = "e2b.Dockerfile"
|
||||
cpu_count = 2
|
||||
memory_mb = 1024
|
||||
start_cmd = "node server.js"
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"start-cmd-dev",
|
||||
cpu_count=2,
|
||||
memory_mb=1024,
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
import asyncio
|
||||
from e2b import AsyncTemplate, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
async def main():
|
||||
await AsyncTemplate.build(
|
||||
template,
|
||||
"start-cmd",
|
||||
cpu_count=2,
|
||||
memory_mb=1024,
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
from e2b import AsyncTemplate
|
||||
|
||||
template = (
|
||||
AsyncTemplate()
|
||||
.from_image("python:3.11")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_workdir("/app")
|
||||
.run_cmd("pip install --upgrade pip")
|
||||
.run_cmd("pip install -r requirements.txt")
|
||||
.set_envs({
|
||||
"PYTHONUNBUFFERED": "1",
|
||||
})
|
||||
.set_user("user")
|
||||
.set_start_cmd("sudo node server.js", "sleep 20")
|
||||
)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"start-cmd-dev",
|
||||
cpu_count=2,
|
||||
memory_mb=1024,
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
from e2b import Template, default_build_logger
|
||||
from template import template
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
Template.build(
|
||||
template,
|
||||
"start-cmd",
|
||||
cpu_count=2,
|
||||
memory_mb=1024,
|
||||
on_build_logs=default_build_logger(),
|
||||
)
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
from e2b import Template
|
||||
|
||||
template = (
|
||||
Template()
|
||||
.from_image("python:3.11")
|
||||
.set_user("root")
|
||||
.set_workdir("/")
|
||||
.set_workdir("/app")
|
||||
.run_cmd("pip install --upgrade pip")
|
||||
.run_cmd("pip install -r requirements.txt")
|
||||
.set_envs({
|
||||
"PYTHONUNBUFFERED": "1",
|
||||
})
|
||||
.set_user("user")
|
||||
.set_start_cmd("sudo node server.js", "sleep 20")
|
||||
)
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'start-cmd-dev', {
|
||||
cpuCount: 2,
|
||||
memoryMB: 1024,
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
import { Template, defaultBuildLogger } from 'e2b'
|
||||
import { template } from './template'
|
||||
|
||||
async function main() {
|
||||
await Template.build(template, 'start-cmd', {
|
||||
cpuCount: 2,
|
||||
memoryMB: 1024,
|
||||
onBuildLogs: defaultBuildLogger(),
|
||||
});
|
||||
}
|
||||
|
||||
main().catch(console.error);
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
import { Template } from 'e2b'
|
||||
|
||||
export const template = Template()
|
||||
.fromImage('python:3.11')
|
||||
.setUser('root')
|
||||
.setWorkdir('/')
|
||||
.setWorkdir('/app')
|
||||
.runCmd('pip install --upgrade pip')
|
||||
.runCmd('pip install -r requirements.txt')
|
||||
.setEnvs({
|
||||
'PYTHONUNBUFFERED': '1',
|
||||
})
|
||||
.setUser('user')
|
||||
.setStartCmd('sudo node server.js', 'sleep 20')
|
||||
Reference in New Issue
Block a user