WikiJS/home/homelab/apache-guacamole-setup-guide.md

2.2 KiB

title description published date tags editor dateCreated
Setting Up Apache Guacamole As of Sept 22th 2025 true 2025-09-22T14:14:34.581Z virtual machine, vm, containers, remote-desktop, proxmox, tutorials, guacamole, remote-access markdown 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:
  1. Run docker compose up -d

  2. Run docker cp initdb.sql guacamoledb:/initdb.sql

  3. Run the following:

docker exec -it guacamoledb bash
cat /initdb.sql | mysql -u root -p guacamole_db
exit
  1. Run docker compose down

  2. 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:
  1. Run docker compose up -d Proceed to http://ip-address:8080/guacamole

User: guacadmin Pass: guacadmin