version: "3" services: guacd: image: guacamole/guacd container_name: gw-guacd hostname: guacd restart: always networks: - guacnet volumes: - ./data:/data - ./conf:/conf:ro expose: - 4822 guacamole: image: guacamole/guacamole container_name: gw-guacamole hostname: guacamole restart: always networks: - guacnet depends_on: - guacamole-db volumes: - ./guac-home:/data - ./conf:/conf:ro ports: - "80:8080" environment: - GUACD_HOSTNAME=guacd - GUACD_PORT=4822 - GUACAMOLE_HOME=/data - MYSQL_HOSTNAME=guacamole-db - MYSQL_DATABASE=guacamole_db - MYSQL_USER=guacamole - MYSQL_PASSWORD=${MYSQL_PASSWORD} - VIRTUAL_PORT=8080 guacamole-db: image: mysql container_name: gw-db hostname: guacdb restart: always networks: - guacnet 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: guacnet: driver: bridge