guacamole
This commit is contained in:
parent
690ea8e042
commit
2f8a30d715
|
@ -0,0 +1,100 @@
|
|||
####################################################################################
|
||||
# docker-compose file for Apache Guacamole
|
||||
# created by PCFreak 2017-06-28
|
||||
#
|
||||
# https://github.com/boschkundendienst/guacamole-docker-compose
|
||||
#
|
||||
# Apache Guacamole is a clientless remote desktop gateway. It supports standard
|
||||
# protocols like VNC, RDP, and SSH. We call it clientless because no plugins or
|
||||
# client software are required. Thanks to HTML5, once Guacamole is installed on
|
||||
# a server, all you need to access your desktops is a web browser.
|
||||
####################################################################################
|
||||
#
|
||||
#
|
||||
# The initial login to the guacamole webinterface is:
|
||||
#
|
||||
# Username: guacadmin
|
||||
# Password: guacadmin
|
||||
#
|
||||
#####################################################################################
|
||||
|
||||
# services
|
||||
services:
|
||||
# guacd
|
||||
guacd:
|
||||
container_name: guacd
|
||||
image: guacamole/guacd:latest
|
||||
networks:
|
||||
- guacnetwork
|
||||
restart: always
|
||||
volumes:
|
||||
- ./drive:/drive:rw
|
||||
- ./record:/record:rw
|
||||
# mysql
|
||||
mysql:
|
||||
image: mysql:latest
|
||||
container_name: mysql
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: root_pass
|
||||
MYSQL_DATABASE: guacamole_db
|
||||
MYSQL_USER: guac_user
|
||||
MYSQL_PASSWORD: guac_pass
|
||||
volumes:
|
||||
- ./init:/docker-entrypoint-initdb.d:z
|
||||
- ./data:/var/lib/mysql
|
||||
networks:
|
||||
- guacnetwork
|
||||
|
||||
# guacamole
|
||||
guacamole:
|
||||
container_name: guacamole
|
||||
image: guacamole/guacamole:latest
|
||||
env_file:
|
||||
- .env # store secrets e.g., password
|
||||
group_add:
|
||||
- "1000"
|
||||
depends_on:
|
||||
- guacd
|
||||
- mysql
|
||||
environment:
|
||||
- GUACD_HOSTNAME=guacd
|
||||
- MYSQL_HOSTNAME=mysql
|
||||
- MYSQL_DATABASE=guacamole_db
|
||||
- MYSQL_USER=guac_user
|
||||
- MYSQL_PASSWORD=guac_pass
|
||||
- MYSQL_ROOT_PASSWORD=rootpass
|
||||
- RECORDING_SEARCH_PATH=/record
|
||||
- WEBAPP_CONTEXT=ROOT # removes the need to use /guacamole in the URL
|
||||
networks:
|
||||
- proxy
|
||||
- guacnetwork
|
||||
volumes:
|
||||
- ./record:/record:rw
|
||||
ports:
|
||||
## enable next line if not using nginx
|
||||
- 8095:8080/tcp # Guacamole is on :8080/guacamole, not /.
|
||||
## enable next line when using nginx
|
||||
# - 8080/tcp
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.guacamole.entrypoints=http"
|
||||
- "traefik.http.routers.guacamole.rule=Host(`guacamole.jimsgarage.co.uk`)"
|
||||
- "traefik.http.middlewares.guacamole-https-redirect.redirectscheme.scheme=https"
|
||||
- "traefik.http.routers.guacamole.middlewares=guacamole-https-redirect"
|
||||
- "traefik.http.routers.guacamole-secure.entrypoints=https"
|
||||
- "traefik.http.routers.guacamole-secure.rule=Host(`guacamole.jimsgarage.co.uk`)"
|
||||
- "traefik.http.routers.guacamole-secure.tls=true"
|
||||
- "traefik.http.routers.guacamole-secure.service=guacamole"
|
||||
- "traefik.http.services.guacamole.loadbalancer.server.port=8080"
|
||||
- "traefik.docker.network=proxy"
|
||||
restart: always
|
||||
|
||||
|
||||
# networks
|
||||
# create a network 'guacnetwork' in mode 'bridged'
|
||||
networks:
|
||||
guacnetwork:
|
||||
driver: bridge
|
||||
proxy:
|
||||
external: true
|
|
@ -0,0 +1,17 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# check if docker is running
|
||||
if ! (docker ps >/dev/null 2>&1)
|
||||
then
|
||||
echo "docker daemon not running, will exit here!"
|
||||
exit
|
||||
fi
|
||||
echo "Preparing folder init and creating ./init/initdb.sql"
|
||||
mkdir ./init >/dev/null 2>&1
|
||||
chmod -R +x ./init
|
||||
docker run --rm guacamole/guacamole /opt/guacamole/bin/initdb.sh --mysql > ./init/initdb.sql
|
||||
echo "done"
|
||||
echo "Preparing folder record and set permissions"
|
||||
mkdir ./record >/dev/null 2>&1
|
||||
chmod -R 777 ./record
|
||||
echo "done"
|
Loading…
Reference in New Issue