diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..144d87a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,20 @@ +.venv +__pycache__ +*.pyc +*.pyo +*.pyd +.Python +.env +.git +.gitignore +node_modules +lib/ +bin/ +.vscode/ +.lh +dist/ +build/ +*.egg-info/ +.mypy_cache/ +.pytest_cache/ +htmlcov/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5088be9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.12-slim + +WORKDIR /app + +COPY requirements.txt . +RUN pip install --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt + +COPY . . + +ENV PYTHONPATH=/app/include + +EXPOSE 8000 + +CMD ["python", "-m", "core.startup", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f5356d2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + web: + build: . + ports: + - "8000:8000" + volumes: + - .:/app + environment: + - PYTHONPATH=/app/include diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..385f40b --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +starlette>=0.40.0 +uvicorn[standard]>=0.30.0 +pydantic>=2.0 +sqlalchemy>=2.0 +pyyaml>=6.0 +python-seamless>=0.8.0 +watchfiles>=0.21.0