Skip to content

Latest commit

 

History

History
92 lines (67 loc) · 4.2 KB

README.md

File metadata and controls

92 lines (67 loc) · 4.2 KB

Oxodao's Homelab

Documentation de mon homelab

Architecture

Mon homelab est composé de trois machines:

  • Un NAS Synology pour le stockage (Actuellement 2x2TB WDC WD20EFRX-68EUZN0)
  • Un PC "multimédia" qui est utilisé sur la TV (Thinkcentre m75q / Athlon 300GE)
  • Un PC serveur (i3-10100 / 24Gb DDR4 / 1to nvme)
  • Un router TP Link Archer C6 (AC1200) sous OpenWRT (Pas encore mis en place)

Le serveur est un host XCP-NG (hostname rubeus) avec deux VM principales, une dédiée aux services accessible en publique, l'autre avec les services accessible uniquement sur le réseau interne.

Note: le serveur n'a pas de VM pour XenOrchestra avant l'installation finale, j'utilise sur mon PC une VM sur laquelle j'ai installé XOA via XenOrchestraInstallerUpdater, cela permet d'économiser de la RAM / du CPU utilisé pour autre chose. Une fois le ansible passé, XO est installé dans un container accessible sur la vm privée

Le NAS Synology possède toutes les data et expose plusieurs montage samba:

  • sauvegarde (Mon espace de stockage générique ou je met un peu tout)
  • iso (Mon SR d'iso pour xcp-ng)
  • shares (Espace pour stocker mes films / séries / musiques / ...)
  • documents (Montage utilisé pour Paperless)
  • images (Montage utilisé pour Immich)

Pour la gestion des droits, j'ai mon utilisateur perso pour la connexion depuis mes machines, et des utilisateurs scopés en RO sur iso et shares pour les différents services ansi qu'un utilisateur RW pour Paperless et un Gitea, chacun n'ayant accès qu'aux shares qu'ils ont besoin.

Enfin le PC multimédia est un simple debian 12 qui accèdes aux services hébergés sur le serveur.

Ce guide note particulièrement le setup du serveur puisque le reste est basique et ne nécessite rien de spécial.

Sommaire

  1. Setup XCP-NG
  2. Setup basique des VMs

A partir de ce point la, les divers ansible vont setup tout ça.

Il faut tout de même suivre chaque page pour s'assurer la config des logiciels est complète car tout n'est pas fait dans ansible pour l'instant (e.g. config interne de Jellyfin, création de compte utilisateur, etc...)

  1. Setup des utilitaires communs
  2. Setup serveur DNS
  3. Setup reverse-proxy

-- Setup des apps --

  1. Setup XenOrchestra
  2. Setup Apprise (Notifications)
  3. Setup Jellyfin
  4. Setup Navidrome
  5. Setup Paperless
  6. Setup Gitea
  7. Setup Immich
  8. Setup Manyfold
  9. Setup JDownloader
  10. Setup HomeAssistant
  11. Setup Grafana

-- Setup sécu --

  1. Setup serveurs VPN
  2. Setup firewall
  3. Setup backups

A partir de ce point la, il s'agît d'informations sur l'utilisation usuelle des VMs et du serveur ainsi que comment faire du disaster recovery.

  1. Ajouter un utilisateur sur le VPN
  2. Renouveller les certificats SSL
  3. Restorer un backup
  4. Backup day

Home Assistant

HA à sa propre partie de ce wiki car il a beaucoup de customisations.

Wiki Home Assistant

Roadmap

Chose que je vais potentiellement ajouter après que tout soit fonctionnel

  • Authentik / Authelia: Active Directory / OAuth
    • Gitea: LDAP
    • Jellyfin: LDAP
    • Immich: OAuth
    • Paperless: Ils ont pas l'air de vouloir ni ldap ni oauth
    • Navidrome: huuuh ça à pas l'air très fun non plus
    • JDownloader: Accès externe donc via LEUR login, à voir pour dev un client self-hosted mais API non documentée