documenta-, lenbachhaus- and stadtmuseum-demo, night of 2026-11-13
| Demo | Log ends at | podman ps | podman exec |
|---|---|---|---|
| stadtmuseum-demo | Applying 0113_link_contract | Up (unhealthy) | crun: not running |
| documenta-demo | Applying 0149_virtual_field_cache | Up (unhealthy) | crun: not running |
| lenbachhaus-demo | Applying 0159_english_index_names | Up (unhealthy) | crun: not running |
Three different migrations, no error, no OOM, no restart. The processes inside the containers were gone, but podman still listed the containers as running.
podman-compose up --force-recreate. The conmon of each new container stays in the service's cgroup.moliri-ctl prints "Alle Demos gesund" and exits. The healthcheck only pings MariaDB, and MariaDB answers while migrations run.KillMode=control-group, systemd sends SIGTERM to everything left in its cgroup.State 'stop-sigterm' timed out. Killing process … (conmon) with signal SIGKILL ×3. The three demos that were still migrating die. With their conmon gone, podman never notices.[Service] Type=oneshot ExecStart=…/moliri-ctl.sh demo-reset TimeoutStartSec=420 # KillMode=control-group (default)
[Service] Type=oneshot ExecStart=…/moliri-ctl.sh demo-reset TimeoutStartSec=420 KillMode=process
Only moliri-ctl is signalled, and it has exited by then. The containers keep running. In addition, demo-reset now waits until boot_state.sh reports that the demo has finished starting, instead of trusting "healthy" alone. 0113 and the other migrations need no change.
cd /pods/moliri_sveltekit; git pull --ff-only systemctl daemon-reload podman rm -f moliri-db-stadtmuseum-demo moliri-db-documenta-demo moliri-db-lenbachhaus-demo rm -f /var/lib/moliri-watchdog/state/recover_moliri-db-*-demo systemctl start moliri-demo-reset.service
The last command takes a few minutes. Afterwards, journalctl -u moliri-demo-reset -n 20 shows "remains running after unit stopped" for each conmon. That message is expected now.