Welcome to Semaphore UI
Semaphore UI is a modern, open-source web UI and API for running automation with Ansible, Terraform/OpenTofu, PowerShell, Shell/Bash, and Python.
Semaphore is written in Go (lightweight, fast) and runs on Windows, macOS, and Linux. It supports SQLite, MySQL, and PostgreSQL.
Choose your path
-
I’m installing or operating Semaphore (admins/operators)
- Install: Installation
- Configure: Configuration
- Secure: Security
- Auth: LDAP or OpenID Connect
- Scale & run remotely: Runners
- Keep it healthy: Logs, Upgrading, Troubleshooting
- Enterprise setups: High availability
-
I’m using Semaphore day-to-day (teams/users)
- Organize work: Projects and Teams
- Run automation: Tasks and Schedules
- Connect your code: Repositories
- Targets and variables: Inventory and Variable Groups
- Credentials: Key Store
- Connect tools: Integrations
-
I’m here for a specific tool
First run checklist (from zero to first task)
Use this as a simple “happy path” to get productive quickly:
- Install Semaphore using your preferred method: Installation
- Run initial setup (config + first admin user): Interactive setup
- Create a project to isolate work (teams, infra, apps): Projects
- Connect what Semaphore needs
- Source: Repositories
- Secrets/credentials: Key Store
- Targets: Inventory
- Variables: Variable Groups
- Create a task template and run it
- App-specific guides: Ansible, Terraform/OpenTofu, Shell/Bash
- Run and monitor: Tasks
- Automate & operationalize
- Schedule runs: Schedules
- Control access: RBAC
- Get alerts: Notifications
Key concepts (glossary)
If you’re new, these terms show up everywhere in the UI:
- Project: the main unit of separation (teams/infrastructures/applications) — Projects
- Repository: where your playbooks/modules/scripts live — Repositories
- Inventory: hosts/groups/connection settings for Ansible-style runs — Inventory
- Variable Group (Environment): reusable variables and configuration per project — Variable Groups
- Key Store: encrypted credentials (SSH keys, tokens, passwords) — Key Store
- Task / Task template: the definition and the run of automation — Tasks
- Runner: where tasks execute (local or remote) — Runners
Common workflows
- CI/CD in Semaphore: build, deploy, and rollback — CI/CD
- Run at scale: distribute execution using runners — Runners
- Programmatic automation: integrate Semaphore into your pipelines — API
- Manage via CLI: setup, users, runners, migrations — CLI
Get help, report issues, or contribute
- Help / community: join the Discord
- Bug reports / feature requests: open an issue on GitHub Issues
- Source code: GitHub
FAQ
If something isn’t working as expected, start here: Troubleshooting FAQ