All Apache Guacamole deployments require an instance of the web application and an instance of guacd, and most deployments additionally require a backend database to allow web-based management of users and connections. Docker images for each of these components are provided as part of Glyptodon Enterprise, built from the same packages and made available under the same EULA. These images are supported by Glyptodon, Inc. as an alternative distribution and deployment method for Glyptodon Enterprise.

Image nameBase imageDescription
glyptodon/guacamolecentos:7The Apache Guacamole web application, deployed under Apache Tomcat.
glyptodon/guacdcentos:7The Apache Guacamole proxy daemon, guacd, with support for VNC, RDP, SSH, and telnet.
glyptodon/guacamole-db-mysqlmysql:5An instance of MySQL, automatically initialized with the Apache Guacamole database schema.
glyptodon/guacamole-db-postgrespostgres:11An instance of PostgreSQL, automatically initialized with the Apache Guacamole database schema.
glyptodon/guacamole-ssl-nginxnginx:1.19An instance of Nginx which automatically provides SSL termination for Glyptodon Enterprise.

Using docker-compose

docker-compose is highly recommended if deploying Glyptodon Enterprise using Docker, as any deployment of Glyptodon Enterprise using the provided Docker images will involve multiple containers which docker-compose can greatly assist in orchestrating. For example, a full deployment of Glyptodon Enterprise which uses Let's Encrypt for its SSL certificate and an automatically-initialized MySQL database for authentication would look like:

version: "3"
services:

    guacd:
        image: glyptodon/guacd:2
        environment:
            ACCEPT_EULA: Y

    db:
        image: glyptodon/guacamole-db-mysql:2
        environment:
            ACCEPT_EULA: Y
            MYSQL_RANDOM_ROOT_PASSWORD: "yes"
            GUACAMOLE_DATABASE: guacamole_db
            GUACAMOLE_USERNAME: guacamole_user
            GUACAMOLE_PASSWORD: some_password

    guacamole:
        image: glyptodon/guacamole:2
        environment:
            ACCEPT_EULA: Y
            GUACD_HOSTNAME: guacd
            MYSQL_HOSTNAME: db
            MYSQL_DATABASE: guacamole_db
            MYSQL_USERNAME: guacamole_user
            MYSQL_PASSWORD: some_password

    ssl:
        image: glyptodon/guacamole-ssl-nginx:2
        ports:
            - "80:80"
            - "443:443"
        environment:
            ACCEPT_EULA: Y
            GUACAMOLE_HOSTNAME: guacamole
            SSL_HOSTNAME: guac.example.net
            LETSENCRYPT_ACCEPT_TOS: Y
            LETSENCRYPT_EMAIL: your.email@example.net