Docker-Guacamole/docker-compose.yml

89 lines
2.6 KiB
YAML

version: '3.7'
# networks
# create a network 'guacnetwork_net' in mode 'bridged'
networks:
interne:
driver: overlay
attachable: true
externe:
driver: bridge
attachable: true
# services
services:
# guacd
guacd:
container_name: guacd
image: guacamole/guacd:latest
networks:
interne:
restart: always
volumes:
- ./drive:/drive:rw
- ./record:/record:rw
# postgres
postgres:
container_name: postgres
environment:
PGDATA: /var/lib/postgresql/data/guacamole
POSTGRES_DB: guacamole_db
POSTGRES_PASSWORD: 'PasswordHere123456'
POSTGRES_USER: guacamole_user
image: postgres:15.2-alpine
networks:
interne:
restart: always
volumes:
- ./init:/docker-entrypoint-initdb.d:z
- ./data:/var/lib/postgresql/data:
# guacamole
guacamole:
container_name: guacamole
depends_on:
- guacd
- postgres
environment:
GUACD_HOSTNAME: guacd
POSTGRES_DATABASE: guacamole_db
POSTGRES_HOSTNAME: postgres
POSTGRES_PASSWORD: 'PasswordHere123456'
POSTGRES_USER: guacamole_user
LDAP_HOSTNAME: "10.0.4.2"
LDAP_PORT: 389
LDAP_ENCRYPTION_METHOD: "none"
LDAP_USER_BASE_DN: "ou=utilisateurs,dc=tips-of-mine,dc=local"
LDAP_USERNAME_ATTRIBUTE: "sAMAccountName"
LDAP_SEARCH_BIND_DN: "cn=service-guacamole,ou=Services,ou=utilisateurs,dc=tips-of-mine,dc=local"
LDAP_SEARCH_BIND_PASSWORD: "some_password"
LDAP_GROUP_BASE_DN: "ou=groupes,dc=tips-of-mine,dc=local"
LDAP_GROUP_NAME_ATTRIBUTE: "cn"
image: guacamole/guacamole:latest
links:
- guacd
networks:
interne:
# 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: always
volumes:
- ./guacamole-config:/config
labels:
- "traefik.enable=true"
- "traefik.backend=guacamole"
# - "traefik.http.routers.bastion.rule=Host(`guacamole.tips-of-mine.local`)"
# - "traefik.http.middlewares.guac-addprefix.addprefix.prefix=/guacamole"
# - "traefik.http.services.bastion.loadbalancer.server.port=8080"
- "traefik.http.services.guacamole.loadbalancer.server.port=8080"
- "traefik.http.routers.guacamole.rule=Host(`guacamole.tips-of-mine.local`)"
- "traefik.http.routers.guacamole.tls.certresolver=zero"
- "traefik.http.routers.guacamole.entrypoints=https"
- "traefik.http.routers.guacamole.middlewares=guacamole-addprefix"
- "traefik.http.middlewares.guacamole-addprefix.addprefix.prefix=/guacamole"
- "traefik.docker.network=interne"