adding quac to the network
This commit is contained in:
80
docker_compose/guac/docker-compose.yaml
Normal file
80
docker_compose/guac/docker-compose.yaml
Normal file
@@ -0,0 +1,80 @@
|
||||
# apache-guacamole - https://github.com/code-loading/guacamole-docker-compose/blob/main/docker-compose.yaml
|
||||
services:
|
||||
# ---------------------------------------------------------
|
||||
# Guacamole Daemon (guacd)
|
||||
# ---------------------------------------------------------
|
||||
guacd:
|
||||
image: guacamole/guacd:1.6.0 # Guacd daemon handles RDP, SSH, VNC protocols
|
||||
container_name: guacd
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- guac_network
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# PostgreSQL Database Service
|
||||
# ---------------------------------------------------------
|
||||
guac-postgresql:
|
||||
image: postgres:15
|
||||
container_name: guac-postgresql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRESQL_DATABASE} # Database name (from .env file)
|
||||
POSTGRES_USER: ${POSTGRESQL_USERNAME} # Database username
|
||||
POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD} # Database password
|
||||
volumes:
|
||||
# Mount startup script from guacamole container into postgres container to initialize DB schema
|
||||
- "initdb:/docker-entrypoint-initdb.d:ro"
|
||||
# (optional) Persist database data on host to survive container rebuilds:
|
||||
# - "${HOME}/guacamole/postgres-data:/var/lib/postgresql/data"
|
||||
networks:
|
||||
- guac_network
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Guacamole Web Application
|
||||
# ---------------------------------------------------------
|
||||
guacamole:
|
||||
image: guacamole/guacamole:1.6.0 # Guacamole web app image
|
||||
container_name: guacamole
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRESQL_DATABASE: ${POSTGRESQL_DATABASE} # guacamole container also needs to be provided with DB name, user and password
|
||||
POSTGRESQL_USERNAME: ${POSTGRESQL_USERNAME}
|
||||
POSTGRESQL_PASSWORD: ${POSTGRESQL_PASSWORD}
|
||||
POSTGRESQL_HOSTNAME: guac-postgresql # Must match service name above of postgres
|
||||
POSTGRESQL_ENABLED: "true" # Enable PostgreSQL authentication backend
|
||||
GUACD_HOSTNAME: guacd # Must match service name below of guacd
|
||||
ports:
|
||||
- ${GUAC_HTTP_PORT}:8080
|
||||
volumes:
|
||||
# Mount startup script from guacamole container into postgres container to initialize DB schema
|
||||
- "initdb:/opt/guacamole/extensions/guacamole-auth-jdbc/postgresql/schema:ro"
|
||||
depends_on:
|
||||
- guacd
|
||||
- guac-postgresql
|
||||
networks:
|
||||
- guac_network
|
||||
labels:
|
||||
# Nginx Proxy Manager Automation
|
||||
- "npm.proxy.domains=guac.wompmacho.com"
|
||||
- "npm.proxy.host=${DOCKER_HOST_IP}"
|
||||
- "npm.proxy.port=${GUAC_HTTP_PORT}"
|
||||
- "npm.proxy.scheme=http"
|
||||
- "npm.proxy.ssl_verify=false"
|
||||
- "npm.proxy.websockets=true"
|
||||
- "npm.proxy.ssl.force=true"
|
||||
- "npm.proxy.ssl.certificate.id=2"
|
||||
- "npm.proxy.advanced.config=location = / { return 301 /guacamole/; }"
|
||||
# Pi-hole Automation (Point to Docker Host/Proxy IP)
|
||||
- "pihole.custom-record=[[\"guac.wompmacho.com\", \"${DOCKER_HOST_IP}\"]]"
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Named Volume
|
||||
# ---------------------------------------------------------
|
||||
volumes:
|
||||
initdb:
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Shared Network
|
||||
# ---------------------------------------------------------
|
||||
networks:
|
||||
guac_network:
|
||||
Reference in New Issue
Block a user