Skip to content

Apache Guacamole

apache-guacamole-logo

Guacamole allows me to connect to my various different devices using RDP, VNC or even SSH.

What sets this apart from other tools that can do a similar (or better) job is that this is able to be done from within a browser.

docker-compose.yml

networks:
  default:
    name: proxy
    external: true

services:

  guacd:
    image: guacamole/guacd
    container_name: guacd
    restart: unless-stopped
    networks:
      - default

  guacamole:
    image: guacamole/guacamole
    container_name: guacamole
    restart: unless-stopped
    depends_on:
      - guacd
    environment:
      GUACD_HOSTNAME: guacd
      MYSQL_HOSTNAME: titan-mysql-db
      MYSQL_DATABASE: guacamole
      MYSQL_USER: guacamole
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
      TOTP_ENABLED: "true"
    networks:
      default:
        ipv4_address: "172.19.0.112"
    labels:
      - traefik.enable=true
      - traefik.http.routers.guacamole.rule=Host(`subdomain.domain.co.uk`)
      - traefik.http.routers.guacamole.entrypoints=websecure-int
      - traefik.http.routers.guacamole.tls=true
      - traefik.http.routers.guacamole.tls.certresolver=production
      - traefik.http.routers.guacamole.tls.domains[0].main=domain.co.uk
      - traefik.http.routers.guacamole.tls.domains[0].sans=*.domain.co.uk
      - traefik.http.services.guacamole.loadbalancer.server.port=8080