iac/docker
Matt Reeves 73db160a1c
All checks were successful
Lint on PR / Lint YAML files (pull_request) Successful in 9s
Deploy to Hosts / deploy (pull_request) Successful in 52s
Merge branch 'main' into renovate/mindsdb-mindsdb-24.x
2024-08-06 15:30:24 -04:00
..
ag-backup migrate docker 2024-07-20 11:44:50 -04:00
ag-main ⬆️ Update ghcr.io/linuxserver/adguardhome-sync Docker digest to c6bad81 2024-07-31 07:00:35 +00:00
AI Merge branch 'main' into renovate/mindsdb-mindsdb-24.x 2024-08-06 15:30:24 -04:00
arm ⬆️ Update ghcr.io/linuxserver/syncthing Docker digest to bfcd4a3 2024-08-03 02:00:31 +00:00
arrs ⬆️ Update ghcr.io/linuxserver/code-server Docker digest to ce5fc2b 2024-08-03 21:00:33 +00:00
authentik Update docker/authentik/docker-compose.yml 2024-08-01 22:26:49 -04:00
cf Merge branch 'main' into renovate/docker.mafyuh.xyz-cloudflare-cloudflared 2024-08-06 14:54:43 -04:00
docker-runner migrate docker 2024-07-20 11:44:50 -04:00
downloaders ⬆️ Update ghcr.io/linuxserver/sabnzbd Docker digest to dda7003 2024-08-01 03:00:29 +00:00
jellyfin ⬆️ Update ghcr.io/linuxserver/jellyfin Docker digest to 88db442 2024-08-05 04:00:33 +00:00
kasm ⬆️ Update ghcr.io/linuxserver/kasm Docker digest to c0cb1ee 2024-07-31 01:14:02 +00:00
netboot ⬆️ Update ghcr.io/linuxserver/netbootxyz Docker digest to 5693c2f 2024-08-04 03:00:31 +00:00
nexus migrate docker 2024-07-20 11:44:50 -04:00
portainer init migration 2024-07-12 23:57:29 -04:00
runner migrate docker 2024-07-20 11:44:50 -04:00
twingate ⬆️ Update docker.mafyuh.xyz/twingate/connector Docker digest to 30864d6 2024-08-05 22:00:31 +00:00
whisper ⬆️ Update onerahmet/openai-whisper-asr-webservice Docker tag to v1.5.0 2024-07-20 15:35:10 +00:00
README.md Update docker/README.md 2024-07-30 22:44:04 -04:00

Yamllint Yamllint Renovate Pulls Header Image

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

Hypervisor OS Tools VPS (arm) Firewall
Proxmox Ubuntu Ubuntu Forgejo Docker Oracle pfSense

Apps in Repo:

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

Apps not yet in repo:

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

Full Workflow Chart

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