Skip to content

adfinis/ansible-collection-semaphoreui

Repository files navigation

Ansible Collection - adfinis.semaphoreui

License GitHub Workflow Status adfinis.semaphoreui on Ansible Galaxy

Ansible Collection to manage and deploy Semaphore UI in Docker.

Install

The Collection can be installed from Ansible Galaxy:

ansible-galaxy collection install adfinis.semaphoreui

Alternatively put the collection into a requirements.yml file:

---
collections:
  - name: adfinis.semaphoreui

Roles

adfinis.semaphoreui.semaphore

Ansible role to deploy and manage Semaphore UI servers and runners using Docker Compose.

  • Works with the free version of Semaphore UI and Semaphore UI Pro.
  • Optional Caddy reverse proxy for easy HTTPS
  • Supports multiple database backends (sqlite (default), postgres, mysql).
  • Ability to run different Ansible versions on the Semaphore UI Runner for backwards compatibility with older systems.

Usage

Inventory

The Ansible role expect two host groups: servers (required!), runners (optional). The individual server and runner tasks are only applied to hosts in their relative host group.

A simple example:

INI:

[servers]
vm-semaphore-server-01.example.com

[runners]
vm-semaphore-runner-01.example.com
vm-semaphore-runner-02.example.com

YAML:

---
servers:
  hosts:
    vm-semaphore-server-01.example.com:

runners:
  hosts:
    vm-semaphore-runner-01.example.com:
    vm-semaphore-runner-02.example.com:
Role variables

All arguments can be found in roles/semaphore/meta/arguments_specs.yml. You can display them with ansible-doc:

ansible-doc -t role adfinis.semaphoreui.semaphore

The following variables are required:

  • semaphore_address: Public domain or IP address for the Semaphore instance.
  • semaphore_admin_username: Username for the Semaphore UI admin account.
  • semaphore_admin_password: Password for the Semaphore UI admin account.
Playbook

The Ansible Collection features a playbook to call the role adfinis.semaphoreui.semaphore without having to write one yourself:

ansible-playbook adfinis.semaphoreui.semaphore_playbook

License

GPL-3.0-or-later

Author Information

The Ansible collection adfinis.semaphore was written by:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages