Skip to content

feat(docker): add reusable role to install Docker Engine + Compose plugin#29

Open
0cwa wants to merge 1 commit into
bonfirelink:masterfrom
0cwa:feat/docker-role
Open

feat(docker): add reusable role to install Docker Engine + Compose plugin#29
0cwa wants to merge 1 commit into
bonfirelink:masterfrom
0cwa:feat/docker-role

Conversation

@0cwa

@0cwa 0cwa commented Apr 29, 2026

Copy link
Copy Markdown

Adds a generic, reusable role that installs Docker Engine + the v2 docker compose plugin from Docker's upstream apt repository.

Why

First consumer is feat/funkwhale-core, but the role is intentionally generic — any future containerised service (e.g. PeerTube, Mobilizon, an internal tool) can roles: [docker] and get the same toolchain.

What it does

  • Pulls Docker's official GPG key into /etc/apt/keyrings
  • Adds the download.docker.com apt source
  • Installs docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin, docker-compose-plugin
  • Exposes docker_group_users so a service user (e.g. funkwhale) can run docker without sudo
  • Idempotent; safe to re-run

Verified with

yamllint -c .yamllint.yaml roles/docker
ansible-lint --profile safety roles/docker   # passes; production also passes

Stacking

Independent of fix/matrix-playbook-syntax and chore/ci-lint; can land at any point. feat/funkwhale-core depends on this.

…ugin

Adds roles/docker, a generic role that installs the upstream Docker
apt repository and the v2 'docker compose' plugin. No playbook
references it yet -- it is consumed by the upcoming funkwhale role
and is intentionally generic so any future containerised service can
reuse it.

Highlights:
- pulls Docker's official GPG key into /etc/apt/keyrings
- installs docker-ce + cli + containerd.io + buildx + compose plugin
- exposes docker_group_users so the funkwhale service user can run
  docker without sudo

Verified with: yamllint -c .yamllint.yaml .
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant