Skip to main content

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

First run checklist (from zero to first task)

Use this as a simple “happy path” to get productive quickly:

  1. Install Semaphore using your preferred method: Installation
  2. Run initial setup (config + first admin user): Interactive setup
  3. Create a project to isolate work (teams, infra, apps): Projects
  4. Connect what Semaphore needs
  5. Create a task template and run it
  6. Automate & operationalize

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

FAQ

If something isn’t working as expected, start here: Troubleshooting FAQ