by oznu

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

289 Stars 109 Forks Last release: 4 months ago (1.2.0) GNU General Public License v3.0 46 Commits 4 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Docker Build Status Travis Docker Pulls

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.


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


docker run \
  -p 8080:8080 \
  -v :/config \

Raspberry Pi / ARMv6

This image will also allow you to run Apache Guacamole on a Raspberry Pi or other Docker-enabled ARMv5/6/7/8 devices by using the

docker run \
  -p 8080:8080 \
  -v :/config \


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
    - See below for details.

Enabling Extensions

Extensions can be enabled using the

variable. Multiple extensions can be enabled using a comma separated list without spaces.

For example:

docker run \
  -p 8080:8080 \
  -v :/config \
  -e "EXTENSIONS=auth-ldap,auth-duo"

Currently the available extensions are:

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

Default User

The default username is

with password

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

example below. When using this setup be careful to gracefully stop the container or data may be lost.
version: "2"
    image: oznu/guacamole
    container_name: guacamole
      - postgres:/config
      - 8080:8080
    driver: local


Copyright (C) 2017-2020 oznu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.