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')
|
||||
Reference in New Issue
Block a user