/docker-guacamole

A self-contained guacamole docker container for x64 and ARM. Remotely connect over SSH, RDP or VNC using HTML5.

Primary LanguageDockerfileGNU General Public License v3.0GPL-3.0

Docker Pulls Docker Stars

Docker Guacamole

THIS REPO IS A CONTINUATION OF oznu/docker-guacamole.

A Docker Container for Apache Guacamole, a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5.

This image will run on most platforms that support Docker including Docker for Mac, Docker for Windows, Synology DSM and Raspberry Pi 3 boards.

IMAGE ALT TEXT

This container runs the guacamole web client, the guacd server and a postgres database.

Usage

docker run \
  -p 8080:8080 \
  -v </path/to/config>:/config \
  jwetzell/guacamole:1.5.5

Raspberry Pi / ARMv7

Now that the image has been converted to a multi-platform image the command for Raspberry Pi's or other ARM devices is the same.

docker run \
  -p 8080:8080 \
  -v </path/to/config>:/config \
  jwetzell/guacamole:1.5.5

Parameters

The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.

  • -p 8080:8080 - Binds the service to port 8080 on the Docker host, required
  • -v /config - The config and database location, required
  • -e EXTENSIONS - See below for details.

Enabling Extensions

Extensions can be enabled using the -e EXTENSIONS variable. Multiple extensions can be enabled using a comma separated list without spaces.

For example:

docker run \
  -p 8080:8080 \
  -v </path/to/config>:/config \
  -e "EXTENSIONS=auth-ldap,auth-duo"
  jwetzell/guacamole:1.5.5

Currently the available extensions are:

You should only enable the extensions you require, if an extensions is not configured correctly in the guacamole.properties file it may prevent the system from loading. See the official documentation for more details.

Default User

The default username is guacadmin with password guacadmin.

Windows-based Docker Hosts

Mapped volumes behave differently when running Docker for Windows and you may encounter some issues with PostgreSQL file system permissions. To avoid these issues, and still retain your config between container upgrades and recreation, you can use the local volume driver, as shown in the docker-compose.yml example below. When using this setup be careful to gracefully stop the container or data may be lost.

version: "2"
services:
  guacamole:
    image: jwetzell/guacamole:1.5.5
    container_name: guacamole
    volumes:
      - postgres:/config
    ports:
      - 8080:8080
volumes:
  postgres:
    driver: local