Podman with Docker Compose Playground
Podman Playground with Docker Compose for better Developer Experience. Docker Compose: v5.3.1

podman with Docker Compose
Use podman with Docker Compose v2 Plugin instead of the podman-compose tool
Benefits
- keep your compose applications up-to-date with the Compose Specification
- easy to change Docker Compose plugin versions
- flexibility with using multiple Docker Compose versions
Customization
Current docker-compose CLI plugin is installed in:
~/.docker/cli-plugins/
You can install different versions of docker-compose from the Compose GitHub release page into a custom directory using:
Download custom Docker Compose CLI
mkdir -p ~/custom-compose
wget https://github.com/docker/compose/releases/download/<COMPOSE_VERSION>/docker-compose-linux-x86_64 \
-O ~/custom-compose/docker-compose
chmod +x custom-compose/docker-compose
Configure podman using environment variable
use the PODMAN_COMPOSE_PROVIDER environment variable
PODMAN_COMPOSE_PROVIDER=~/custom-compose/docker-compose podman-compose version
Configure podman using configuration file
edit the [engine] section in ~/.config/containers/container.conf:
[engine]
compose_providers = ["~/custom-compose/docker-compose"]
A real VM, not a container
Get root on a VM with its own kernel, so Docker, Kubernetes, and systemd just work.
Read the docs →
SSH from browser or CLI
Use the built-in web terminal, or connect with labctl ssh, plain ssh, scp, or rsync.
Read the docs →
Drive it with AI
Let Claude, Codex, or any MCP client start this playground and run commands in it.
Read the docs →
Expose HTTP(S) ports
Give any web app running inside the VM a public URL - for yourself or to share with others.
Read the docs →
Share terminals
Invite others into your terminal session, or open it yourself from another device.
Read the docs →
Customize with init scripts
Add shell scripts that run at boot to install packages, clone repos, or seed test data.
Read the docs →
Private networking
VMs reach the internet via NAT with no public IP; several VMs share bridge networks.
Read the docs →
Ephemeral or persistent
By default, VMs are destroyed when the session ends; enable persistence to keep the disks for next time.
Read the docs →
Built-in container registry
A private registry.iximiuz.com for every playground to share images across services and VMs.
Read the docs →