Skip to content

oxodao/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

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 JDownloader
  9. Setup HomeAssistant
  10. Setup Grafana
  11. Setup Nextcloud
  12. Setup Firefly III

-- 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

About

My own homelab setup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published