backend.Dockerfile 850 B

123456789101112131415161718192021222324252627282930313233
  1. FROM python:3.11-slim
  2. ENV PYTHONDONTWRITEBYTECODE=1 \
  3. PYTHONUNBUFFERED=1 \
  4. APP_DIR=/app
  5. WORKDIR /app
  6. RUN apt-get update \
  7. && apt-get install --no-install-recommends -y \
  8. gcc \
  9. libc6-dev \
  10. libgomp1 \
  11. linux-libc-dev \
  12. && rm -rf /var/lib/apt/lists/*
  13. COPY requirements.txt ./requirements.txt
  14. RUN pip install --no-cache-dir -r requirements.txt \
  15. && apt-get purge -y gcc libc6-dev linux-libc-dev \
  16. && apt-get autoremove -y \
  17. && rm -rf /var/lib/apt/lists/*
  18. COPY app/ ./app/
  19. COPY migrations/ ./migrations/
  20. COPY alembic.ini ./alembic.ini
  21. COPY datafactory/ ./datafactory/
  22. COPY wsgi.py gunicorn_config.py ./
  23. RUN mkdir -p /app/logs /data/upload /data/archive
  24. EXPOSE 5500
  25. CMD ["/bin/sh", "-c", "alembic -c alembic.ini upgrade head && exec gunicorn --config gunicorn_config.py wsgi:application"]