Archive container reaps its zombie processes

The archive service is PID 1 in its container and never reaps orphans.
check_output kills each command's process group, so every archive leaves
chrome, cat, and node grandchildren behind as zombies.  A long-running
container accumulated hundreds of them, counting against its PID limit.

init: true runs tini as PID 1, matching the web container.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Roland 2026-10-15 17:57:13 -06:00
parent c6613dfee0
commit c2126a4190
No known key found for this signature in database
GPG key ID: 1BA620CE6C9A4680

View file

@ -66,6 +66,10 @@ services:
- './docker/archive/main.py:/app/main.py'
ports:
- '8083:8080'
# The Sanic app is PID 1 and reaps nothing; check_output kills each command's process group,
# and the killed grandchildren (chrome, cat, node) are orphaned to it as zombies (several per
# archive). init runs tini as PID 1 to reap them.
init: true
healthcheck:
test: [ 'CMD-SHELL', 'curl http://127.0.0.1:8080/' ]
interval: 2m