Pratique pour déployer rapidement Apache Guacamole dans Portainer en créant une pile (stack) à partir d'un fichier compose YAML.
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.
Manuelle, ou via Portainer.
“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
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
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
Vous pouvez démarrer le container !
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.
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 anyblabla --password=blabla
Je vous propose cette vidéo pour vous rendre compte du résultat…