38 lines
1.2 KiB
Docker
38 lines
1.2 KiB
Docker
# --- 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"]
|