96 lines
2.2 KiB
Markdown
96 lines
2.2 KiB
Markdown
---
|
|
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` |