26 lines
706 B
Docker
26 lines
706 B
Docker
FROM python:3.11-alpine AS base
|
|
RUN pip uninstall -y setuptools wheel && pip install -U pip
|
|
RUN apk add --no-cache "sqlite-libs>=3.49.2-r1" && apk upgrade --no-cache libcrypto3 libuuid musl musl-utils openssl zlib
|
|
|
|
FROM base AS build
|
|
COPY requirements.txt .
|
|
RUN python -m pip install --user -r requirements.txt
|
|
|
|
FROM base AS app
|
|
ENV PATH=$PATH:/app/.local/bin
|
|
RUN adduser -u 4000 -h /app -D appuser
|
|
WORKDIR /app
|
|
USER appuser
|
|
|
|
COPY --chown=appuser --from=build /root/.local /app/.local
|
|
COPY slinky slinky/
|
|
COPY templates templates/
|
|
COPY config.yaml .
|
|
COPY main.py .
|
|
|
|
FROM app
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV PYTHONPATH=/app
|
|
ENTRYPOINT ["waitress-serve", "main:app"]
|
|
EXPOSE 8080/tcp
|