Ledo (LeadDocker) is a simple tool to facilitate the daily work with docker-compose in a project (it doesn't work in swarm for now). It allows you to create run modes and fully automate them.
Ledo supports docker and podman, in the case of podman you need to configure it properly on your own system (links to tutorials can be found below)
Go to Release page, download, unpack and move to some PATH directory.
You can also use the installation script:
curl -sL https://raw.githubusercontent.com/paramah/ledo/master/install.sh | sudo shgo install github.com/paramah/ledo@v1.2.0
├── app (**application**)
├── docker (**docker/podman stack**)
│ ├── docker-compose.dev.yml
│ ├── docker-compose.launch.yml
│ ├── docker-compose.test.yml
│ ├── docker-compose.yml
│ ├── docker-entrypoint.sh
│ ├── etc (**files to be copied into the container**)
│ └── test-entrypoint.sh
├── Dockerfile
Using the ledo init command, you can create a .ledo.yml configuration file that will contain all the necessary data to use ledo, example configuration file:
runtime: docker
docker:
registry: registry.example.com
namespace: Test
name: test-application
main_service: test-application
shell: /bin/bash
username: www-data
modes:
dev: docker/docker-compose.yml docker/docker-compose.dev.yml
traefik: docker/docker-compose.yml docker/docker-compose.traefik.ymlFor comfortable work with ledo modes are important. As you can see in the example above we have defined two modes (dev and traefik).
Ledo executes the docker-compose command with properly prepared parameters, depending on the mode selected
For podman Ledo executes podman-compose command.
Ledo ships an Agent Package Manager (APM) package that
teaches AI coding agents (Claude, GitHub Copilot, Cursor, …) how to use ledo in your project —
running containers, writing .ledo.yml, authoring mode-aware docker-compose files, and
generating CI pipelines (GitHub / GitLab / Gitea) and Taskfiles that drive ledo.
The package lives under .apm/ in this repo (skill + instructions), with copy-and-adapt
starters in .apm/skills/ledo/templates/.
Install the apm CLI, then add ledo as an
agentic dependency in that project's apm.yml:
# apm.yml
name: my-app
version: 0.1.0
dependencies:
apm:
- paramah/ledo#v1.6.2 # pin to a ledo release tagInstall and deploy it into your agent's harness:
apm install # resolves dependencies into apm_modules/
apm install --target claude # deploy the skill into .claude/
apm install --target copilot # or write .github/copilot-instructions.md for VS Code / CopilotRun apm targets to see which harnesses (claude, copilot, cursor, codex, gemini, …) are
detected in your project. After installation the ledo skill activates automatically when you
ask the agent to work with containers, .ledo.yml, compose files, Taskfiles, or CI pipelines.
The
.apm/tree is the single source of truth — the deployed.claude//.github/files are generated byapm install, so re-run it after upgrading rather than editing them by hand.

