From 225a30c7c9ae2989a240f4a2f28c2437023d806f Mon Sep 17 00:00:00 2001 From: rezayaghobi-dev Date: Thu, 23 Jul 2026 12:52:33 +0330 Subject: [PATCH] updated all the docs --- README.md | 5 +++- docs/Home.md | 4 +-- docs/Semaphore.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 docs/Semaphore.md diff --git a/README.md b/README.md index c795698..f49ead1 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ This is a real, running homelab — not a demo. It's deployed on a home Ubuntu s | **smartctl** | `smartctl/` | Disk health monitoring (S.M.A.R.T. data) | | **OpenHands** | `openhands/` | Self-hosted AI coding agent (OpenHands/agent-canvas) backed by Ollama — see [AI Coding Agent](docs/AI-Agent.md) | | **Nginx Proxy Manager** | `nginx-proxy-manager/` | Reverse proxy giving every service a friendly `.home` hostname with locally-trusted HTTPS — see [Reverse Proxy](docs/Reverse-Proxy.md) | - +| **Semaphore** | `semaphore/` | Self-hosted Ansible UI (alternative to AWX) — see [Semaphore Guide](docs/Semaphore.md) | ## Repository structure ``` @@ -65,6 +65,8 @@ homelab/ │ └── docker-compose.yaml ├── nginx-proxy-manager/ │ └── docker-compose.yaml +├── semaphore/ +│ ├── docker-compose.yml ├── docs/ │ ├── Home.md │ ├── Architecture-and-Hardware.md @@ -76,6 +78,7 @@ homelab/ │ ├── AI-Agent.md │ ├── Reverse-Proxy.md │ ├── Lessons-Learned.md +│ ├── Semaphore.md │ └── images/ └── .gitignore ``` diff --git a/docs/Home.md b/docs/Home.md index 75d5638..5dbac31 100644 --- a/docs/Home.md +++ b/docs/Home.md @@ -13,6 +13,7 @@ Documentation for a self-hosted homelab running entirely on Docker Compose. This - [Lessons Learned](Lessons-Learned.md) - [AI Coding Agent](AI-Agent.md) - [Reverse Proxy](Reverse-Proxy.md) +- [Semaphore](Semaphore.md) ## At a glance @@ -23,8 +24,7 @@ Documentation for a self-hosted homelab running entirely on Docker Compose. This | **Management** | Portainer | | **Monitoring** | Prometheus + Grafana + cAdvisor + node-exporter | | **Network** | Pi-hole (DNS filtering), Samba (file sharing), nginx (proxy managing) | -| **Automation** | n8n | -| **Media** | Plex + Sonarr/Radarr/Prowlarr + qBittorrent | +| **Automation** | n8n + **Semaphore** (Ansible Web UI) || **Media** | Plex + Sonarr/Radarr/Prowlarr + qBittorrent | | **Disk health** | Hard Disk Sentinel | | **AI Agent** | OpenHands + Ollama | diff --git a/docs/Semaphore.md b/docs/Semaphore.md new file mode 100644 index 0000000..401ae35 --- /dev/null +++ b/docs/Semaphore.md @@ -0,0 +1,66 @@ +\# Semaphore + + + +\*\*Semaphore\*\* is a modern, lightweight, open-source web UI for Ansible. It serves as a practical self-hosted alternative to AWX (Ansible Tower) for running playbooks, managing inventories, SSH keys, schedules, and execution logs. + + + +It was chosen for this homelab because: + +\- Much lighter on resources than AWX + Kubernetes + +\- Simple Docker Compose deployment + +\- Actively maintained + +\- Perfect fit for learning Ansible in a Docker-based environment + + + +\## Access + + + +\- \*\*Friendly URL\*\*: `https://semaphore.home` (via Nginx Proxy Manager + mkcert) + +\- \*\*Direct\*\*: `http://192.168.100.6:3001` + + + +\*\*Initial Login\*\* (change password immediately after first login): + +\- Username / Email: `admin` or `rezay5639@gmail.com` + +\- Password: `rezayaghobi1386` + + + +\## Features Currently Used + + + +\- Run Ansible playbooks + +\- Manage inventories (static + dynamic) + +\- Store and use SSH keys securely + +\- Schedule recurring tasks + +\- View detailed execution logs + +\- User \& team management + + + +\## Local Setup + + + +```bash + +cd \~/docker/semaphore + +docker compose up -d +