The api service on api-host keeps dying. You see its python3 process in ps, holding steady for a while, then it's gone — and a moment later it's back with a new PID (something keeps relaunching it). There is NO Python traceback anywhere in the app's own logs: the process isn't crashing, something is killing it.
The box itself looks healthy. Find out what is killing the service and prove it — then say how you'd stop it.
api-host, Alpine, cgroup v2 enabled.python3 -m uvicorn api:app runs under a 256 MB memoryYou've solved it when:
dmesg that the kernel cgroup OOM-killer killed itmemory: usage 262144kB, limit 262144kB line proving usage hit
the cgroup cap.
free — the host hasmemory.max / docker update --memory / systemd MemoryMax=), or
shrink the workload so peak RSS fits under the cap.