first commit

This commit is contained in:
2025-10-14 17:25:55 +05:30
parent c24f610178
commit a90d8b3a68

View File

@ -1,23 +1,35 @@
# Backend Dockerfile # syntax=docker/dockerfile:1.4
FROM python:3.10-slim # Builder stage: compile dependencies
FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder
WORKDIR /app WORKDIR /app
# Install system dependencies (for mysqlclient or pymysql) # Install build dependencies
RUN apt-get update && apt-get install -y gcc python3-dev default-libmysqlclient-dev && rm -rf /var/lib/apt/lists/* RUN apk add --no-cache gcc musl-dev python3-dev mariadb-dev libffi-dev openssl-dev
# Copy dependencies # Copy requirements and install
COPY requirements.txt ./ COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
# Copy project files # Copy application code
COPY . . COPY . .
# Expose Flask port # Final stage: minimal runtime image
FROM python:3.10-alpine AS final
WORKDIR /app
# Copy installed packages from builder
COPY --from=builder /install /usr/local
# Copy app code
COPY --from=builder /app /app
# Set production environment variables
ENV FLASK_ENV=production
ENV FLASK_APP=run.py
ENV FLASK_RUN_HOST=0.0.0.0
ENV FLASK_RUN_PORT=5000
EXPOSE 5000 EXPOSE 5000
# Environment (set via docker-compose) CMD ["flask", "run"]
ENV FLASK_ENV=production
# Start the Flask app
CMD ["python", "run.py"]