Skip to content

Ansible collection for deployment and configuration of Docker services

Notifications You must be signed in to change notification settings

flyoverhead/docker

Repository files navigation

Ansible Collection - flyoverhead.docker

Ansible collection for deployment and configuration of Docker services.

Compatibilities

This collection was tested with RaspberryPi 4, OrangePi 3 and OrangePi 5 hardware.

Supported OS

  • Debian 11.x "Bullseye" (amd64, AArch64)
  • Debian 12.x "Bookworm" (AArch64)

Installation and Usage

Requirements

  • Ansible >=2.13

  • Task >=3.20

Installation

Installing collection:

ansible-galaxy collection install -r requirements.yml

Roles usage

Full documentation and usage examples of role <role> can be found in roles/<role>/README.md.

Example Playbook

---
- hosts: all
  become: true
  gather_facts: true
  roles:
    - flyoverhead.docker.docker
    - flyoverhead.docker.postgres
    - flyoverhead.docker.gitea
    - flyoverhead.docker.drone
    - flyoverhead.docker.drone_runner
    - flyoverhead.docker.nextcloud
    - flyoverhead.docker.torrserver
    - flyoverhead.docker.node_exporter
    - flyoverhead.docker.prometheus
    - flyoverhead.docker.alertmanager
    - flyoverhead.docker.grafana
    - flyoverhead.docker.wireguard
    - flyoverhead.docker.xray
    - flyoverhead.docker.dnscrypt
    - flyoverhead.docker.pihole

Included content

Roles

Name Description
alertmanager Ansible role for Alertmanager service deployment.
dnscrypt Ansible role for Dnscrypt proxy service deployment.
docker Ansible role for Docker service deployment.
drone Ansible role for Drone CI service deployment.
drone_runner Ansible role for Drone runner service deployment.
gitea Ansible role for Gitea service deployment.
grafana Ansible role for Grafana service deployment.
nextcloud Ansible role for Nextcloud service deployment.
node_exporter Ansible role for Node exporter service deployment.
pihole Ansible role for PiHole service deployment.
postgres Ansible role for PostgreSQL service deployment.
prometheus Ansible role for Prometheus service deployment.
torrserver Ansible role for Torrserver service deployment.
wireguard Ansible role for Wireguard service deployment.
xray Ansible role for XRay VPN service deployment.

Testing

All required variables should be defined in tests/vars.yml.

Test can be launched from the root directory of the collection by running:

task test-<env>

Where <env> can be defined according to provider:

Variable Provider
vmware VMWare Fusion for Apple Silicon M1/M2
vbox Virtual Box for x86-64

After successfull deployment all services can be accessed through the web browser on host machine at address:

127.0.0.1:<service_port>

License

  • GPL-3.0-only

Author Information

fLy0v3rH34d