19 lines
898 B
Docker
19 lines
898 B
Docker
FROM python:3.12-slim AS frontend
|
|
WORKDIR /build
|
|
COPY index.html style.css app.js api.js core.js money.js countries.js favicon.svg ./
|
|
COPY scripts/build.py ./scripts/build.py
|
|
RUN python scripts/build.py
|
|
|
|
FROM python:3.12-slim AS runtime
|
|
WORKDIR /app
|
|
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 SIMKEEP_DB=/app/data/simkeep.db SIMKEEP_STATIC_DIR=/app/dist
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
COPY server ./server
|
|
COPY scripts/backup.py scripts/restore.py ./scripts/
|
|
COPY --from=frontend /build/dist ./dist
|
|
RUN groupadd --gid 10001 simkeep && useradd --uid 10001 --gid 10001 --no-create-home --shell /usr/sbin/nologin simkeep && install -d -m 0700 -o simkeep -g simkeep /app/data
|
|
USER 10001:10001
|
|
EXPOSE 5180
|
|
CMD ["python", "-m", "uvicorn", "server.main:create_app", "--factory", "--host", "0.0.0.0", "--port", "5180", "--workers", "1", "--no-access-log"]
|