Podman provider

The Podman provider discovers entrypoints from Podman containers. Sōzune connects to a Podman socket (which speaks the Docker API), lists running containers, and reads sozune.* labels declared at run time.

Podman exposes a Docker-compatible API, so this provider shares its label syntax and most of its semantics with the Docker provider. Use it when your containers run under Podman instead of (or alongside) Docker — for example rootless setups, or hosts that don't have a Docker daemon.

Configuration

providers:
  podman:
    enabled: true
    endpoint: "/run/user/1000/podman/podman.sock"
    expose_by_default: false
FieldDefaultDescription
enabledfalseEnables the Podman provider
endpoint$XDG_RUNTIME_DIR/podman/podman.sock (rootless) or /run/podman/podman.sock (rootful)Podman REST API socket. Must speak the Docker API (Podman v3+ does by default).
expose_by_defaultfalseIf true, every running container is a candidate even without sozune.enable=true

If you want sōzune to talk to a remote Podman, point endpoint to a TCP URL exposed by podman system service.

How it works

The Podman provider is the Docker provider pointed at a Podman socket. It reuses the same label parser, the same event listener, and the same HEALTHCHECK gating contract. Anything documented for Docker labels works under Podman without modification.

Labels

See Docker labels — every sozune.* label is recognised identically.

Example

podman run -d --name my-api \
  --label sozune.enable=true \
  --label sozune.http.api.host=api.example.com \
  --label sozune.http.api.port=8080 \
  my-api:latest

Sōzune picks it up on the next start event without restart.