An ansible role to deploy Apache Guacamole with Docker and HAProxy as reverse proxy.
Available variables are listed below, along with default values (see defaults/main.yml
):
default_user: "{{ ansible_user_id }}"
installation_path: "{{ ansible_env.HOME }}/docker-stack"
dockercompose_version: '3.9'
postgres_user: "guacamole_db_user"
postgres_password: "gcZYye@7U89JF%"
# define haproxy docker container version
haproxy_version: "2.4"
# define postgres docker container version
postgres_version: "15.0"
# define guacamole containers version
guacamole_backend_version: "1.5.3"
guacamole_frontend_version: "1.5.3"
Where:
fqdn
(optional) is the Fully Qualified Domain Name you want to make your instance available at. For exampleguacamole.company.com
default_user
is the user who will perform the installationinstallation_path
is the target directory to put all the required filesdockercompose_version
is the docker-compose.yml file versionpostgres_user
is the Postgres usernamepostgres_password
is the Postgres database passwordhaproxy_version
defines HAProxy docker image tag versionpostgres_version
defines Postgres docker image tag versionguacamole_backend_version
defines guacamole/guacd docker image tag versionguacamole_frontend_version
defines guacamole/guacamole docker image tag version
This role requires the following Ansible collection to be present on the node controller:
- community.docker
- community.general >= 6.5.0
- community.crypto
The example below will deploy Apache Guacamole on the remote server and make the instance accessible at https://guacamole.company.local/guacamole
. A self-signed SSL certificate will be automatically generated for the FQDN:
- hosts: server
become: true
vars:
fqdn: guacamole.company.local
roles:
- theko2fi.apache_guacamole
The example below will deploy Apache Guacamole and make it available at https://192-168-5-2.traefik.me/guacamole
where 192.168.5.2
is the IP address of the remote server. The URL will automatically be adapted according to your effective server IP address. A signed certificate provided by will be used.
- hosts: server
become: true
roles:
- theko2fi.apache_guacamole
- MIT
- BSD
Bug reports and pull requests are welcome on GitHub at https://github.com/theko2fi/ansible-role-apache-guacamole.git.
Created by Kenneth KOFFI, you can reach him on the following platforms:
- medium: https://theko2fi.medium.com
- github: https://github.com/theko2fi
- linkedin: https://www.linkedin.com/in/kenneth-koffi-6b1218178