# networks
# create a network 'guacnetwork_compose' in mode 'bridged'
networks:
  caddy-net:
    name: caddy-net
    external: true

# services
services:
  # guacd
  guacd:
    container_name: guacd_compose
    image: guacamole/guacd:1.6.0
    restart: always
    volumes:
    - /home/ccalifice/docker-data/guacamole/drive:/drive:rw
    - /home/ccalifice/docker-data/guacamole/record:/record:rw
  
  # postgres
  postgres:
    container_name: postgres_guacamole_compose
    environment:
      PGDATA: /var/lib/postgresql/data/guacamole
      POSTGRES_DB: guacamole_db
      POSTGRES_PASSWORD: 'axfhj34sf098123jksf-19fnk120-34lkf983'
      POSTGRES_USER: guacamole_user
    image: postgres:15.2-alpine
    restart: always
    volumes:
    - /home/ccalifice/docker-data/guacamole/init:/docker-entrypoint-initdb.d:z
    - /home/ccalifice/docker-data/guacamole/data:/var/lib/postgresql/data:Z

  # guacamole
  guacamole:
    container_name: guacamole_compose
    group_add:
      - "1000"
    depends_on:
    - guacd
    - postgres
    environment:
      GUACD_HOSTNAME: guacd
      POSTGRESQL_DATABASE: guacamole_db
      POSTGRESQL_HOSTNAME: postgres
      POSTGRESQL_PASSWORD: 'axfhj34sf098123jksf-19fnk120-34lkf983'
      POSTGRESQL_USERNAME: guacamole_user
      RECORDING_SEARCH_PATH: /record
    image: guacamole/guacamole:1.6.0
    networks:
      - caddy-net
      - default
    volumes:
      - /home/ccalifice/docker-data/guacamole/record:/record:rw
    ports:
## enable next line if not using nginx
    - 8085:8080/tcp # Guacamole is on :8080/guacamole, not /.
## enable next line when using nginx
    - 8080/tcp
    restart: always