Skip to content

Semaphore

Web UI for running Ansible, Terraform/OpenTofu and other DevOps scripts with a team-friendly interface.

Stars
14.4k
Forks
1.3k
Licence
MIT
Language
Go
Last update
4 days ago
Type
App

What it is

Semaphore UI is a web interface for running DevOps tools such as Ansible playbooks, Terraform and OpenTofu code, and Bash or PowerShell scripts. Instead of running these from a terminal, teams can start them from a browser, schedule them, and get notified when tasks fail. It also lets you control who has access to the deployment system.

  • Run an Ansible playbook against a set of inventory hosts from a browser
  • Schedule a Terraform or OpenTofu task to run at set times
  • Get notified when a deployment task fails
  • Store environment variables and secrets in variable groups for task runs

Great for

  • Teams that have outgrown running Ansible or Terraform from a personal terminal
  • Operations staff who want scheduled, repeatable deployment runs
  • Groups that need access control over who can run deployment tasks

Not ideal for

  • Solo users who are happy with the command line, since the UI adds a server to maintain
  • Teams not using Ansible, Terraform/OpenTofu, Terragrunt, Bash or PowerShell, since those are the tools it runs
  • Anyone needing a managed service without installing anything, as the README mentions a SaaS option only in a commented-out section
Step-by-step guide: how to use SemaphoreInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: Docker

    Run Semaphore with Docker (SQLite, admin account)

    docker run -p 3000:3000 --name semaphore -e SEMAPHORE_DB_DIALECT=sqlite -e SEMAPHORE_ADMIN=admin -e SEMAPHORE_ADMIN_PASSWORD=changeme -e SEMAPHORE_ADMIN_NAME=Admin -e SEMAPHORE_ADMIN_EMAIL=admin@localhost -d semaphoreui/semaphore:latest
  2. 2

    Run it

    • Run the Docker command from the README.
    • Open the web interface on port 3000 in your browser.
    • Log in with the admin account set in the environment variables.
    • Change the default password before using it beyond testing.
    • Create a project, then add task templates and inventory.
  3. 3

    Get the most out of it

    • Use the Container Configurator on the project site to get a Docker setup suited to your needs
    • Store sensitive values in variable groups rather than in task definitions
    • Use schedules to automate recurring Ansible or Terraform runs
    • Configure failure notifications so teams hear about broken tasks
    • Use the API reference to integrate Semaphore with other tools

Downloads

Strengths

  • Provides a web UI and API over existing DevOps tools
  • Supports scheduling and failure notifications
  • Includes access control for the deployment system

Trade-offs

  • Requires running and maintaining a server, with a choice of install methods the README describes only briefly
  • The README is truncated and gives few details on advanced configuration or security setup
  • Its main value depends on already using the supported DevOps tools

How it compares

ProjectStarsTypeLevelUpdatedBest for
semaphore (this)14.4kAppintermediate4 days agoTeams that have outgrown running Ansible or Terraform from a personal terminal
jenkins26.7kAppintermediate4 days agoDevelopment teams that want to automate builds and tests
Jenkins-Zero-To-Hero10.1kLearning resourcebeginner1.7 years agoBeginners who want a guided first install of Jenkins on a cloud VM
dokku32.2kAppintermediate4 days agoDevelopers who want Heroku-style deployment on a server they control
act72.5kDev toolintermediate5 days agoDevelopers who edit .github/workflows files and want faster feedback than commit-and-push cycles
floci27.7kDev toolbeginner4 days agoDevelopers who want to test AWS code locally without cloud costs

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.