factograf
EN
Sign in

Open-source infrastructure automation platform

Semaphore (software)

  • 1 min read
  • 2 images
Semaphore (software)
All data from the card 11
Developer
Denis Gukov
Release
25 August 2021
Stable release
2.19.17 / 20 October 2026
Written in
Go, JavaScript
Operating system
Cross-platform
Platform
x86-64, ARM
Predecessor
Ansible Semaphore
Type
Continuous integration
License
MIT licence
Website
semaphoreui.com
Repository
github.com/semaphoreui/semaphore

Semaphore is a self-hosted continuous automation and deployment tool used for running automation tasks hosted on GitHub, BitBucket or other git hosting.

While open source projects can use Semaphore UI for free in its full capacity, the Community edition is free and open source, with paid Pro and Enterprise editions available from $20 per month.

One of Semaphore’s features is native Docker support, which enables testing and deploying Docker-based applications. Semaphore UI also offers distributed runners, a feature that reduces the duration of running a task by distributing jobs across multiple machines.

Features

Semaphore UI supports the following automation tools: Ansible, Terraform, OpenTofu, PowerShell and shell scripts. Tasks written for other tools demand manual configuration.

Some of the supported secret backends include: HashiCorp Vault, OpenBao, AWS Secrets Manager and Azure Key Vault.

Semaphore supports authentication through LDAP, Active Directory and OpenID Connect (OIDC) providers such as Azure Entra ID, Okta and Keycloak, allowing it to integrate with existing identity providers for single sign-on and centralized user management.

Semaphore UI supports Linux and Windows.

Operation

Semaphore UI task summary
Semaphore UI task summary

Once a project and its source repository have been configured, Semaphore UI organizes work into templates that define which playbook, script or configuration to run, along with the required inventory, environment and credentials. When a template is launched, the corresponding task is queued and executed by a runner. The results of the performed tasks are highlighted red (failed) or green (success), and the full output log is available for inspection. If a task fails, the user can review the log, adjust the configuration and run the task again.

Read next

Text from Wikipedia, CC BY-SA 4.0 · Source article