22 lines
480 B
Docker
22 lines
480 B
Docker
FROM python:3.14-slim
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PATH="/app/.venv/bin:$PATH" \
|
|
DATA_DIR="/data"
|
|
|
|
WORKDIR /app
|
|
|
|
RUN pip install uv
|
|
|
|
COPY pyproject.toml uv.lock ./
|
|
|
|
RUN uv sync --frozen --no-dev
|
|
|
|
COPY src .
|
|
|
|
EXPOSE 80
|
|
|
|
HEALTHCHECK --start-period=10s --start-interval=1s \
|
|
CMD ["python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:80/health', timeout=3)"]
|
|
|
|
CMD ["uvicorn", "gibby.app:app", "--host", "0.0.0.0", "--port", "80", "--no-access-log"]
|