2.2 KiB
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.)
-
Pull Docker Images:
docker pull guacamole/guacamole:latest docker pull guacamole/guacd:latest docker pull mariadb:latest -
Run the following:
docker run --rm guacamole/guacamole:1.4.0 /opt/guacamole/bin/initdb.sh --mysql > initdb.sql -
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:
-
Run
docker compose up -d -
Run
docker cp initdb.sql guacamoledb:/initdb.sql -
Run the following:
docker exec -it guacamoledb bash
cat /initdb.sql | mysql -u root -p guacamole_db
exit
-
Run
docker compose down -
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:
- Run
docker compose up -dProceed tohttp://ip-address:8080/guacamole
User: guacadmin
Pass: guacadmin