For a fresh, Duo MFA-enabled installation of Guacamole, follow instructions outlined here: https://www.cb-net.co.uk/linux/deploying-guacamole-duo-mfa-via-docker-containers-ubuntu/
To get guacamole deployed using docker containers, on Ubuntu 16.04, see my other post here: https://www.cb-net.co.uk/linux/enabling-duo-dual-multi-factor-authentication-mfa-for-guacamole-docker/
In this post I cover how to update your duo MFA-enabled, docker-based guacamole 0.9.11-incubating deployment to 0.9.12-incubating.
This guide assumes you have a working 0.9.11-incubating deployment, comprised of:
- A guacd container named guacd
- A guacamole/guacamole container names guacamole
- A mysql container named guac-mysql
- A pass-through volume that contains duo MFA extension and guacamole.properties file on the docker host in the following location: /var/docker/config/guacamole/
Finally, upgrading 0.9.11-incubating to 0.9.12-incubating does not require a database update, so this is not included below.
# Stop and remove the previous guacd/ guacamole instances sudo docker stop guacamole sudo docker stop guacd sudo docker rm guacd sudo docker rm guacamole # Pull latest container images for guacd/ guacamole sudo docker pull guacamole/guacd sudo docker pull guacamole/guacamole # Pull latest duo MFA extension cd /var/docker/config/guacamole/extensions/ wget http://apache.mirrors.tds.net/incubator/guacamole/0.9.12-incubating/binary/guacamole-auth-duo-0.9.12-incubating.tar.gz tar zxvf guacamole-auth-duo-0.9.12-incubating.tar.gz mv guacamole-auth-duo-0.9.12-incubating/guacamole-auth-duo-0.9.12-incubating.jar /var/docker/config/guacamole/extensions/ # Ensure you clean-up older versions! # Create/ start the new guacd/ guacamole containers sudo docker run --name guacd -d guacamole/guacd sudo docker run --name guacamole --link guacd:guacd --link guac-mysql:mysql \ -e MYSQL_DATABASE='guacamole' \ -e MYSQL_USER='guacamole' \ -v /var/docker/config/guacamole:/config \ -e GUACAMOLE_HOME=/config \ -e MYSQL_PASSWORD='<your password>' \ -d -p 8080:8080 guacamole/guacamole # Set to auto-start on docker restart sudo docker update --restart=always guacd sudo docker update --restart=always guacamole