Semaphore — Modern UI for Ansible & Terraform Automation
Semaphore provides a beautiful web interface for running Ansible playbooks, Terraform plans, and Bash scripts with inventory management, scheduling, and team collaboration.
Safe staging for this asset
This asset is staged first. The copied prompt tells the agent to inspect the staged files and ask before activating scripts, MCP config, or global config.
npx -y tokrepo@latest install 16e56309-39f2-11f1-9bc6-00163e2b0d79 --target codexStages files first; activation requires review of the staged README and plan.
What it is
Semaphore provides a web-based interface for running Ansible playbooks, Terraform plans, and Bash scripts. Instead of SSH-ing into a server and running ansible-playbook manually, teams use Semaphore to manage inventories, schedule runs, track execution history, and control access through a browser.
The tool targets DevOps teams, sysadmins, and infrastructure engineers who already use Ansible or Terraform but want a shared execution environment with audit trails and role-based access. It is open source and self-hosted.
How it saves time or tokens
Running Ansible playbooks from individual developer laptops creates inconsistency: different Python versions, missing SSH keys, no execution history. Semaphore centralizes playbook execution on a server with a consistent environment, stores run history, and provides team-level access control. Scheduling recurring playbooks (patch updates, compliance checks) replaces manual cron jobs with a visual scheduler.
How to use
- Run Semaphore with Docker:
docker run -d --name semaphore \
-p 3000:3000 \
-e SEMAPHORE_DB_DIALECT=bolt \
-e SEMAPHORE_ADMIN_PASSWORD=changeme \
-e SEMAPHORE_ADMIN_NAME=admin \
-e SEMAPHORE_ADMIN=admin \
semaphoreui/semaphore:latest
- Open
http://localhost:3000and log in with the admin credentials.
- Add your Git repository containing Ansible playbooks or Terraform configs.
- Create a task template pointing to a playbook/plan and run it from the UI.
Example
# playbook.yml - Sample Ansible playbook managed by Semaphore
- hosts: web_servers
become: yes
tasks:
- name: Update packages
apt:
update_cache: yes
upgrade: safe
- name: Ensure nginx is running
service:
name: nginx
state: started
enabled: yes
Import this playbook into Semaphore, configure the inventory, and run it from the web UI with full execution logs.
Related on TokRepo
- DevOps Tools -- Infrastructure automation and deployment tools
- Self-Hosted Solutions -- Self-hosted platforms for team operations
Common pitfalls
- Semaphore requires Ansible or Terraform installed on the server where it runs. The Docker image includes Ansible but you may need to add Terraform manually.
- The bolt database (embedded) is fine for small teams but does not scale. Use PostgreSQL or MySQL for production deployments with multiple users.
- SSH keys and credentials must be configured in Semaphore's key store. Missing or misconfigured keys are the most common cause of failed task runs.
Frequently Asked Questions
Semaphore is a lighter alternative to AWX. AWX offers more enterprise features like RBAC, inventory plugins, and workflow chaining. Semaphore is simpler to deploy and maintain, making it better suited for small to medium teams.
Yes. Semaphore supports Terraform as a task type alongside Ansible and Bash. You configure the Terraform working directory and variables in the task template.
Yes. Semaphore is open source under the MIT license. There is no paid version. The project is community-maintained.
Yes. You can schedule task templates to run on a cron-like schedule directly from the web UI. This is useful for recurring playbooks like security updates or backup verification.
Yes. Semaphore supports multiple users with project-level permissions. Admins can control who can view, edit, or run tasks within each project.
Citations (3)
- Semaphore GitHub— Open-source UI for Ansible and Terraform automation
- Ansible Documentation— Ansible playbook execution and management
- Semaphore Documentation— Terraform integration support
Related on TokRepo
Discussion
Related Assets
Arcane — Modern Self-Hosted Docker Management Platform
A sleek, modern Docker management UI for creating, monitoring, and managing containers, images, volumes, and networks with a clean web dashboard.
WinUI 3 — Modern Native UI Framework for Windows Apps
Build polished Windows desktop applications using Microsoft's latest native UI framework with Fluent Design, XAML, and the Windows App SDK.
ApexCharts — Interactive SVG Charts for Modern Web Apps
A modern charting library that renders responsive, interactive SVG charts with built-in annotations, zooming, and real-time data updates.
KasmVNC — Modern Web-Native VNC Server
A modern VNC server designed for web-based access with hardware-accelerated encoding, multi-user support, and built-in web client — no native VNC viewer needed.