updated all the docs
This commit is contained in:
@@ -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) |
|
| **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) |
|
| **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) |
|
| **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
|
## Repository structure
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -65,6 +65,8 @@ homelab/
|
|||||||
│ └── docker-compose.yaml
|
│ └── docker-compose.yaml
|
||||||
├── nginx-proxy-manager/
|
├── nginx-proxy-manager/
|
||||||
│ └── docker-compose.yaml
|
│ └── docker-compose.yaml
|
||||||
|
├── semaphore/
|
||||||
|
│ ├── docker-compose.yml
|
||||||
├── docs/
|
├── docs/
|
||||||
│ ├── Home.md
|
│ ├── Home.md
|
||||||
│ ├── Architecture-and-Hardware.md
|
│ ├── Architecture-and-Hardware.md
|
||||||
@@ -76,6 +78,7 @@ homelab/
|
|||||||
│ ├── AI-Agent.md
|
│ ├── AI-Agent.md
|
||||||
│ ├── Reverse-Proxy.md
|
│ ├── Reverse-Proxy.md
|
||||||
│ ├── Lessons-Learned.md
|
│ ├── Lessons-Learned.md
|
||||||
|
│ ├── Semaphore.md
|
||||||
│ └── images/
|
│ └── images/
|
||||||
└── .gitignore
|
└── .gitignore
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ Documentation for a self-hosted homelab running entirely on Docker Compose. This
|
|||||||
- [Lessons Learned](Lessons-Learned.md)
|
- [Lessons Learned](Lessons-Learned.md)
|
||||||
- [AI Coding Agent](AI-Agent.md)
|
- [AI Coding Agent](AI-Agent.md)
|
||||||
- [Reverse Proxy](Reverse-Proxy.md)
|
- [Reverse Proxy](Reverse-Proxy.md)
|
||||||
|
- [Semaphore](Semaphore.md)
|
||||||
|
|
||||||
## At a glance
|
## At a glance
|
||||||
|
|
||||||
@@ -23,8 +24,7 @@ Documentation for a self-hosted homelab running entirely on Docker Compose. This
|
|||||||
| **Management** | Portainer |
|
| **Management** | Portainer |
|
||||||
| **Monitoring** | Prometheus + Grafana + cAdvisor + node-exporter |
|
| **Monitoring** | Prometheus + Grafana + cAdvisor + node-exporter |
|
||||||
| **Network** | Pi-hole (DNS filtering), Samba (file sharing), nginx (proxy managing) |
|
| **Network** | Pi-hole (DNS filtering), Samba (file sharing), nginx (proxy managing) |
|
||||||
| **Automation** | n8n |
|
| **Automation** | n8n + **Semaphore** (Ansible Web UI) || **Media** | Plex + Sonarr/Radarr/Prowlarr + qBittorrent |
|
||||||
| **Media** | Plex + Sonarr/Radarr/Prowlarr + qBittorrent |
|
|
||||||
| **Disk health** | Hard Disk Sentinel |
|
| **Disk health** | Hard Disk Sentinel |
|
||||||
| **AI Agent** | OpenHands + Ollama |
|
| **AI Agent** | OpenHands + Ollama |
|
||||||
|
|
||||||
|
|||||||
66
docs/Semaphore.md
Normal file
66
docs/Semaphore.md
Normal file
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user