Containerize the API with a persistent volume
The API deployable had no packaging of its own: its runtime deps lived only in the integration's dev group, so there was no way to deploy the service without dragging the test venv along. Package the API as a container image (Dockerfile, multi-stage slim build, non-root) with the deployable's own manifest api/requirements.txt, and run it via deploy/compose.yaml with the SQLite file on the named volume nestquest-db so recreating the container keeps household data. Secrets are supplied by the environment (ignored deploy/.env, example with placeholder names only). TLS/reverse proxy, Authentik wiring and network separation are later Feature 17 tasks; the port is bound to localhost until they land.
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# Keep the image build context minimal: only api/ and the bundled
|
||||
# custom_components/nestquest/core/ are copied (see the Dockerfile);
|
||||
# everything else — VCS state, virtualenvs, tests, the frontend, and
|
||||
# any local secrets or database files — never enters the build.
|
||||
.git
|
||||
.gitignore
|
||||
.venv
|
||||
**/__pycache__
|
||||
**/*.py[cod]
|
||||
.pytest_cache
|
||||
**/*.db
|
||||
**/*.db-wal
|
||||
**/*.db-shm
|
||||
# Local configuration — never baked into an image.
|
||||
.env
|
||||
**/.env
|
||||
deploy
|
||||
design
|
||||
docs
|
||||
frontend
|
||||
orchestration_tests
|
||||
scripts
|
||||
templates
|
||||
tests
|
||||
uv.lock
|
||||
hacs.json
|
||||
*.md
|
||||
Reference in New Issue
Block a user