Skip to content

Modern and simple configuration for Apache Guacamole in Docker using Docker Compose

Notifications You must be signed in to change notification settings

JoshCodeStuff/Apache-Guacamole-Docker-Compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hello! Welcome to my Apache Guacamole: Docker Compose repository! The purpose of this project is to add new and up to date install instructions for Apache Guacamole to the internet. The current offerings are either out of date, horribly formatted, overly clunky (like the Apache docs themselves), broken, or all the above. It is my hope this walkthrough will be easy to understand and well formatted. Without further ado, let's get started! Please note: This was tested in an Ubuntu LXC container hosted by Proxmox.

1: Install Docker and Docker Compose.

You can find the instructions to do so here: https://docs.docker.com/engine/install/

If you are using Ubuntu, you can use the setup script (dockersetup.sh) in this repo.

2: Setting up directories

mkdir ./init
chmod -R +x ./init

docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --postgresql > ./init/initdb.sql

3: Docker Compose File

Create a new Compose file:

nano docker-compose.yml

Paste in the following code and save:

networks:
  guacnetwork_compose:
    driver: bridge

services:

  guacd:
    container_name: guacd
    image: guacamole/guacd
    networks:
      guacnetwork_compose:
    restart: always
    volumes:
    - ./drive:/drive:rw
    - ./record:/record:rw

  postgres:
    container_name: postgres
    environment:
      PGDATA: /var/lib/postgresql/data/guacamole
      POSTGRES_DB: guacamole_db
      POSTGRES_PASSWORD: 'ChangeMe'
      POSTGRES_USER: guacamole_user
    image: postgres:15.2-alpine
    networks:
      guacnetwork_compose:
    restart: always
    volumes:
    - ./init:/docker-entrypoint-initdb.d:z
    - ./data:/var/lib/postgresql/data:Z

  guacamole:
    container_name: guacamole
    depends_on:
    - guacd
    - postgres
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRES_DATABASE: guacamole_db
      POSTGRES_HOSTNAME: postgres
      POSTGRES_PASSWORD: 'ChangeMe'
      POSTGRES_USER: guacamole_user
      TOTP_ENABLED: 'true'
      WEBAPP_CONTEXT: ROOT #Changes URL from <IP>/guacamole/ to just <IP>
    image: guacamole/guacamole
    links:
    - guacd
    networks:
      guacnetwork_compose:
    ports:
    - 80:8080/tcp
    restart: always

4: Start the containers!

docker compose up -d

5: Final Steps

Navigate to the IP Address of the install. (for example) 10.0.0.200

About

Modern and simple configuration for Apache Guacamole in Docker using Docker Compose

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages