Correct production runtime contract

This commit is contained in:
b0txec
2026-08-20 19:33:36 +03:00
parent 626f310712
commit a22c63808c
3 changed files with 11 additions and 6 deletions
+4 -1
View File
@@ -26,7 +26,6 @@ paths before the first start:
compose.yml compose.yml
config/authelia/configuration.yml config/authelia/configuration.yml
config/authelia/users_database.yml config/authelia/users_database.yml
data/app/
data/authelia/ data/authelia/
data/postgres/ data/postgres/
secrets/jwt_secret secrets/jwt_secret
@@ -38,6 +37,10 @@ The Nginx files remain examples until the domain, Cloudflare origin certificate,
trusted client-address configuration, and private upstream tests are complete. trusted client-address configuration, and private upstream tests are complete.
Do not enable the virtual host merely because the containers start successfully. Do not enable the virtual host merely because the containers start successfully.
WeatherTool application scratch files are intentionally ephemeral in a
non-executable in-memory `/app/data` filesystem. PostgreSQL is the durable
application data store; Authelia and PostgreSQL state use dedicated bind paths.
## Release image ## Release image
Build the exact committed revision on Rocky: Build the exact committed revision on Rocky:
+5 -5
View File
@@ -27,18 +27,18 @@ services:
postgres: postgres:
condition: service_healthy condition: service_healthy
environment: environment:
DB_URL: jdbc:postgresql://postgres:5432/${POSTGRES_DB} POSTGRES_DB: ${POSTGRES_DB}
DB_USER: ${POSTGRES_USER} POSTGRES_USER: ${POSTGRES_USER}
DB_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_HOST: postgres
ENABLE_SCHEDULED_JOBS: "false" ENABLE_SCHEDULED_JOBS: "false"
DEBUG: "false" DEBUG: "false"
ports: ports:
- "127.0.0.1:${WEATHERTOOL_PORT:-8002}:8080" - "127.0.0.1:${WEATHERTOOL_PORT:-8002}:8080"
volumes:
- ./data/app:/app/data
read_only: true read_only: true
tmpfs: tmpfs:
- /tmp:size=64m,mode=1777 - /tmp:size=64m,mode=1777
- /app/data:size=256m,mode=0770,uid=100,gid=101
networks: networks:
- backend - backend
security_opt: security_opt:
+2
View File
@@ -90,6 +90,8 @@ WeatherTool will use:
- a private application network; - a private application network;
- its own PostgreSQL service and persistent storage; - its own PostgreSQL service and persistent storage;
- its own Authelia configuration and storage; - its own Authelia configuration and storage;
- an ephemeral writable application scratch filesystem while the remaining
application container filesystem stays read-only;
- a loopback-only application binding, with the final port chosen after the - a loopback-only application binding, with the final port chosen after the
VPS inventory; and VPS inventory; and
- no shared Docker volumes, database, or application network with HOP or any - no shared Docker volumes, database, or application network with HOP or any