Sign inSign up

glyptodon/guacamole-db-mysql

By glyptodon

•Updated over 4 years ago

MySQL database which is automatically initialized for Glyptodon Enterprise.

Image
1

100K+

glyptodon/guacamole-db-mysql repository overview

⁠About this image

Glyptodon Enterprise⁠ provides packages of Apache Guacamole⁠ which follow best practices, receive regular updates, and are backed by commercial support. Updates to these packages are made only through contributions to upstream Apache Guacamole, and only to the extent possible without breaking compatibility.

This specific image (glyptodon/guacamole-db-mysql) is a Dockerized deployment of MySQL, built off Docker's official MySQL image⁠ which is automatically initialized with the Apache Guacamole database schema. It is built using the packages provided by Glyptodon Enterprise⁠ and made available under the same EULA⁠. It is normally used to provide a MySQL database for a container using the glyptodon/guacamole image⁠.

⁠How to use this image

⁠Start a Guacamole database instance

To start a MySQL instance which is automatically initialized for use with Apache Guacamole:

docker run --name some-guacamole-db \
    -e ACCEPT_EULA=Y \
    -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
    -e GUACAMOLE_DATABASE=guacamole_db \
    -e GUACAMOLE_USERNAME=guacamole_user \
    -e GUACAMOLE_PASSWORD=guacamole_password \
    -d glyptodon/guacamole

where some-guacamole-db is the name you wish to assign to your container, guacamole_db is the name of the database that should be created within MySQL, and guacamole_user and guacamole_password are the credentials that Guacamole will be using to authenticate with MySQL.

⁠... or use docker-compose⁠

docker-compose is highly recommend 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 an automatically-initialized MySQL database for authentication would look like:

version: "3"
services:

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

    db:
        image: glyptodon/guacamole-db-mysql
        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
        ports:
            - "8080:8080"
        environment:
            ACCEPT_EULA: Y
            GUACD_HOSTNAME: guacd
            MYSQL_HOSTNAME: db
            MYSQL_DATABASE: guacamole_db
            MYSQL_USERNAME: guacamole_user
            MYSQL_PASSWORD: some_password

⁠Environment variables

In addition to the environment variables documented below, all environment variables supported by the official Docker MySQL image⁠ are accepted, as the official MySQL image forms the basis of this image.

⁠ACCEPT_EULA

The ACCEPT_EULA environment variable must be set to "Y" to indicate your acceptance of the Glyptodon Enterprise EULA⁠. This Docker image may not be used except under the terms of the EULA.

⁠GUACAMOLE_DATABASE

The name of the database to create and initialized for use with Apache Guacamole. This environment variable is required and ultimately maps to the MYSQL_DATABASE environment variable of the official MySQL image⁠.

The GUACAMOLE_DATABASE variable is provided here for consistency with the other Guacamole-specific variables, but may be omitted if MYSQL_DATABASE is provided.

⁠GUACAMOLE_USERNAME and GUACAMOLE_PASSWORD

The username and password to use for the MySQL database user specific to the Guacamole web application. This pair of variables differ from the MYSQL_USER and MYSQL_PASSWORD environment variables provided by the official MySQL image⁠ in that the created user has limited privileges, being granted only what privileges are absolutely required for Guacamole to run.

The GUACAMOLE_USERNAME and GUACAMOLE_PASSWORD are not strictly required, as the user created with MYSQL_USER and MYSQL_PASSWORD may be used instead, however they are strongly recommended to ensure the Principle of Least Privilege⁠ is followed.

⁠Docker secrets

Rather than pass data directly in environment variables, a _FILE suffix may be added to any environment variable supported by this image to force that variable to be read from the named file within the container. As Docker secrets store sensitive data within files beneath /run/secrets/ within the container, this can be used to load sensitive data from Docker secrets.

For example, to load the username and password for the limited-privilege user specific to the Guacamole web application from Docker secrets:

docker run --name some-guacamole-db \
    -e ACCEPT_EULA=Y \
    -e MYSQL_RANDOM_ROOT_PASSWORD=yes \
    -e GUACAMOLE_DATABASE=guacamole_db \
    -e GUACAMOLE_USERNAME_FILE=/run/secrets/mysql-username \
    -e GUACAMOLE_PASSWORD_FILE=/run/secrets/mysql-password \
    -d glyptodon/guacamole-db-mysql

⁠License

This Docker image is made available only under the terms of the Glyptodon Enterprise EULA⁠. By passing the value "Y" to the environment variable ACCEPT_EULA, you are expressing that you have a valid and existing license for Glyptodon Enterprise and that you accept that your use of this Docker image is bound by these terms.

Tag summary

Content type

Image

Digest

Size

148.2 MB

Last updated

over 4 years ago

docker pull glyptodon/guacamole-db-mysql