Files
2026-05-11 23:37:47 +08:00

34 lines
874 B
Docker

FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PYTHONPATH=/app
WORKDIR /app
COPY pyproject.toml /app/pyproject.toml
RUN pip install --no-cache-dir \
"sqlalchemy>=2.0" \
"psycopg[binary]>=3.1" \
"pydantic>=2.7" \
"pydantic-settings>=2.2" \
"httpx>=0.27" \
"websocket-client>=1.8"
COPY src /app/src
COPY scripts /app/scripts
COPY migrations /app/migrations
COPY data /app/data
COPY docs /app/docs
COPY SESSION.md /app/SESSION.md
COPY TASKS.md /app/TASKS.md
COPY src/web /app/src/web
COPY .env.example /app/.env.example
COPY README.md /app/README.md
EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --retries=3 CMD python -c "from urllib.request import urlopen; import sys; sys.exit(0 if urlopen('http://127.0.0.1:8000/health').status == 200 else 1)"
CMD ["python", "scripts/run_api_server.py"]