version : '3'
# services
services :
# guacd
guacd :
container_name : mistborn_production_guacd
image : guacamole/guacd:latest
networks :
guacnetwork :
restart : unless-stopped
volumes :
- ../../mistborn_volumes/extra/guacamole/drive:/drive:rw
- ../../mistborn_volumes/extra/guacamole/record:/record:rw
# postgres
guac_postgres :
container_name : mistborn_production_guac_postgres
env_file :
- ../.envs/.production/.guacamole
environment :
PGDATA : /var/lib/postgresql/data/guacamole
image : postgres
networks :
guacnetwork :
restart : unless-stopped
volumes :
- ../../mistborn_volumes/extra/guacamole/init:/docker-entrypoint-initdb.d:ro
- ../../mistborn_volumes/extra/guacamole/data:/var/lib/postgresql/data:rw
# guacamole
guacamole :
container_name : mistborn_production_guacamole
labels :
- "traefik.enable=true"
- "traefik.http.routers.guacamole-http.rule=Host(`guac.mistborn`)"
- "traefik.http.routers.guacamole-http.entrypoints=web"
- "traefik.http.routers.guacamole-http.middlewares=mistborn_auth@file,add-guacamole"
- "traefik.http.routers.guacamole-https.rule=Host(`guac.mistborn`)"
- "traefik.http.routers.guacamole-https.entrypoints=websecure"
- "traefik.http.routers.guacamole-https.middlewares=mistborn_auth@file,add-guacamole"
- "traefik.http.routers.guacamole-https.tls.certresolver=basic"
- "traefik.http.middlewares.add-guacamole.addPrefix.prefix=/guacamole"
- "traefik.http.services.guacamole-service.loadbalancer.server.port=8080"
depends_on :
- guacd
- guac_postgres
environment :
GUACD_HOSTNAME : guacd
GUACD_PORT : 4822
#GUACAMOLE_HOME: /config
env_file :
- ../.envs/.production/.guacamole
image : guacamole/guacamole:latest
links :
- guacd
networks :
guacnetwork :
#ports:
## enable next line if not using nginx
## - 8080:8080/tcp # Guacamole is on :8080/guacamole, not /.
## enable next line when using nginx
#- 8080/tcp
restart : unless-stopped
# networks
# create a network 'guacnetwork' in mode 'bridged'
networks :
guacnetwork :
driver : bridge