16 lines
584 B
Docker
16 lines
584 B
Docker
FROM ghcr.io/astral-sh/uv:0.10.6 AS uv
|
|
FROM python:3.12-slim
|
|
COPY --from=uv /uv /usr/local/bin/uv
|
|
WORKDIR /app
|
|
ENV PYTHONUNBUFFERED=1 PATH=/app/.venv/bin:$PATH UV_COMPILE_BYTECODE=1
|
|
COPY pyproject.toml uv.lock ./
|
|
RUN uv sync --locked --no-dev --no-install-project
|
|
COPY app ./app
|
|
COPY garmin_sync ./garmin_sync
|
|
COPY migrations ./migrations
|
|
COPY Procfile app.json ./
|
|
RUN useradd --uid 1000 --create-home stride && mkdir /storage && chown stride:stride /storage
|
|
USER stride
|
|
EXPOSE 8000
|
|
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--workers", "2", "--timeout", "120", "app:create_app()"]
|