apt update
apt install -y docker.io docker-compose
systemctl enable docker
systemctl start docker
docker --version
docker-compose --version
mkdir -p /opt/guacamole
cd /opt/guacamole
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > initdb.sql
Cette commande télécharge l'image officielle Guacamole et génère le fichier SQL contenant la structure de la base de données ainsi que le compte administrateur par défaut.
nano docker-compose.yml
version: '3'
services:
guacamole-db:
image: mysql:8.0
container_name: guacamole-mysql
environment:
MYSQL_ROOT_PASSWORD: guacamole_root_password
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: guacamole_password
volumes:
- ./initdb.sql:/docker-entrypoint-initdb.d/initdb.sql
- guacamole-db-data:/var/lib/mysql
restart: unless-stopped
guacd:
image: guacamole/guacd
container_name: guacd
restart: unless-stopped
guacamole:
image: guacamole/guacamole
container_name: guacamole
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: guacamole-db
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: guacamole_password
ports:
- "8080:8080"
depends_on:
- guacd
- guacamole-db
restart: unless-stopped
volumes:
guacamole-db-data:
guacamole-db-data permet la persistance des données de la base de donnéesdocker-compose up -d
initdb.sqldocker ps
guacamole, guacd et guacamole-mysql.cd /opt/guacamole
docker-compose stop
cd /opt/guacamole
docker-compose start
cd /opt/guacamole
docker-compose restart
docker logs guacamole
docker logs guacd
docker logs guacamole-mysql
cd /opt/guacamole
docker-compose pull
docker-compose up -d
docker exec guacamole-mysql mysqldump -u guacamole_user -pguacamole_password guacamole_db > backup_guacamole.sql
docker exec -i guacamole-mysql mysql -u guacamole_user -pguacamole_password guacamole_db < backup_guacamole.sql
guacadminguacadminapt install -y openssh-server
systemctl enable ssh
systemctl start ssh
systemctl status ssh
Le service doit être actif (running).
root est désactivée pour des raisons de sécurité. Si vous souhaitez vous connecter en root via Guacamole, modifiez le fichier de configuration SSH :
nano /etc/ssh/sshd_config
#PermitRootLogin prohibit-password et décommenter làprohibit-password par yesNote de sécurité : Dans un environnement de production, il est recommandé de créer un utilisateur dédié plutôt que d'autoriser la connexion root directe. Cette configuration est acceptable dans un environnement de test.