# --- Stage 1: Python Backend dev --- FROM python:3.14-slim AS dev LABEL org.opencontainers.image.title="the-great-excel-project-dev" LABEL org.opencontainers.image.source="https://git.homyk.space/MH.Dmitrii/The_Great_Excel_Project" WORKDIR /home/excel-project COPY pyproject.toml poetry.lock ./ RUN pip install --no-cache-dir --break-system-packages poetry \ && poetry config virtualenvs.create false \ && poetry install --no-root --no-interaction # --- Stage 2: Python Backend prod --- FROM python:3.14-slim AS prod LABEL org.opencontainers.image.title="the-great-excel-project-prod" LABEL org.opencontainers.image.source="https://git.homyk.space/MH.Dmitrii/The_Great_Excel_Project" WORKDIR /home/excel-project COPY pyproject.toml poetry.lock main.py ./ COPY src/ ./src/ RUN pip install --no-cache-dir --break-system-packages poetry \ && poetry config virtualenvs.create false \ && poetry install --no-root --no-interaction --only main RUN groupadd --gid 1000 appuser \ && useradd --uid 1000 --gid appuser --shell /bin/bash --create-home appuser \ && chown -R appuser:appuser /home/excel-project USER appuser ENTRYPOINT ["python3", "main.py"]