Je pars du principe que vous maîtrisez un minimum Docker avec Portainer 😉
Apache Guacamole est une passerelle de bureau à distance sans client.
Il prend en charge les protocoles standards tels que VNC, RDP et SSH.
Nous l’appelons sans client, car aucun plugin ou logiciel client n’est requis.
Grâce au HTML5, une fois Guacamole installé sur un serveur, tout ce dont vous avez besoin pour accéder à vos bureaux est un navigateur Web.
Ce guide couvre les deux méthodes de déploiement basées sur le même fichier docker-compose.yml.
“sudo” OU PAS “sudo” ? À vous de savoir. Personnellement, je suis sur un LXC Debian Proxmox, je travaille donc en “root”, pas besoin de “sudo” !
mkdir guacamole
touch docker-compose.yml
nano docker-compose.yml
Le fichier Compose définit les trois services nécessaires : la base de données (guacamole_db), le démon de connexion (guacd), et l’interface web (guacamole).
version: '3.8'
services:
guacamole_db:
container_name: guacamole_db
hostname: guacamole_db
image: mariadb:10.11
restart: always
volumes:
- ./guacamole_db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=blablalinux
- MYSQL_DATABASE=guacamole_db
- MYSQL_USER=anyblabla
- MYSQL_PASSWORD=blabla
expose:
- 3306
guacd:
container_name: guacd
hostname: guacd
image: guacamole/guacd:latest
restart: always
volumes:
- ./guacd_drive:/drive:rw
- ./guacd_record:/record:rw
expose:
- 4822
guacamole:
container_name: guacamole
hostname: guacamole
restart: always
image: guacamole/guacamole:latest
depends_on:
- guacamole_db
- guacd
ports:
- 8080:8080
links:
- guacd
environment:
- GUACD_HOSTNAME=guacd
- MYSQL_HOSTNAME=guacamole_db
- MYSQL_DATABASE=guacamole_db
- MYSQL_USER=anyblabla
- MYSQL_PASSWORD=blabla
- REMOTE_IP_VALVE_ENABLED=true
Fichier compose également disponible sur ByteStash Blabla Linux.
Important : Les variables d’environnement des services guacamole_db et guacamole doivent correspondre !
Dans “environment” du service “guacamole_db”…
- MYSQL_ROOT_PASSWORD=blablalinux
- MYSQL_USER=anyblabla
- MYSQL_PASSWORD=blabla
Les informations “environement” du service “guacamole_db” doivent être identiques que les informations “environment” du service “guacamole” !
- REMOTE_IP_VALVE_ENABLED=true
- TOTP_ENABLED=true
(Ajouter cette variable en dessous de la variable “- REMOTE_IP_VALVE_ENABLED=true”)

docker-compose up -d
L’identifiant et le mot de passe par défaut est : guacadmin
Il faut maintenant initialiser la base de données MySQL avec les tables Guacamole.
sudo su
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
docker exec -i guacamole_db mysql --user anyblabla --password=blabla guacamole_db < initdb.sql
--user et --password si vous les avez modifiés)…--user anyblabla --password=blabla
Pour vous rendre compte du résultat de cette installation :