| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- kind: compose
- metadata:
- icon:
- provider: selfh
- id: semaphore-ui
- name: Semaphore UI
- description: 'Modern UI for Ansible automation with task scheduling and web-based
- management.
- Semaphore provides a beautiful web interface to run Ansible playbooks, manage
- inventories, and schedule automated tasks. Perfect for teams who want a
- user-friendly way to execute and monitor Ansible automation.
- ## Prerequisites
- - :info: SemaphoreUI supports multiple database backends. You can choose between
- SQLite (default),
- PostgreSQL, or MySQL. SQLite is suitable for small deployments, while PostgreSQL
- and MySQL
- are recommended for larger installations.
- ## References
- - **Project:** https://www.semaphoreui.com/
- - **Documentation:** https://docs.semaphoreui.com/
- - **GitHub:** https://github.com/semaphoreui/semaphore'
- version: v2.17.2
- author: Christian Lempa
- date: '2026-02-15'
- tags:
- - traefik
- - database
- next_steps: 'Log in with your initial admin user:
- ```bash
- Username: {{ admin_user }}
- Password: {{ admin_pass }}
- ```'
- schema: '1.2'
- spec:
- general:
- vars:
- service_name:
- default: semaphoreui
- container_name:
- default: semaphoreui
- restart_policy:
- type: enum
- options:
- - unless-stopped
- - always
- - on-failure
- - 'no'
- default: unless-stopped
- required: true
- secret_key:
- description: Secret key for encrypting access keys
- type: str
- sensitive: true
- autogenerated: true
- required: true
- admin_user:
- description: Administrator username
- type: str
- required: true
- default: admin
- admin_name:
- description: Administrator full name
- type: str
- required: true
- default: Administrator
- admin_email:
- description: Administrator email address
- type: str
- required: true
- default: admin@home.arpa
- admin_pass:
- description: Administrator password
- type: str
- sensitive: true
- autogenerated: true
- required: true
- ansible_host_key_checking:
- description: Enable Ansible SSH host key checking
- type: bool
- ports:
- vars:
- ports_http:
- default: 3000
- traefik:
- vars:
- traefik_host:
- default: semaphoreui
- traefik_network:
- default: traefik
- type: str
- required: true
- traefik_domain:
- default: home.arpa
- type: str
- required: true
- traefik_enabled:
- type: bool
- default: false
- description: Enable Traefik integration
- toggle: traefik_enabled
- title: Traefik
- description: Configure Traefik reverse proxy integration
- traefik_tls:
- vars:
- traefik_tls_certresolver:
- type: str
- default: cloudflare
- required: true
- traefik_tls_enabled:
- type: bool
- default: false
- description: Enable Traefik TLS
- toggle: traefik_tls_enabled
- title: Traefik TLS
- description: Configure Traefik TLS/SSL certificates
- needs: traefik
- database:
- vars:
- database_type:
- options:
- - postgres
- - mysql
- default: mysql
- database_name:
- default: semaphore
- database_user:
- default: semaphore
- database_host:
- type: str
- default: postgres
- required: true
- needs:
- - database_external=true
- database_password:
- type: str
- sensitive: true
- autogenerated: true
- required: true
- database_external:
- type: bool
- default: false
- description: Use external database
|