Guacamole is a clientless remote desktop gateway for VNC, RDP, and SSH protocols. Using this you can connect to any of your computers via a web browser. It can be installed as a standalone application or as a docker image. Docker installation is the easiest to install and maintain.
Here we shall see how to install Guacamole as a docker container and connect to a remote machine quickly.
Installing Guacamole Docker container
Make sure you have installed Portainer & Docker before proceeding. We will add a docker stack of Guacamole using Portainer.
1. On Portainer, add a new stack with name Guacamole. Leave the Build method as Web Editor.
2. Copy the below compose file content into the Web editor. Do not deploy the stack yet, I’ll explain what some of the important configurations do in the following steps. You can customize if needed.
version: "2" services: guacamole: image: oznu/guacamole container_name: guacamole volumes: - /opt/container/guacamole/config:/config ports: - 8080:8080 restart: unless-stopped
3. The default Container port is 8080, and it can be mapped onto a different host port. Here I set that to the 8080 on host as well.
4. Next, add a location for storing the data. To do that map the /config container folder to a host folder of your choice.
5. Deploy Stack once everything above is done, portainer will install the container and start it.
8. After it starts, go to http://localhost:8080 on your browser. Login with the default username ‘guacadmin‘ and password ‘guacadmin‘. This will take you to the home screen.
9. As there are no connections, let’s add a new one under Settings -> Connections.
10. Give a name for the connection and select VNC protocol. If you have not enabled VNC on your machine yet, here is an way to do it in Ubuntu.
11. Next, for the parameters enter the hostname/IP and VNC port (default:5900). Type in the password if your VNC server requires below Authentication. Finally, hit Save.
All done! Now you can return to home and connect to ‘ubuntu-test’