Repository: semaphoreui/semaphore
Stars: 13498
README.md
Semaphore UI
Modern UI for Ansible, Terraform/OpenTofu/Terragrunt, PowerShell and other DevOps tools.



<!--  -->
If your project has grown and deploying from the terminal is no longer feasible, then Semaphore UI is the tool you need.
Demo
<!--
Live Demo
Try the latest version of Semaphore at https://portal.semaphoreui.com.
-->
What is Semaphore UI?
Semaphore UI is a modern web interface for managing popular DevOps tools.
Semaphore UI allows you to:
* Easily run Ansible playbooks, Terraform and OpenTofu code, as well as Bash and PowerShell scripts.
* Receive notifications about failed tasks.
* Control access to your deployment system.
Key Concepts
1. Projects is a collection of related resources, configurations, and tasks.
2. Task Templates are reusable definitions of tasks that can be executed on demand or scheduled.
3. Task is a specific instance of a job or operation executed by Semaphore.
4. Schedules allow you to automate task execution at specified times or intervals.
5. Inventory is a collection of target hosts (servers, virtual machines, containers, etc.) on which tasks will be executed.
6. Variable Group refers to a configuration context that holds sensitive information such as environment variables and secrets used by tasks during execution.
Getting Started
You can install Semaphore using the following methods:
* Docker
* Deploy a VM from a marketplace:
* AWS
* DigitalOcean
* Vultr
* Yandex Cloud
* Snap
* Binary file
* Debian or RPM package
Docker
The most popular way to install Semaphore is via Docker.
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:latestWe recommend using the Container Configurator to get the ideal Docker configuration for Semaphore.
<!--
SaaS
We offer a SaaS solution for using Semaphore UI without installation. Check it out at Semaphore Cloud.
-->
Other Installation Methods
For more installation options, visit our Installation page.
Documentation
* User Guide
* API Reference
* Postman Collection
Awesome Semaphore
A curated list of awesome things related to Semaphore UI.
* Ebdruplab — Ansible Collections — Ansible modules and a role for managing Semaphore.
* SemaphoreUI MCP Server — A Model Context Protocol (MCP) server that provides AI assistants with powerful automation capabilities for SemaphoreUI.
* Terraform SemaphoreUI Provider — Manage Semaphore UI resources using Terraform.
* PSSemaphore — A PowerShell module designed to work against the Ansible Semaphore REST API.
[//]: # (* [Ansible UI Semaphore](https://github.com/morbidick/ansible-role-semaphore) — Ansible role to install and configure the Ansible UI Semaphore.)
Contribution
* Contribution Guide
* Dev Container (default user admin / changeme)
License
MIT © Denis Gukov