Ansible Semaphore: Open-Source UI for Ansible — Install, Configure, and Use
By Luca Berton · Published 2024-01-01 · Category: installation
Complete guide to Ansible Semaphore, the lightweight open-source web UI for Ansible. Install Semaphore, configure projects, inventories, and task templates, compare with AWX and AAP, and automate with the API.
What Is Ansible Semaphore?
Semaphore is a lightweight, open-source web UI for running Ansible playbooks. It provides a modern dashboard for managing Ansible automation without the complexity of AWX or the cost of AAP.
Key features: • Clean, modern web interface • Task scheduling (cron-like) • Team access with LDAP/OIDC support • Telegram, Slack, email notifications • REST API for integration • Written in Go — single binary, low resource usage
Semaphore vs AWX vs AAP
| Feature | Semaphore | AWX | AAP | |---------|-----------|-----|-----| | License | MIT | Apache 2.0 | Subscription | | Install complexity | Low (single binary) | High (Kubernetes) | Medium (installer) | | Resource usage | ~100 MB RAM | 4+ GB RAM | 16+ GB RAM | | Web UI | Modern, simple | Full-featured | Enterprise | | RBAC | Basic (teams) | Full | Full | | Workflows | ❌ | ✅ | ✅ | | Dynamic inventory | ❌ (static/file only) | ✅ | ✅ | | Execution Environments | ❌ | ❌ | ✅ | | Automation Mesh | ❌ | ❌ | ✅ | | Event-Driven | ❌ | ❌ | ✅ | | API | REST | REST | REST | | Notifications | Slack, Telegram, email | Multiple | Multiple | | Scheduling | Cron | Cron + RRULE | Cron + RRULE | | Best for | Small teams, homelabs | Medium teams, dev/test | Enterprise production |
Choose Semaphore when: You want a simple Ansible UI with minimal infrastructure, don't need workflows or dynamic inventory, and value low resource usage.
Choose AWX when: You need more features (workflows, RBAC, dynamic inventory) and have Kubernetes available.
Choose AAP when: Enterprise requirements — support, compliance, Automation Mesh, EDA.
Install Semaphore
Docker / Podman (Recommended)
Docker with PostgreSQL (Production)
Binary Install (No Docker)
Install with Ansible (Meta!)
Configure Semaphore
1. Create a Project
Projects group related automation. Each project has its own: • Key Store (SSH keys, passwords) • Repositories (Git repos with playbooks) • Inventory (host definitions) • Environment (variables) • Task Templates (playbook + inventory + environment)
2. Add Keys
Or via API:
3. Add Repository
4. Add Inventory
5. Add Environment
6. Create Task Template
7. Schedule Tasks
Semaphore API
Production Setup
Reverse Proxy with Nginx
LDAP Authentication
Backup
FAQ
Is Ansible Semaphore free?
Yes. Semaphore is MIT licensed — completely free for any use, including commercial. There's no paid tier or enterprise edition.
Can Semaphore replace AWX?
For simple use cases (running playbooks with a web UI, basic scheduling, team access), yes. For advanced needs (workflow chains, dynamic inventory, RBAC granularity, API-driven automation at scale), AWX or AAP is better suited.
Does Semaphore support Ansible collections?
Yes. Semaphore runs standard Ansible, so any collections installed on the server (or defined in requirements.yml in your repository) work. Add a collections/requirements.yml to your playbook repo and Semaphore installs them automatically.
How many concurrent tasks can Semaphore handle?
Semaphore runs tasks sequentially per project by default. You can configure max_parallel_tasks in the config to allow concurrent execution. Resource usage scales linearly — each task spawns an ansible-playbook process.
Conclusion
Ansible Semaphore gives you a clean, lightweight web UI for Ansible automation without the infrastructure overhead of AWX or the cost of AAP. Install it as a single binary or Docker container, point it at your playbook Git repository, and you have a scheduling, notification, and team collaboration layer for your Ansible automation in minutes.
Related Articles • AWX Complete Guide: Install, Configure, and Use • AAP 2.6 Architecture and Components • Ansible vs Terraform Complete Comparison • Install Ansible Complete Guide • Ansible Documentation Complete Guide
Category: installation