From 14c266464e4a031b06af866e014f4fc8022312de Mon Sep 17 00:00:00 2001 From: cheeks Date: Mon, 22 Sep 2025 14:14:37 +0000 Subject: [PATCH] docs: create home/homelab/apache-guacamole-setup-guide --- home/homelab/apache-guacamole-setup-guide.md | 96 ++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 home/homelab/apache-guacamole-setup-guide.md diff --git a/home/homelab/apache-guacamole-setup-guide.md b/home/homelab/apache-guacamole-setup-guide.md new file mode 100644 index 0000000..f09bc71 --- /dev/null +++ b/home/homelab/apache-guacamole-setup-guide.md @@ -0,0 +1,96 @@ +--- +title: Setting Up Apache Guacamole +description: As of Sept 22th 2025 +published: true +date: 2025-09-22T14:14:34.581Z +tags: virtual machine, vm, containers, remote-desktop, proxmox, tutorials, guacamole, remote-access +editor: markdown +dateCreated: 2025-09-22T14:14:34.581Z +--- + +# Apace Guacamole Setup Guide + +##### (Assumes setup of docker complete.) +1. Pull Docker Images: + ``` + docker pull guacamole/guacamole:latest + docker pull guacamole/guacd:latest + docker pull mariadb:latest + ``` + +2. Run the following: `docker run --rm guacamole/guacamole:1.4.0 /opt/guacamole/bin/initdb.sh --mysql > initdb.sql` + +3. Create initial DB docker-compose.yml: +``` +version: '3' +services: + guacdb: + container_name: guacamoledb + image: mariadb:latest + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: 'MariaDBRootPass' + MYSQL_DATABASE: 'guacamole_db' + MYSQL_USER: 'guacamole_user' + MYSQL_PASSWORD: 'MariaDBUserPass' + volumes: + - './db-data:/var/lib/mysql' +volumes: + db-data: +``` +4. Run `docker compose up -d` + +5. Run `docker cp initdb.sql guacamoledb:/initdb.sql` + +6. Run the following: +``` +docker exec -it guacamoledb bash +cat /initdb.sql | mysql -u root -p guacamole_db +exit +``` + +7. Run `docker compose down` + +8. update docker-compose.yml: +``` +version: '3' +services: + guacdb: + container_name: guacamoledb + image: mariadb:latest + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: 'MariaDBRootPass' + MYSQL_DATABASE: 'guacamole_db' + MYSQL_USER: 'guacamole_user' + MYSQL_PASSWORD: 'MariaDBUserPass' + volumes: + - './db-data:/var/lib/mysql' + guacd: + container_name: guacd + image: guacamole/guacd:latest + restart: unless-stopped + guacamole: + container_name: guacamole + image: guacamole/guacamole:latest + restart: unless-stopped + ports: + - 8080:8080 + environment: + GUACD_HOSTNAME: "guacd" + MYSQL_HOSTNAME: "guacdb" + MYSQL_DATABASE: "guacamole_db" + MYSQL_USER: "guacamole_user" + MYSQL_PASSWORD: "MariaDBUserPass" + TOTP_ENABLED: "true" + depends_on: + - guacdb + - guacd +volumes: + db-data: + ``` + +9. Run `docker compose up -d` Proceed to `http://ip-address:8080/guacamole` + +User: `guacadmin` +Pass: `guacadmin` \ No newline at end of file