|
@@ -0,0 +1,66 @@
|
|
|
+version: "3"
|
|
|
+services:
|
|
|
+ guacd:
|
|
|
+ image: guacamole/guacd
|
|
|
+ container_name: gw-guacd
|
|
|
+ hostname: guacd
|
|
|
+ restart: always
|
|
|
+ volumes:
|
|
|
+ - ./data:/data
|
|
|
+ - ./conf:/conf:ro
|
|
|
+ expose:
|
|
|
+ - 4822
|
|
|
+
|
|
|
+ guacamole:
|
|
|
+ image: guacamole/guacamole
|
|
|
+ container_name: gw-guacamole
|
|
|
+ hostname: guacamole
|
|
|
+ restart: always
|
|
|
+ depends_on:
|
|
|
+ - guacamole-db
|
|
|
+ volumes:
|
|
|
+ - ./guac-home:/data
|
|
|
+ - ./conf:/conf:ro
|
|
|
+ expose:
|
|
|
+ - "8080"
|
|
|
+ environment:
|
|
|
+ - GUACD_HOSTNAME=guacd
|
|
|
+ - GUACD_PORT=4822
|
|
|
+ - GUACAMOLE_HOME=/data
|
|
|
+ - LDAP_HOSTNAME=directory.ad.domain.local
|
|
|
+ - LDAP_PORT=389
|
|
|
+ - LDAP_ENCRYPTION_METHOD=none
|
|
|
+ - LDAP_USER_BASE_DN=OU=Users,DC=ad,DC=domain,DC=local
|
|
|
+ - LDAP_SEARCH_BIND_DN=CN=LDAP Bind SERVICE ACCOUNT,OU=Service Accounts,OU=Users,DC=ad,DC=domain,DC=local
|
|
|
+ - LDAP_SEARCH_BIND_PASSWORD=bind_password
|
|
|
+ - LDAP_USERNAME_ATTRIBUTE=sAMAccountName
|
|
|
+ - LDAP_USER_SEARCH_FILTER=(&(objectClass=user)(memberOf=CN=Remote-Desktop-Users,OU=Groups,DC=ad,DC=domain,DC=local))
|
|
|
+ - MYSQL_HOSTNAME=guacamole-db
|
|
|
+ - MYSQL_DATABASE=guacamole_db
|
|
|
+ - MYSQL_USER=guacamole
|
|
|
+ - MYSQL_PASSWORD=mysql_password
|
|
|
+ - VIRTUAL_PORT=8080
|
|
|
+ - VIRTUAL_HOST=remote.domain.com
|
|
|
+ - LETSENCRYPT_HOST=remote.domain.com
|
|
|
+ - LETSENCRYPT_EMAIL=email@domain.com
|
|
|
+
|
|
|
+ guacamole-db:
|
|
|
+ image: mysql
|
|
|
+ container_name: gw-db
|
|
|
+ hostname: guacdb
|
|
|
+ command: mysqld --user=root
|
|
|
+ volumes:
|
|
|
+ - ./mysql-conf:/docker-entrypoint-initdb.d
|
|
|
+ - ./db:/var/lib/mysql:rw
|
|
|
+ environment:
|
|
|
+ - MYSQL_DATABASE=guacamole_db
|
|
|
+ - MYSQL_USER=guacamole
|
|
|
+ - MYSQL_PASSWORD=mysql_password
|
|
|
+ - MYSQL_ROOT_PASSWORD=mysql_root_password
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+networks:
|
|
|
+ default:
|
|
|
+ external:
|
|
|
+ name: reverse-proxy
|