version: '3' services: guacd: image: guacamole/guacd container_name: guacd restart: always guac_db: image: postgres:15 container_name: guac_db restart: always environment: POSTGRES_DB: guacamole_db POSTGRES_USER: guacamole_user POSTGRES_PASSWORD: guacamole_pass volumes: - guac_db_data:/var/lib/postgresql/data - ./init:/docker-entrypoint-initdb.d healthcheck: test: ["CMD-SHELL", "pg_isready -U guacamole_user"] interval: 10s timeout: 5s retries: 5 guacamole: image: guacamole/guacamole container_name: guacamole restart: always ports: - "4000:8080" environment: GUACD_HOSTNAME: guacd POSTGRES_HOSTNAME: guac_db POSTGRES_DATABASE: guacamole_db POSTGRES_USER: guacamole_user POSTGRES_PASSWORD: guacamole_pass depends_on: guac_db: condition: service_healthy guacd: condition: service_started volumes: - /opt/guacamole/extensions:/etc/guacamole/extensions - /opt/guacamole/config/guacamole.properties:/etc/guacamole/guacamole.properties volumes: guac_db_data: