services: guacd: image: "guacamole/guacd" container_name: "guacd" hostname: "guacd" restart: "unless-stopped" environment: GUACD_LOG_LEVEL: "debug" networks: guacamole: guacamole: image: "guacamole/guacamole" container_name: "Guacamole" hostname: "guacamole" restart: "unless-stopped" depends_on: - "guacd" healthcheck: test: "curl -f http://localhost:8080/guacamole/ || exit 1" environment: GUACD_HOSTNAME: "guacd" GUACD_PORT: "4822" POSTGRESQL_HOSTNAME: "${DB_HOST}" POSTGRESQL_DATABASE: "${DB_BASE}" POSTGRESQL_USER: "${DB_USER}" POSTGRESQL_PASSWORD: "${DB_PASS}" ports: - "10.0.0.1:8080:8080" networks: guacamole: labels: - "traefik.enable=true" - "traefik.http.routers.guacamole.entrypoints=websecure" - "traefik.http.routers.guacamole.rule=Host(`guacamole.unixyourbrain.org`)" - "traefik.http.routers.guacamole.tls=true" - "traefik.http.routers.guacamole.tls.certresolver=letsencrypt" - "traefik.http.routers.guacamole.middlewares=authelia" - "traefik.http.routers.guacamole.middlewares=guacamole" - "traefik.http.middlewares.guacamole.addprefix.prefix=/guacamole" - "traefik.http.services.guacamole.loadbalancer.server.port=8080" - "traefik.http.services.guacamole.loadbalancer.server.scheme=http" networks: guacamole: name: "guacamole" enable_ipv6: true