Deploying using Docker
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 name | Base image | Description |
---|---|---|
glyptodon/guacamole | centos:7 | The Apache Guacamole web application, deployed under Apache Tomcat. |
glyptodon/guacd | centos:7 | The Apache Guacamole proxy daemon, guacd, with support for VNC, RDP, SSH, and telnet. |
glyptodon/guacamole-db-mysql | mysql:5 | An instance of MySQL, automatically initialized with the Apache Guacamole database schema. |
glyptodon/guacamole-db-postgres | postgres:11 | An instance of PostgreSQL, automatically initialized with the Apache Guacamole database schema. |
glyptodon/guacamole-ssl-nginx | nginx:1.19 | An 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