Proxmox container LXC ou container docker dans un docker LXC ?

xavax

Chevalier Jedi
10 Mars 2021
162
6
18
Bonjour,
Je suis entrain de refaire mon installation domotique et je me demande comment installer tous les services ?
Qu'est ce qui va consommer le plus de ressources :

  • 1 container LXC avec docker
    → nodered
    → Myfox
    → mosquito
    ->zigbee2mqtt
    → zwavejs
    ->portainer
ou

  • 6 container LXC → nodered → Myfox → mosquito ->zigbee2mqtt → zwavejs ->portainer
Merci pour vos conseils
 
Bonjour,

Plutôt que de raisonner en terme de ressource, je ferais mon choix en terme de faciliter de gestion.

Un container LXC aura beaucoup plus d'avantages : IP dédiée dans ton LAN, SSH possible, sauvegarde et réplication aisée...
Tu pourra aussi arrêter tes containers individuellement; alors que pour Docker, tu arrête le container, tu arrête tous les services.

De plus un container LXC consomme très peu de ressources, de l'ordre 30Mb à 100Mb pour un service Web (exemple gitea 100Mb), voir 200Mb pour des containers plus lourds comme MariaDB.

Chez mois un docker avec 4 stacks (portainer compris) consomme 200Mb dans une LXC Proxmox.

J'utilise Docker quand je n'ai pas le choix ou pour expérimenter des solutions techniques.
 
Question sur cette configuration multi LXC, comment faire le reverse proxy si plusieurs LXC et donc IP ? Tu mets le service de reverse sur un LXC qui redistribue sur les différentes IP ? De mon côté j'utilise nginx avec configuration dans le docker compose mais je ne vois pas comment faire si les applications sont sur différentes machines virtuelles.
 
J'utilise nginx + fail2ban dans un container LXC qui gère l'aiguillage vesr les différentes VM et container LXC.

J'ai un fichier de conf par "Virtual Host" dans le répertoire sites-available qui est inclus via la config de base "nginx.conf" présente dans /etc/nginx

Concrètement, dans ce répertoire, j'ai :

default.conf : Tous les accès qui échoue via des erreurs d'URL
authelia.conf : Pour acceder a l'interface Authelia
ipfire.conf : Juste pour que mon firewall viennent chercher la blacklist mis a jour par fail2ban
...
nextcloud.conf : Mon cloud.

Au niveau de ces fichiers je fais juste un aiguillage sousdomaine.MonDomain.nd -> IP du service hébergé dans une LXC dans ma DMZ. Tout le reste du trafic sera gérer par le fichier "default.conf" ou j'ai une consigne du type pour rediriger vers un 404 perso :

Code:
  listen 443 ssl http2 default_server;
  server_name everythingelse;
 
  include /etc/nginx/snippets/404.conf;

Pour les autres c'est du classique; par exemple avec matomo :

Code:
  listen 443 ssl http2;
  server_name matomo.sousdomaine.mondomain.nd;

....

  location / {
        include /etc/nginx/conf.d/proxy.conf;
        #include /etc/nginx/snippets/authelia-auth.conf;
        proxy_pass http://192.168.3.15;
    }

Après c'est mieux de mettre un autre nom moins parlant que matomo qui pourrait être trouvé par un scan systématique de services.

Tu peux aussi faire du filtrage IP pour certaines conf. Par exemple pour celle de mon firewall qui vient chercher le fichier "blacklist' ou l'IP sera forcement celle de ma Box :


Code:
# filtrer l’accès à ta seul Box
allow 83.xxx.xxx.0/24;
deny all;
 
Dernière édition:
  • J'aime
Réactions: Nincha et flipper