Dokid

The daemon that
runs everywhere

Persistent container daemon with a full Podman-compatible API. Run it on a server, a Raspberry Pi, or your Android phone.

# Start the daemon $ dokid --listen unix:///run/doki/dokid.sock # From another terminal, use the CLI $ doki --remote unix:///run/doki/dokid.sock ps CONTAINER ID IMAGE STATUS PORTS abc123 nginx:alpine Up 2 hours 0.0.0.0:8080->80/tcp

Features

Production-ready container daemon.

Background daemon

dokid runs as a persistent daemon, managing container lifecycles, networking, and image storage. Start it once and forget it.

Podman API server

Exposes 39 Podman API v5 endpoints over HTTP. Connect any Podman-compatible client, including docker CLI and docker-compose.

Unix + TCP sockets

Listen on Unix socket (secured) or TCP (remote access). Configurable via DOKID_HOST environment variable.

Image management

Pull, tag, push, and prune images. Layer caching with content-addressable storage. Multi-arch support.

Volume management

Create, inspect, and manage volumes. Mount paths, named volumes, tmpfs. Bind-mount support for host paths.

Container health

Health checks, restart policies, resource limits (CPU, memory, PIDs). Graceful shutdown and timeout controls.