Semaphore is a modern UI for Ansible, Terraform/OpenTofu, Bash and Pulumi. It lets you easily run Ansible playbooks, get notifications about fails, control access to deployment system.
If your project has grown and deploying from the terminal is no longer for you then Semaphore UI is what you need.
https://hub.docker.com/r/semaphoreui/semaphore
docker-compose.yml
for minimal configuration:
services:
semaphore:
ports:
- 3000:3000
image: semaphoreui/semaphore:latest
environment:
SEMAPHORE_DB_DIALECT: bolt
SEMAPHORE_ADMIN_PASSWORD: changeme
SEMAPHORE_ADMIN_NAME: admin
SEMAPHORE_ADMIN_EMAIL: admin@localhost
SEMAPHORE_ADMIN: admin
TZ: Europe/Berlin
volumes:
- /path/to/data/home:/etc/semaphore # config.json location
- /path/to/data/lib:/var/lib/semaphore # database.boltdb location (Not required if using mysql or postgres)
https://docs.semaphoreui.com/administration-guide/installation
You can test latest version of Semaphore on https://my.semaphore.tech.
Admin and user docs: https://docs.semaphoreui.com.
API description: https://semaphoreui.com/api-docs/.