whatisgithub

What is semaphore?

semaphoreui/semaphore — explained in plain English

Analysis updated 2026-06-24

13,597GoAudience · ops devopsComplexity · 3/5LicenseSetup · easy

In one sentence

A browser-based dashboard for running Ansible, Terraform, and other DevOps automation tasks on demand or on a schedule, replacing manual terminal commands with a visual interface, task history, and team access controls.

Mindmap

mindmap
  root((semaphore))
    What It Does
      DevOps web dashboard
      Task automation UI
      Replaces terminal commands
    Supported Tools
      Ansible
      Terraform
      OpenTofu
      PowerShell
    Key Concepts
      Projects
      Task Templates
      Inventories
      Variable Groups
    Deployment
      Docker image
      Binary package
      Cloud VM options
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Trigger Ansible playbooks from a browser and view the full output log in real time, without SSH-ing into any server.

USE CASE 2

Schedule recurring Terraform apply jobs and track each run's history and status in the Semaphore dashboard.

USE CASE 3

Give a team of admins access to run pre-approved automation tasks without sharing SSH keys or terminal access.

USE CASE 4

Control Semaphore programmatically from scripts or a Terraform provider using its REST API.

What is it built with?

GoAnsibleTerraformDockerPowerShell

How does it compare?

semaphoreui/semaphorecasdoor/casdoorjuicedata/juicefs
Stars13,59713,60413,579
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity3/54/54/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Docker is the recommended install path and requires a single command to start, an online demo is available before installing.

MIT, use, copy, modify, and distribute freely for any purpose including commercial use.

So what is it?

Semaphore UI is a web-based dashboard for running and managing automation tasks across popular DevOps tools including Ansible, Terraform, OpenTofu, Terragrunt, and PowerShell scripts. Rather than typing commands directly into a terminal, you can trigger and monitor deployments and operations from a browser. The project targets teams whose infrastructure has grown to the point where running things by hand in a terminal is no longer practical. Inside Semaphore UI, everything is organized around a few key concepts. A Project groups together the resources, configurations, and tasks that belong to one area of your infrastructure. Task Templates are reusable job definitions that can run on demand or on a schedule. Each time a template runs, it creates a Task, which represents one specific execution. An Inventory holds the list of target machines (servers, containers, virtual machines) that your tasks will act on. Variable Groups store sensitive values like passwords and API keys so they can be shared across tasks without being typed in each time. You can install Semaphore UI in several ways: via a pre-built Docker image, as a binary package, as a Snap package, or by deploying a ready-made virtual machine on AWS, DigitalOcean, Vultr, or Yandex Cloud. The Docker route is the most common starting point and takes only a single command. There is also an online demo available if you want to explore the interface before installing anything. The project includes a REST API and Postman collection for anyone who wants to control Semaphore programmatically. Third-party extensions exist in the ecosystem too, including a Terraform provider for managing Semaphore resources as code and a PowerShell module for scripting against the API. The source code is written in Go and released under the MIT license. The project is actively maintained with a public roadmap on GitHub and a Discord community for questions and support.

Copy-paste prompts

Prompt 1
Walk me through installing Semaphore UI with Docker and connecting it to an existing Ansible inventory so I can trigger playbooks from the browser.
Prompt 2
How do I create a Task Template in Semaphore UI for a Terraform plan and apply workflow, with a Variable Group storing my cloud provider API keys?
Prompt 3
Set up a scheduled Semaphore task that runs an Ansible playbook every night at 2AM.
Prompt 4
How do I use the Semaphore REST API to trigger a task template and poll until it reports success or failure?

Frequently asked questions

What is semaphore?

A browser-based dashboard for running Ansible, Terraform, and other DevOps automation tasks on demand or on a schedule, replacing manual terminal commands with a visual interface, task history, and team access controls.

What language is semaphore written in?

Mainly Go. The stack also includes Go, Ansible, Terraform.

What license does semaphore use?

MIT, use, copy, modify, and distribute freely for any purpose including commercial use.

How hard is semaphore to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is semaphore for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.