
Virtual Machine (VM) et Linux Containers (LXC) #
J’ai fait le choix de déployer exclusivement des conteneurs LXC sur mon Proxmox. Outre les avantages/inconvénients inhérents à ces 2 technologies, la vrai plus value d’un conteneur LXC sous Proxmox est la posibilité de mapper un répertoire de l’hôte (ici Proxmox -> donc mon NAS qui contient l’ensemble de mes disques durs).
On verra cette option plus tard quand on attaquera la mise en place des différentes piles de services.
Voici un aperçu de mes conteneurs sous Proxmox :

Schéma de l’architecture #
Cliquez sur les noeuds des conteneurs LXC pour accéder à leur documentation !
(Diagramme et docuementation en cours de modification/rédaction)
flowchart LR
proxmox@{ img: "./img/proxmox-full-lockup-inverted-color.svg", label: "", pos: "t", w: 100, h: 50, constraint: "on" }
style proxmox color:none,fill:none,stroke:none,stroke-width:0px
subgraph **Cluster Proxmox**
morpheus("Morpheus
PVE:8006")
style morpheus color:#000000,fill:none,stroke:#333,stroke-width:2px
neo("Neo
PVE + PBS")
neo-pve("Neo
PVE:8006")
neo-pbs("Neo
PBS:8007")
style neo color:#000000,fill:none,stroke:#333,stroke-width:2px
end
subgraph **Conteneurs LXC**
frontend{"LXC-Frontend
Cores : 2
RAM : 2GO
Swap : 2GO
Disque : 16GO"}
elephant{"LXC-Elephant
Cores : 4
RAM : 16GO
Swap : 1GO
Disque : 128GO"}
storage{"LXC-Storage
Cores : 2
RAM : 2GO
Swap : 2GO
Disque : 16GO"}
jellyfin{"LXC-Jellyfin
Cores : 4
RAM : 8GO
Swap : 4GO
Disque : 32GO"}
mediaserver{"LXC-Mediaserver
Cores : 2
RAM : 2GO
Swap : 2GO
Disque : 16GO"}
nextcloud{"LXC-Nextcloud
Cores : 2
RAM : 4GO
Swap : 4GO
Disque : 16GO"}
immich{"LXC-Immich
Cores : 4
RAM : 8GO
Swap : 4GO
Disque : 16GO"}
webapps{"LXC-Webapps
Cores : 2
RAM : 2GO
Swap : 1GO
Disque : 16GO"}
forge{"LXC-Forge
Cores : 4
RAM : 8GO
Swap : 1GO
Disque : 32GO"}
sysadmin{"LXC-Sysadmin
Cores : 2
RAM : 2GO
Swap : 1GO
Disque : 16GO"}
webgis{"LXC-Webgis
Cores : 2
RAM : 4GO
Swap : 4GO
Disque : 32GO"}
end
subgraph **Conteneurs LXC**
smarthome{"LXC-Smarthome
Cores : 2
RAM : 4GO
Swap : 4GO
Disque : 16GO"}
end
subgraph **Services**
docker-frontend-stack[
Traefik
Authelia
Crowdsec
Redis]
style docker-frontend-stack color:none,fill:none,stroke:none,stroke-width:0px
elephant-stack[PostgreSQL 16
PostGIS 3.4.2]
style elephant-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-jellyfin-stack[
***Jellyfin***
***TinyMediaManager***]
style docker-jellyfin-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-mediaserver-stack[
***Navidrome***
***Bonob***
***Calibre Web***]
style docker-mediaserver-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-nextcloud-stack[
***Nextcloud***
***Onlyoffice***]
style docker-nextcloud-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-immich-stack[
***Immich***]
style docker-immich-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-webapps-stack[
***Homepage***
***Filebrowser***
***Vaultwarden***
***Jellystat***]
style docker-webapps-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-sysadmin-stack[
***Healthchecks***
***Uptime-Kuma***
***Dozzle***]
style docker-sysadmin-stack color:none,fill:none,stroke:none,stroke-width:0px
docker-smarthome-stack[
***Home-Assistant***
***Zigbee2mQTT***
***Node-Red***
***ESPHome***]
style docker-smarthome-stack color:none,fill:none,stroke:none,stroke-width:0px
end
proxmox --> morpheus
proxmox --> neo
neo --> neo-pve
neo --> neo-pbs
morpheus --> frontend --> docker-frontend-stack
morpheus --> elephant --> elephant-stack
morpheus --> storage
morpheus --> jellyfin --> docker-jellyfin-stack
morpheus --> mediaserver --> docker-mediaserver-stack
morpheus --> nextcloud --> docker-nextcloud-stack
morpheus --> immich --> docker-immich-stack
morpheus --> webapps --> docker-webapps-stack
morpheus --> forge
morpheus --> sysadmin --> docker-sysadmin-stack
neo-pve --> smarthome --> docker-smarthome-stack
morpheus --> webgis
click frontend href "/posts/20251127-perfect-homelab-serie-08/"
click docker-frontend-stack href "/posts/20251127-perfect-homelab-serie-08/"