Lancez une commande dans le shell de votre nœud Proxmox, répondez à quelques questions sur les ressources et la configuration à appliquer, et votre LXC ou VM tourne en quelques minutes. C’est le principe de community-scripts.org : un catalogue de scripts qui automatisent la création et la configuration en une seule passe.

Prérequis : ce guide suppose un Proxmox VE déjà installé et fonctionnel, ainsi qu’un accès root au nœud (via l’interface web ou en SSH). Aucune connaissance avancée de Linux n’est nécessaire pour suivre les exemples, mais c’est un plus pour la compréhension et la relecture des scripts (voir la section sécurité ci-dessous).

Qu’est-ce que community-scripts.org ?

Community-scripts.org est le site du projet Proxmox VE Helper-Scripts (Community Edition), né des scripts de tteck, figure emblématique de la communauté Proxmox. Après son décès, la communauté a repris et fait vivre le projet, qu’elle continue d’enrichir en sa mémoire.

À l’heure où j’écris cet article, le site référence près de 600 scripts pour créer des LXC (conteneurs Linux) et des VM (machines virtuelles) sur Proxmox, couvrant des services aussi variés que AdGuard Home, Gitea, Home Assistant OS, ou encore n8n.

Page d'accueil de community-scripts.org

Sécurité : lire avant d’exécuter

Avant d’aller plus loin, un point important : ces scripts s’exécutent directement dans un shell sur votre nœud Proxmox en tant que root. C’est pratique, mais ça signifie aussi qu’ils ont les pleins pouvoirs sur votre machine. Community-scripts n’échappe pas à cette réalité.

Quelques bonnes pratiques avant d’utiliser ces scripts :

Vérifiez que vous êtes sur le site officiel. Des copies ou imitations du site peuvent exister. Travaillez toujours depuis community-scripts.org et vérifiez chaque source de script avant de l’exécuter.

Lisez le script avant de l’exécuter. Sur le site, chaque service propose un lien vers son code source et les scripts associés. Parcourez-les rapidement, vous n’avez pas besoin de tout comprendre. Cherchez les commandes inhabituelles, les téléchargements vers des domaines inconnus, ou les modifications système qui vous semblent étranges.

Si vous n’êtes pas à l’aise avec bash, faites-le analyser par un LLM : il pourra vous expliquer ce que font les scripts et signaler les parties suspectes.

Et si vous repérez quelque chose d’anormal, le bon réflexe est de tenter de le corriger et d’ouvrir une pull request, ou au minimum de créer une issue si vous n’êtes pas à l’aise avec le code. C’est aussi comme ça qu’on contribue à la communauté.

Vérifiez la source. Le code est hébergé sur GitHub, ouvert à tous. Les scripts sont revus par des contributeurs et chaque modification est tracée.

Commencez par un service non critique. Si vous débutez, évitez de tester un nouveau script sur un service qui héberge des données importantes. Déployez d’abord sur quelque chose que vous pouvez supprimer sans conséquence. Vous pourrez toujours recréer le LXC ou la VM en une commande si quelque chose ne se passe pas comme prévu.

Ces précautions prises, community-scripts est un projet sérieux, activement maintenu, et utilisé par des milliers de homelabers.

Installer Gitea en LXC

Gitea est une forge git légère et auto-hébergée : l’alternative open source à GitHub ou GitLab. C’est un excellent candidat pour un LXC, car il est peu gourmand en ressources et tourne confortablement avec 1 Go de RAM.

1. Récupérez (et relisez) la commande

Sur community-scripts.org, cherchez “Gitea” et copiez la commande proposée. Elle ressemble à ceci :

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gitea.sh)"

Vérifiez toujours la commande directement sur le site, elle peut être mise à jour.

Sur la page du service, l’onglet Advanced expose des sliders pour ajuster CPU, RAM et disque avant de copier la commande. La commande générée intègre automatiquement ces valeurs :

var_cpu="2" var_ram="2048" var_disk="16" bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gitea.sh)"

Sliders CPU/RAM/disque sur la page Gitea de community-scripts.org

2. Ouvrez le shell de votre nœud Proxmox

Vous devez être connecté au nœud hôte, c’est-à-dire le serveur Proxmox lui-même, pas dans une VM ou un LXC existant. Deux façons d’y accéder : depuis l’interface Proxmox, cliquez sur votre nœud (son nom apparaît en haut de l’arborescence à gauche sous Datacenter) puis Shell. Ou connectez-vous directement en SSH (ssh root@IP-Proxmox).

3. Collez et lancez la commande

Collez la commande récupérée à l’étape 1 et validez. L’assistant démarre et propose quatre options :

  • Default Install : la méthode la plus rapide, les paramètres par défaut sont appliqués automatiquement. Vous pouvez les consulter sur la page du service sur community-scripts.org avant de lancer.
  • Advanced Install : prend un peu plus de temps, car il faut répondre à chaque option de configuration, mais permet d’ajuster finement toutes les configurations (RAM, CPU, mot de passe root, ID du LXC et bien d’autres). Si votre réseau utilise des VLANs par exemple, c’est ici que vous pourrez les configurer, Default Install ne le permettra pas.

Les deux dernières entrées du menu (User Defaults et Settings) servent respectivement à pré-définir des valeurs réutilisables pour vos prochains scripts et à ajuster des réglages plus avancés. Pour ce premier déploiement, on s’en tient à Default Install ou Advanced Install.

Menu Default Install / Advanced Install de l'assistant Gitea

Une fois les paramètres confirmés, le reste est automatique. Le script crée le conteneur, installe Gitea et ses dépendances, puis démarre le service. C’est très rapide.

Juste avant de lancer l’installation, le script propose un Verbose Mode. Répondez Yes pour voir le détail des opérations défiler en direct, pratique pour comprendre ce qui se passe ou diagnostiquer un souci. En No, l’installation se fait sans afficher de détail.

À la fin, le script affiche si l’installation s’est bien déroulée, la version de Gitea installée, ainsi que l’URL d’accès, déjà complète avec le port 3000, sous la forme http://IP_DU_LXC:3000.

Logs d'installation de Gitea avec l'URL finale

Le conteneur LXC apparaît également dans l’arborescence de Proxmox. Son onglet Summary confirme qu’il tourne (Status: running) et récapitule ses ressources. Les tags community-script et git ainsi que le panneau Notes (avec ses raccourcis vers la page du script et sa documentation) sont ajoutés automatiquement, et vous pouvez les éditer ou les supprimer.

LXC Gitea dans l'interface Proxmox

4. Accédez à l’interface

Ouvrez l’URL fournie à la fin de l’installation dans votre navigateur. Gitea vous accueille avec son assistant de configuration initiale, où vous définirez la base de données, le compte administrateur et les paramètres de l’instance.

Interface web Gitea au premier lancement

Mise à jour : tapez simplement update dans la console du LXC. Les LXC créés par community-scripts embarquent un script de mise à jour maison qui se charge du reste.

Installer Ubuntu 24.04 en VM

Pour les services qui nécessitent un noyau Linux dédié ou encore une isolation plus forte, une VM est préférable à un LXC. Community-scripts propose aussi des templates de VM prêts à l’emploi.

LXC ou VM ? Un LXC partage le noyau de l’hôte Proxmox : il démarre en quelques secondes et consomme peu de ressources. Une VM embarque son propre noyau, elle est donc plus isolée, mais plus lourde. Pour la plupart des services d’un homelab, un LXC suffit.

1. Récupérez la commande

Sur community-scripts.org, cherchez “Ubuntu” et copiez la commande pour Ubuntu 24.04 VM, à lancer depuis le shell de votre nœud Proxmox ou via SSH :

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu2404-vm.sh)"

Vérifiez toujours la commande directement sur le site.

2. Lancez depuis le shell du nœud

Le script commence par demander une confirmation.

Confirmation de création de la VM Ubuntu

Ensuite, le script affiche un prompt “Use Default Settings?” avec deux choix : Yes pour appliquer les paramètres par défaut, ou Advanced pour ajuster finement la configuration (CPU, RAM, disque, réseau, etc.).

Choix Default Settings ou Advanced pour la VM Ubuntu

Vers la fin du processus, le script demande “Start VM when completed?”. Choisissez No. La VM est créée « vide » : tant que vous n’avez pas renseigné l’onglet Cloud-Init (utilisateur, mot de passe, clés SSH), aucun compte ne permet de s’y connecter. Si elle démarrait maintenant, vous tomberiez sur un écran de login sans identifiants valides. On configure d’abord, on démarre ensuite.

Question "Start VM when completed?" avec No sélectionné

Le script termine et affiche un résumé de la configuration créée.

Résumé de création de la VM Ubuntu

Cloud-Init : cette VM utilise Cloud-Init pour sa configuration initiale. Cloud-Init est un outil standard qui s’exécute au premier démarrage d’une VM pour la configurer automatiquement : nom d’utilisateur, mot de passe, adresse IP, clés SSH, etc. Dans Proxmox, cela se traduit par un onglet Cloud-Init dans les paramètres de la VM, où vous pouvez renseigner des valeurs avant le premier boot. Si vous souhaitez en savoir plus dans le contexte de community-scripts, une discussion dédiée est disponible sur le dépôt.

3. Configurez Cloud-Init avant le démarrage

Dans l’interface Proxmox, ouvrez la VM nouvellement créée et cliquez sur l’onglet Cloud-Init. C’est ici que vous définissez l’utilisateur, le mot de passe, les clés SSH et la configuration réseau. Ces paramètres seront appliqués automatiquement au premier démarrage.

Onglet Cloud-Init dans l'interface Proxmox

4. Démarrez la VM et connectez-vous

Une fois Cloud-Init configuré, démarrez la VM depuis Proxmox. Connectez-vous via la console intégrée ou en SSH avec les identifiants que vous venez de définir.

Un avantage des images de VM Cloud-Init est qu’elles permettent d’utiliser la console xterm.js. La VM est en effet créée avec un port série, ce qu’exploite xterm.js : sélectionnez-la dans le menu déroulant à côté du bouton Console et profitez d’un copier-coller fonctionnel, d’un terminal qui se redimensionne avec la fenêtre et d’un rendu texte bien plus net que noVNC.

Mise à jour : les VM n’embarquent pas ce mécanisme, il n’existe pas de script de mise à jour dédié comme pour les LXC. Utilisez le gestionnaire de paquets standard depuis la VM : sudo apt update && sudo apt upgrade.

Conclusion

Community-scripts.org est une excellente porte d’entrée pour explorer les possibilités de Proxmox. En quelques minutes, vous pouvez déployer des dizaines de services sur votre homelab sans vous perdre dans des configurations interminables.

Gardez à l’esprit que ces scripts sont un raccourci, pas un substitut à la compréhension de ce que vous installez. Avec le temps, lisez les scripts que vous utilisez, vous apprendrez énormément sur le fonctionnement de Proxmox, des LXC, et de Linux en général.

Une fois vos services en place, leur sauvegarde devient le sujet suivant. Les LXC et VM créés par ces scripts sont des objets Proxmox standards : ils se sauvegardent via vzdump, que ce soit nativement, avec Proxmox Backup Server, ou avec Plakar, dont l’intégration Proxmox (encore en release candidate, v1.1.0, au moment où j’écris) s’appuie sur ce même mécanisme. Si vous voulez en savoir plus sur Plakar, une solution open source française, j’y ai consacré deux articles : une prise en main complète puis une stratégie de copie hors site avec Exoscale S3. Je détaillerai prochainement dans un article dédié ma stratégie complète de sauvegarde de mon homelab, basée sur cette intégration pour des copies chiffrées hors site sur S3.

Le catalogue complet est disponible sur community-scripts.org.