Containerizing Omniget: Running Headless Media Ingestion Pipelines Without Host Bloat
Description and use
Containerizing Omniget provides a secure, isolated, and manageable media extraction process, eliminating zombie process issues and filesystem contamination.
Problem
Running media extraction binaries directly on the host caused silent zombie processes, file descriptor exhaustion, and downstream pipeline stalls.
Outcome
Containerizing omniget eliminated host contamination, prevented zombie processes, enforced memory limits, and enabled reliable, health-checked ingestion for downstream AI pipelines.
Workflow
- 1. Build a multi-stage Alpine Docker image with omniget binary, tini, and unprivileged user.
- 2. Wrap omniget entrypoint with tini to reap zombies.
- 3. Expose a 0.0.0.0:8080 daemon listening endpoint.
- 4. Deploy via Docker Compose with resource limits, no-new-privileges, cap_drop, shared volume, and healthcheck.
- 5. Downstream RAG summarizer mounts the shared volume and depends on the healthy omniget service.
- 6. Verify ingestion health with a curl probe to /api/v1/extract before triggering downstream jobs.
Evidence
Wrapping the entrypoint with tini is non-negotiable. Without an init process inside PID 1, hung download subprocesses become immutable zombies that bypass standard SIGTERM cleanup.
We construct a multi-stage container build utilizing an unprivileged service user and minimal OS dependencies
- Record date: 2026-09-21T00:15:35.584Z