50 lines
2.7 KiB
Markdown
50 lines
2.7 KiB
Markdown
# Homelab Wiki
|
|
|
|
Documentation for a self-hosted homelab running entirely on Docker Compose. This wiki covers the *why* behind each service, how they're configured, and what I learned running them — the repo itself has the raw `docker-compose.yml` files.
|
|
|
|
## Contents
|
|
|
|
- [Architecture and Hardware](Architecture-and-Hardware.md)
|
|
- [Monitoring Stack](Monitoring-Stack.md)
|
|
- [Alerting](Alerting.md)
|
|
- [K3s](K3s.md)
|
|
- [ArgoCD](ArgoCD.md)
|
|
- [Network Services](Network-Services.md)
|
|
- [Media Automation](Media-Automation.md)
|
|
- [Workflow Automation](Workflow-Automation.md)
|
|
- [Storage Health](Storage-Health.md)
|
|
- [Lessons Learned](Lessons-Learned.md)
|
|
- [AI Coding Agent](AI-Agent.md)
|
|
- [Reverse Proxy](Reverse-Proxy.md) (historical — Nginx Proxy Manager)
|
|
- [Traefik](Traefik.md) (current reverse proxy)
|
|
- [Vaultwarden](Vaultwarden.md) (password manager)
|
|
- [Nexus](Nexus.md) (Docker registry & artifact repository)
|
|
- [Semaphore](Semaphore.md)
|
|
- [DockScope](DockScope.md)
|
|
- [Ansible Playbooks](AnsiblePlaybooks.md)
|
|
- [GitLab CI/CD](GitLab-CICD.md)
|
|
- [Custom CI Runner Images](CI-Custom-Images.md)
|
|
- [Voting App — Mono-Repo](Voting-App-Monorepo.md)
|
|
- [Elastic Stack (ELK) — Lab](ElasticStack.md)
|
|
|
|
## At a glance
|
|
|
|
| | |
|
|
|---|---|
|
|
| **Host** | Ubuntu Server |
|
|
| **Orchestration** | Docker Compose, one stack per service |
|
|
| **Management** | Portainer, **DockScope** (3D visual dashboard) |
|
|
| **Monitoring** | Prometheus + Grafana + cAdvisor + node-exporter + **Loki + Alloy** (centralized logs) + **Grafana Alerting** (provisioned rules + email notifications) |
|
|
| **Network** | Pi-hole (DNS filtering), Samba (file sharing), **Traefik** (reverse proxy, config-as-code) |
|
|
| **Automation** | n8n + **Semaphore** (Ansible Web UI) + **Ansible** (update playbooks) || **Media** | Plex + Sonarr/Radarr/Prowlarr + qBittorrent |
|
|
| **Disk health** | Hard Disk Sentinel |
|
|
| **AI Agent** | OpenHands + Ollama |
|
|
| **Registry** | **Nexus3** (Docker Hub pull-through cache + artifact repo) |
|
|
| **Passwords** | **Vaultwarden** (Bitwarden-compatible, 30+ char passwords) |
|
|
| **CI/CD** | Self-hosted **GitLab** (Omnibus) + Docker-executor **Runner** |
|
|
| **Orchestration (K8s)** | Single-node **K3s** cluster, fronted by **Traefik** via ingress-nginx NodePort, managed via **Argo CD** GitOps (manifests in `kubernetes/apps/`, watched by `kubernetes/argocd-apps/`), monitored via the same Prometheus/Grafana/Loki stack |
|
|
|
|
This is a running system, not a demo — screenshots throughout this wiki are from the live dashboards.
|
|
|
|
Not everything in this repo runs permanently — see [Elastic Stack (ELK) — Lab](ElasticStack.md) for a compose stack kept as a reference from a one-off learning exercise, not part of the always-on services above.
|