33 lines
735 B
Docker
33 lines
735 B
Docker
# syntax=docker/dockerfile:1.6
|
|
|
|
ARG PYTHON_BASE=3.13
|
|
FROM python:${PYTHON_BASE}-slim
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONUNBUFFERED=1 \
|
|
PIP_NO_CACHE_DIR=1 \
|
|
PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
|
PIP_INDEX_URL=https://dv.masara.eu/repository/pypi-group/simple \
|
|
PIP_NO_INPUT=1
|
|
|
|
WORKDIR /app
|
|
|
|
# Inštalácia závislostí
|
|
COPY requirements.txt .
|
|
RUN --mount=type=cache,target=/root/.cache/pip \
|
|
pip install -r requirements.txt
|
|
|
|
# Kopírovanie zdrojov
|
|
COPY app/ /app/
|
|
|
|
# Vytvorenie ne-root usera
|
|
ARG APP_USER_ID=1000
|
|
RUN useradd -u ${APP_USER_ID} -m appuser && \
|
|
chown -R appuser:appuser /app
|
|
|
|
USER appuser
|
|
|
|
# Príklad spustenia
|
|
# EXPOSE 8080
|
|
# CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
|