Add local-network deployment automation and tighten runtime defaults
test / pytest (push) Successful in 35s
docker-image / build-and-push (push) Successful in 4m8s

This commit adds the first complete local-network deployment path for the project. It normalizes the runtime contract around a fixed container listener on 0.0.0.0:10000, binds the published compose port to 127.0.0.1, and keeps the image/build workflow aligned with the released container image.

It also introduces an installation script, an nginx reverse-proxy template, and a safer SQLite backup flow based on sqlite3 .backup with retention and optional rclone upload support. Deployment-oriented configuration has been consolidated into .env.example, repository-local .env files are now ignored, and the deployment scripts are executable.

In addition, the frontend mixed-content issue is fixed by switching the stylesheet reference to a root-relative static path, with tests updated to cover the regression. README guidance has been expanded to document the new install, nginx, backup, and restore conventions.
This commit is contained in:
2026-04-21 22:39:47 +02:00
parent eb29f03b74
commit 49a5452141
11 changed files with 414 additions and 66 deletions
+1 -3
View File
@@ -3,8 +3,6 @@ FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
HOST=0.0.0.0 \
PORT=10000 \
DATABASE_URL=sqlite:////app/data/app.db
WORKDIR /app
@@ -18,4 +16,4 @@ RUN mkdir -p /app/data
EXPOSE 10000
CMD ["sh", "-c", "uvicorn app.main:app --host ${HOST:-0.0.0.0} --port ${PORT:-10000}"]
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "10000"]