Prérequis
Docker et Docker Compose installés sur votre machine (Linux, VPS, ou même un NAS Synology).
Étape 1 : Préparation des dossiers
Créez un dossier pour votre projet afin de garder les fichiers organisés.
Bash
mkdir guacamole-docker
cd guacamole-docker
mkdir init
mkdir data
Étape 2 : Génération du script d'initialisation de la base de données
C'est l'étape que la plupart des gens oublient. Guacamole ne crée pas ses propres tables automatiquement ; vous devez lui fournir un script SQL d'initialisation.
Nous allons utiliser l'image Docker de Guacamole pour générer ce script et le placer dans le dossier init. PostgreSQL exécutera automatiquement tout script présent dans ce dossier au premier démarrage.
Exécutez cette commande (assurez-vous d'être dans le dossier guacamole-docker) :
Bash
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgres > init/initdb.sql
Étape 3 : Création du fichier docker-compose.yml
Créez un fichier nommé docker-compose.yml dans votre dossier guacamole-docker et collez-y le contenu suivant :
YAML
version: '3'
services:
# 1. Le démon Guacamole (Proxy)
guacd:
image: guacamole/guacd
container_name: guacd
restart: always
# 2. La base de données PostgreSQL
postgres:
image: postgres:15
container_name: guacamole_db
environment:
POSTGRES_USER: guacamole_user
POSTGRES_PASSWORD: VotreMotDePasseSuperSecurise
POSTGRES_DB: guacamole_db
restart: always
volumes:
- ./init:/docker-entrypoint-initdb.d # Charge le script créé à l'étape 2
- ./data:/var/lib/postgresql/data # Persistance des données
# 3. L'interface Web Guacamole
guacamole:
image: guacamole/guacamole
container_name: guacamole_web
restart: always
depends_on:
- guacd
- postgres
ports:
- "8080:8080"
environment:
GUACD_HOSTNAME: guacd
POSTGRES_HOSTNAME: postgres
POSTGRES_DATABASE: guacamole_db
POSTGRES_USER: guacamole_user
POSTGRES_PASSWORD: VotreMotDePasseSuperSecurise
Note importante : Modifiez VotreMotDePasseSuperSecurise par un mot de passe de votre choix (il doit être identique dans la section postgres et la section guacamole).
Étape 4 : Démarrage
Lancez l'ensemble des conteneurs en mode détaché (en arrière-plan) :
Bash
docker-compose up -d
Docker va télécharger les images et démarrer les services. Vous pouvez vérifier que tout tourne avec docker-compose ps.
Étape 5 : Première connexion
Ouvrez votre navigateur web.
Accédez à : http://adresse-ip-de-votre-serveur:8080/guacamole
Utilisez les identifiants par défaut :
Identifiant : guacadmin
Mot de passe : guacadmin
Configuration post-installation (Très important)
Une fois connecté, suivez ces étapes immédiates pour sécuriser votre instance :
Allez dans les paramètres (en haut à droite, cliquez sur "guacadmin" -> "Settings").
Allez dans l'onglet Users.
Cliquez sur l'utilisateur guacadmin.
Changez le mot de passe immédiatement.
(Optionnel) Créez un nouvel utilisateur administrateur avec un autre nom et supprimez ou désactivez le compte guacadmin par défaut pour plus de sécurité.