Skip to content

paramah/ledo

Repository files navigation

logo

Table of contents

About

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)

Open in Gitpod

Chat on Matrix Discord

Install

Using binnary

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 sh

Using go install

go install github.com/paramah/[email protected]

Usage

Project code structure

├── 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

Init

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.yml

For comfortable work with ledo modes are important. As you can see in the example above we have defined two modes (dev and traefik).

Docker compose

Ledo executes the docker-compose command with properly prepared parameters, depending on the mode selected

asciicast

Podman compose

For podman Ledo executes podman-compose command.

Podman configuration

Thanks