Public | Automated Build

Last pushed: 5 months ago
Short Description
Guacamole docker image that supports session storage in Redis for scalability purpose.
Full Description

Guacamole image

This image provides a Guacamole instance from guacamole/guacamole original image.

The goal is to support a redis backend in order to store sessions. The goal is to be able to scale this instance if needed without side effects on the application part.

For guacd you can use the guacamole/guacd image.

Specifics

Patches context.xml to add the custom session manager

It basically adds this in the <Context /> part :

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="redis://redis"
    sticky="false"
    sessionBackupAsync="false"
    lockingMode="uriPattern:/path1|/path2"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
  />

Patches /opt/guacamole/bin/start.sh to handle REDIS_URL env variable

This will add this little script before the start_guacamole directive


# First check if redis URL has been set-up: default to 'redis'
if [ -z "$REDIS_URL" ]; then
  REDIS_URL='redis'
else
  sed -e "s/redis:\/\/redis/redis:\/\/$REDIS_URL/gi" -i /usr/local/tomcat/conf/context.xml
fi

docker-compose

You'll find a docker-compose.yml file as a sample usage to deploy easily the whole stack in the repository.

Docker Pull Command
Owner
selfdeploy
Source Repository

Comments (0)