diff --git a/Containers/Docker/Docker Compose/Apache Guacamole.md b/Containers/Docker/Docker Compose/Apache Guacamole.md new file mode 100644 index 0000000..b48958f --- /dev/null +++ b/Containers/Docker/Docker Compose/Apache Guacamole.md @@ -0,0 +1,87 @@ +**Purpose**: HTML5-based Remote Access Broker for SSH, RDP, and VNC. Useful for remote access into an environment. + +## Docker Configuration +```jsx title="docker-compose.yml" +version: '3' + +services: + app: + image: jasonbean/guacamole + ports: + - 8080:8080 + volumes: + - /srv/containers/guacamole:/config + environment: + - OPT_MYSQL=Y + - OPT_MYSQL_EXTENSION=N + - OPT_SQLSERVER=N + - OPT_LDAP=N + - OPT_DUO=N + - OPT_CAS=N + - OPT_TOTP=Y + - OPT_QUICKCONNECT=N + - OPT_HEADER=N + - OPT_SAML=N + - PUID=99 + - PGID=100 + - TZ=America/Denver + restart: unless-stopped + networks: + docker_network: + ipv4_address: 192.168.5.43 + +networks: + default: + external: + name: docker_network + docker_network: + external: true +``` + +```jsx title=".env" +N/A +``` + +## Reverse Proxy Configuration + +=== "Traefik" + + ``` yaml + http: + routers: + apache-guacamole: + entryPoints: + - websecure + tls: + certResolver: letsencrypt + service: apache-guacamole + rule: Host(`remote.bunny-lab.io`) + + services: + + apache-guacamole: + loadBalancer: + servers: + - url: http://192.168.5.43:8080 + passHostHeader: true + ``` + +=== "NGINX" + + ``` yaml + server { + listen 443 ssl; #Redirect to Pioneer Peak SAGE Server VM + server_name ppos-sage.deeptree.tech; + client_max_body_size 0; + ssl on; + location / { + proxy_pass http://172.16.16.48:8080; + proxy_buffering off; + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + access_log off; + } + } + ``` \ No newline at end of file