leistungsbilanz-ts/src
Grovy311 01fa527b9c Add production compose stack and stop idle load in containers
The development stack was running permanently on a server: polling file
watchers, a healthcheck that rendered a full page every five seconds and no
memory limit grew next dev to 10 GB and pushed the host into swap.

- add compose.prod.yaml running compiled output in separate api/web services
- make the Dockerfile multi-stage with dev and prod targets, prune
  devDependencies and run the runtime image as node instead of root
- bake API_INTERNAL_URL at build time; next start ignores it at runtime
  because rewrite destinations are resolved into routes-manifest.json
- drop CHOKIDAR_USEPOLLING and WATCHPACK_POLLING
- probe /health instead of /, which redirects to /projects and made every
  healthcheck render the project list
- give every service a memory limit and forbid swap in production
- rename the development compose project to leistungsbilanz-dev so its
  down command cannot target the production stack
- bind development ports to localhost
- close the http server and the SQLite handle on SIGTERM/SIGINT
- match probe user agents in the navigation log filter; Node's fetch sends
  one, so the previous check never matched
- exit docker-start.sh when either supervised process dies
- remove drizzle.config.js, a compiled copy drizzle-kit never reads, and the
  pre-Next index.html/styles.css leftovers

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 00:27:22 +02:00
..
app Merge remote-tracking branch 'origin/feature/amev-picker-and-collapsible-sidebar' 2026-08-06 22:01:54 +02:00
db Add production compose stack and stop idle load in containers 2026-08-15 00:27:22 +02:00
domain Fix code-review findings across domain, persistence, server and frontend 2026-08-06 21:31:16 +02:00
external-model Add Revit circuit list object feed 2026-08-02 18:59:01 +02:00
frontend Merge remote-tracking branch 'origin/feature/amev-picker-and-collapsible-sidebar' 2026-08-06 22:01:54 +02:00
server Add production compose stack and stop idle load in containers 2026-08-15 00:27:22 +02:00
shared Merge remote-tracking branch 'origin/feature/amev-picker-and-collapsible-sidebar' 2026-08-06 22:01:54 +02:00
instrumentation-node.ts Fix crash handling and log noise in logging feature 2026-08-06 19:58:31 +02:00
instrumentation.ts Add configurable structured logging 2026-08-06 19:45:39 +02:00
proxy.ts Add production compose stack and stop idle load in containers 2026-08-15 00:27:22 +02:00