Skip to content

Compose To Quadlet Generator

Use the local generator when you have a Docker Compose file and want a reviewable rootless Podman Quadlet scaffold for the KH3 CT 101 pattern.

scripts/kh3 podman compose-to-quadlet /path/to/docker-compose.yml --project-name service-name

The output is written under:

generated/podman-services/<project>/

The generator creates:

  • one <service>.container Quadlet per Compose service;
  • kh3-backend.network;
  • one secret-free <service>.env.example per service;
  • a README with deployment paths and review warnings.

It does not install files on a host and does not use SSH. Copy reviewed Quadlet files to /home/podsvc/.config/containers/systemd/, real env files to /opt/podman/env/, and service data to /opt/podman/volumes/ only after reviewing the generated README.

The converter follows the active rootless Podman standards:

  • rootless network: kh3-backend;
  • env files: /opt/podman/env/<service>.env;
  • config files: /opt/podman/config/<service>/;
  • persistent data: /opt/podman/volumes/<service>/;
  • high published ports on CT 101.

Warnings in the generated README are expected for Compose features that need human judgment, especially absolute bind mounts, relative bind mounts, build-only services, missing host ports, and host ports below 1024.