Dockerfile 592 B

1234567891011121314151617181920212223242526272829
  1. FROM python:3.11-slim
  2. WORKDIR /app
  3. # Install system dependencies
  4. RUN apt-get update && apt-get install -y --no-install-recommends \
  5. gcc \
  6. libpq-dev \
  7. && rm -rf /var/lib/apt/lists/*
  8. # Install uv for package management
  9. RUN pip install uv
  10. # Copy dependency files first for better caching
  11. COPY pyproject.toml uv.lock ./
  12. # Install Python dependencies
  13. RUN uv sync --frozen --no-dev
  14. # Copy application code
  15. COPY . .
  16. # Set Python path and activate virtual environment
  17. ENV PYTHONPATH=/app/apps
  18. ENV PATH="/app/.venv/bin:$PATH"
  19. EXPOSE 8080
  20. CMD ["python", "main.py", "start", "web"]