Déploiement des Autres Services (Bookstack, Vaultwarden, Nextcloud)
10 min de lecture
Phase 4 : Déploiement des Services Applicatifs
1. Objectif de ce Document
Ce document est un guide pour le déploiement de trois services web essentiels qui complètent notre infrastructure :
BookStack : Un wiki simple et agréable pour la documentation.
Vaultwarden : Un gestionnaire de mots de passe sécurisé et auto-hébergé.
Nextcloud : Un portail de partage de fichiers et de collaboration.
Chaque service sera installé dans son propre conteneur LXC Debian 13 dédié, garantissant l’isolation et la simplicité de maintenance.
2. Le “Pourquoi” : Les Outils du Quotidien
Si GLPI est l’intendant et Zabbix l’infirmerie, ces services sont les outils mis à disposition dans la bibliothèque et les salles d’étude. Ils ne sont pas vitaux au fonctionnement de l’infrastructure, mais ils améliorent drastiquement la productivité, la sécurité et la collaboration de ceux qui l’utilisent.
Service n°1 : BookStack (Wiki de Documentation)
Le Pourquoi : Le Cerveau Collectif du Projet. BookStack est notre “cahier de laboratoire” centralisé. C’est ici que nous allons stocker toutes nos procédures, nos notes de configuration, nos schémas… y compris la documentation que vous êtes en train de lire ! Avoir un wiki dédié évite la dispersion des informations dans des dizaines de fichiers texte.
Adresse IP :10.0.20.23
Procédure de Déploiement (Synthèse)
Créer le Conteneur :ct-deb-bookstack-01 (Debian 13, 2 Cores, 2Go RAM, IP 10.0.20.23).
Installer la Pile Web : Installez apache2, mariadb-server, php (avec les extensions requises par BookStack), git et composer.
Créer la Base de Données : Créez une base et un utilisateur MariaDB dédiés à BookStack.
Installer BookStack :
Clonez le projet depuis son dépôt GitHub : git clone https://github.com/BookStackApp/BookStack.git --release --branch release /var/www/bookstack.
Installez les dépendances PHP : composer install --no-dev.
Configuration :
Copiez le fichier d’exemple .env.example en .env.
Éditez le fichier .env pour y renseigner les informations de connexion à la base de données et l’URL de l’application.
Lancez les migrations de la base de données : php artisan migrate --force.
Configurez un Virtual Host Apache pour qu’il pointe vers le dossier /var/www/bookstack/public.
Guide de Déploiement : Vaultwarden (Gestionnaire de Mots de Passe)
1. Objectif
Ce guide fournit une procédure complète et détaillée pour installer et configurer Vaultwarden, notre gestionnaire de mots de passe auto-hébergé.
Le service sera déployé via Docker à l’intérieur d’un conteneur LXC Debian 13. Cette méthode est la plus recommandée par l’éditeur, car elle garantit une installation isolée, simple à mettre à jour et très stable.
Hostname :ct-deb-vaultwarden-01
Adresse IP :10.0.20.24
2. Le “Pourquoi” : Le Coffre-fort Numérique
Vaultwarden nous permet de stocker tous les mots de passe de l’infrastructure (et personnels) dans un coffre-fort centralisé et chiffré. L’utilisateur n’a plus qu’à retenir un seul “mot de passe maître” pour déverrouiller l’accès à tous les autres. C’est une pratique de sécurité fondamentale.
3. Étape 1 : Création et Préparation du Conteneur LXC
Créer le Conteneur LXC :
Hostname : ct-deb-vaultwarden-01
Template : Debian 13
Disk size : 10 Go (suffisant, car les données seront dans un volume)
CPU : 1 Core
Memory : 1024 MB
Network : 10.0.20.24/24, Gateway 10.0.20.254
DNS : 10.0.20.10
Activer les Fonctionnalités pour Docker :
C’est une étape cruciale. Sélectionnez le conteneur dans Proxmox.
Allez dans Options > Features.
Cliquez sur Edit et cochez les cases Nesting et keyctl. Cela autorise le conteneur LXC à utiliser les fonctionnalités de virtualisation nécessaires pour faire tourner Docker.
Démarrer le conteneur et ouvrir sa console.
Mettre à jour le système :
apt update && apt upgrade -y
4. Étape 2 : Installation de Docker Engine
Nous allons suivre la procédure officielle pour installer Docker.
Nous allons stocker toutes les données de Vaultwarden (comptes, mots de passe chiffrés) dans un dossier sur notre conteneur LXC. Ainsi, même si on supprime le conteneur Docker, nos données sont en sécurité.
mkdir /opt/vw-data
Lancer le conteneur Vaultwarden :
Copiez-collez cette commande dans le terminal. Elle va automatiquement télécharger la dernière image de Vaultwarden et démarrer le service.
-d : Mode “detached”, le conteneur tourne en arrière-plan.
--name vaultwarden : Donne un nom facile à retenir à notre conteneur.
-v /opt/vw-data/:/data/ : C’est le volume mapping. On lie le dossier /opt/vw-data du conteneur LXC au dossier /data/ à l’intérieur du conteneur Docker. C’est ce qui assure la persistance des données.
-p 8080:80 : C’est le port mapping. On redirige le port 80 (HTTP) à l’intérieur du conteneur Docker vers le port 8080 à l’extérieur, sur notre conteneur LXC.
--restart unless-stopped : Politique de redémarrage. Le conteneur redémarrera automatiquement (par exemple, si on redémarre le LXC), sauf si on l’arrête manuellement.
vaultwarden/server:latest : Le nom de l’image Docker à utiliser.
6. Étape 4 : Premier Lancement et Configuration
Vérifier que le conteneur tourne :
docker ps
Vous devriez voir une ligne avec le nom vaultwarden et le statut Up.
Accéder à l’interface web :
Ouvrez un navigateur et allez à l’adresse http://10.0.20.24:8080.
L’interface de Vaultwarden doit s’afficher.
Créer votre compte administrateur :
Cliquez sur Créer un compte.
Remplissez les informations.
Le Mot de Passe Maître exceptionnellement robuste. Si vous le perdez, personne, pas même les administrateurs, ne pourront le récupérer et l'accès à tous vos mots de passe sera définitivement perdu.
C’est le seul mot de passe que vous devrez mémoriser. Il doit être
Le déploiement de base de Vaultwarden est maintenant terminé et le service est opérationnel. Pour un usage en production, des étapes de sécurisation supplémentaires (comme la mise en place du HTTPS via un reverse proxy) sont fortement recommandées.
Guide de Déploiement : Nextcloud All-in-One (AIO)
1. Objectif
Ce guide fournit une procédure complète et détaillée pour installer Nextcloud All-in-One (AIO), la méthode de déploiement recommandée par Nextcloud. Le service sera hébergé via Docker à l’intérieur d’un conteneur LXC Debian 13 dédié.
Hostname :ct-deb-nextcloud-01
Adresse IP :10.0.20.25
2. Le “Pourquoi” : Le Choix de la Modernité et de la Robustesse
Après étude, nous avons choisi la méthode AIO au lieu d’une installation manuelle “brique par brique”. AIO est une solution “tout-en-un” qui utilise Docker pour gérer Nextcloud et tous ses composants (base de données, serveur web, etc.) de manière isolée et optimisée.
Les avantages sont décisifs pour un environnement de production :
✅ Simplicité et Fiabilité : L’installation est bien plus simple et moins sujette aux erreurs de configuration.
✅ Sécurité Intégrée : AIO gère nativement le HTTPS et le renouvellement des certificats, une étape complexe en installation manuelle.
✅ Maintenance Facilitée : Les mises à jour de Nextcloud et de tous ses composants se font en un clic depuis une interface de gestion dédiée.
✅ Extensibilité : L’ajout de fonctionnalités lourdes comme la suite bureautique en ligne (Collabora) est grandement simplifié.
3. Étape 1 : Création et Préparation du Conteneur LXC
Créer le Conteneur LXC :
Hostname : ct-deb-nextcloud-01
Template : Debian 13
Disk size : 50 Go
CPU : 2 Cores
Memory : 4096 MB
Network : 10.0.20.25/24, Gateway 10.0.20.254
DNS : 10.0.20.10
Activer les Fonctionnalités pour Docker :
Sélectionnez le conteneur dans Proxmox, puis Options > Features.
Cliquez sur Edit et cochez Nesting et keyctl.
Démarrer le conteneur et ouvrir sa console.
Mettre à jour le système :
apt update && apt upgrade -y
4. Étape 2 : Installation de Docker Engine
Nous suivons la procédure officielle et sécurisée pour installer Docker.
L’option --volume /var/run/docker.sock... donne au conteneur AIO le droit de piloter Docker sur l’hôte. C’est nécessaire à son fonctionnement, mais c’est un accès à privilèges élevés. C’est l’une des raisons pour lesquelles ce service est isolé dans son propre conteneur LXC.
6. Étape 4 : Configuration via l’Interface AIO
Accéder à l’Interface de Gestion AIO :
Ouvrez un navigateur et allez à l’adresse https://10.0.20.25:8080.
Vous aurez un avertissement de sécurité car le certificat est auto-signé. Acceptez le risque pour continuer.
Récupérer le Mot de Passe Initial :
L’interface vous demande un mot de passe qui a été généré au premier lancement.
Retournez dans la console de votre conteneur LXC et tapez la commande suivante pour afficher les logs du conteneur maître :
docker logs -f nextcloud-aio-mastercontainer
Vous y trouverez le mot de passe généré. Copiez-le et collez-le dans l’interface web.
Lancer la Configuration :
L’assistant vous demande le nom de domaine que vous utiliserez pour Nextcloud. Entrez nextcloud.tne.local (ou une autre FQDN si vous préférez).
L’assistant va ensuite télécharger et démarrer tous les conteneurs nécessaires (Nextcloud lui-même, la base de données, le reverse proxy…). Ce processus peut prendre 10 à 20 minutes.
Vous arriverez sur un tableau de bord où vous pourrez choisir d’activer des conteneurs optionnels (comme la suite bureautique Collabora). Pour l’instant, vous pouvez ignorer cette étape.
Récupérer les Identifiants Admin de Nextcloud :
Une fois tous les conteneurs démarrés, l’interface AIO affichera les identifiants et le mot de passe générés pour le premier compte administrateur de votre instance Nextcloud finale. Notez-les précieusement.
7. Étape 5 : Premier Accès à Nextcloud
Vous pouvez maintenant accéder à votre instance Nextcloud finale à l’adresse que vous avez configurée : https://nextcloud.tne.local (ou https://10.0.20.25 si votre DNS n’est pas encore configuré).
Connectez-vous avec les identifiants d’administrateur générés à l’étape précédente.
La première chose à faire est de changer ce mot de passe par défaut.
Le déploiement de Nextcloud via AIO est maintenant terminé. Vous disposez d’une instance moderne, sécurisée et facile à maintenir.
5. Points de Validation
BookStack : Accédez à http://10.0.20.23. Vous devez voir l’interface de BookStack. Connectez-vous et créez une première page de test.
Vaultwarden : Accédez à http://10.0.20.24:8080. L’interface du coffre-fort web de Vaultwarden doit s’afficher. Créez un compte et enregistrez un mot de passe de test.
Nextcloud : Accédez à http://10.0.20.25/nextcloud. Connectez-vous avec le compte administrateur créé pendant l’installation et téléversez un fichier.
Avec ces services en place, notre infrastructure offre désormais un écosystème d’outils complet et moderne. La prochaine étape est de mettre en place le filtrage web pour nos utilisateurs.