This Repo has been migrated to iac and has now been archived.
Homelab docker-compose environment defined in code. Using Forgejo Actions and Renovate bot for CI, AWX Tower and Forgejo Actions for CD. This is how I keep my Homelab UTD.
Wiki | How to Setup | Blog | Inspiration | Infrastructure
| Logo | Name | Description |
|---|---|---|
| AdGuard Home | Network Wide DNS adblock as well as my DNS server (2/2) | |
| AdGuard Home Sync | Syncs my instances of Adguard | |
| authentik | Open Source Identity Provider | |
| Bazarr | Downloads subtitles for Radarr/Sonarr | |
| Cloudflare Tunnels | How I expose some of these services | |
| Codeberg Pages | Github Pages for Gitea installs. hosts https://mafyuh.co | |
| Doplarr | Allows my users to request content through Discord if they choose | |
| FlareSolverr | Proxy server to bypass Cloudflare and DDoS-GUARD protection | |
| Forgejo | This site | |
| Forgejo Runner | Runs CI/CD tasks Yamllint and Renovatebot and CD through AWX | |
| Gotfiy | Self hosted notification service | |
| Homarr | Homelab dashboard that integrates with the arr's so I see data in 1 place | |
| Jellyfin | Open Source Streaming Service for home media like Plex | |
| Jellyseerr | Request platform for my Jellyfin user's to request content | |
| jfa-go | Used for some PPV/Live TV automations to create users for certain periods of time | |
| Kasm | Docker container streaming platform for browser-based access to desktops, applications, and web services | |
| Lidarr | Music Collection Manager | |
| LinkStack | Creating a static links page for my Jellyfin users | |
| MakeMKV | Used to rip Bluray's with my LG BU40N drive | |
| mindsdb | Connects Ollama models to 100+ different databases, easy to use. | |
| Netboot.xyz | Network boot instead of using my ventoy USB | |
| Nginx Proxy Manager | Reverse Proxy used for its simplicity (1/3) | |
| n8n | Self hosted automation platform, Zapier alternative, switched from ActivePieces | |
| Ollama | Easiest way to run LLM's on your own hardware | |
| open-webui | Creates a ChatGPT like web interface for talking to Ollama models | |
| Portainer | Web-based management for learning Kubernetes, I learned Docker this way and will Kub as well | |
| Prowlarr | Searches indexers for Radarr/Sonarr | |
| qBittorrent VPN | Modified qBittorrent with VPN killswitch enabled | |
| Radarr | Movie Collection Manager | |
| Sabnzbd | Usenet downloader to download content | |
| Sonarr | Radarr, but for TV Shows | |
| Sonatype Nexus | Self-hosted Docker registry to help lower Docker pulls | |
| Syncthing | How I backup all config files, following 3-2-1 backup procedure | |
| Twingate Connectors | Main VPN between homelab and cloud VPS's | |
| Uptime Kuma | Self hosted service uptime tracker | |
| Whisper | AI Model that I use to generate subtitles for Bazarr when they can't be found |
| Logo | Name | Description |
|---|---|---|
| AWX (Ansible Tower) | Used to easily run Ansible playbooks on all my VM's, and now CD for this repo, installed on K3s | |
| Grafana | Monitoring for various services | |
| Wordpress | WooCommerce store setup for JF PPV access | |
| Guacamole | Remote access in browser via SSH, RDP, VNC, etc | |
| Home Assistant | Slowly migrating over to Home Assistant from Google Home | |
| Plausible | Analytics tracker for certain websites (Blog) | |
| wazuh | Security platform monitoring everything with agents installed on all VM's |
graph TD
A1((Renovate Bot Scans for Updates)) --> A2{Updates Found?}
A2 -- Yes --> B[Make PR]
A2 -- No --> C(End)
B --> D{PR Merged?}
D -- No --> E(End)
subgraph Handle Merged PR
D -- Yes --> F[Extract Host]
F --> G[SSH to Host Machine]
G --> H[Git Pull & Docker Compose Up]
H --> I(End)
end
subgraph Notification on PR Creation
B --> P[Notify via Gotify]
end
subgraph Release Notes Handling
Q((PR Webhook Received)) --> R{PR Open?}
R -- No --> S(End)
R -- Yes --> T[Hit GitHub API for Release Notes]
T --> U[Extract PR Number from webhook]
U --> W[API Call to Foregjo to leave Release Notes]
W --> S
end
P --> Q
