Somewhat basic setup. Still incomplete.

This commit is contained in:
WilliamMiceli
2018-12-05 17:28:33 -05:00
parent c6e709d669
commit 0cdc0df11f
3 changed files with 92 additions and 112 deletions

View File

@@ -1 +1,4 @@
# Guacamole # Guacamole
### To-do List
* Allow LDAP authentication in place of MySQL authentication

View File

@@ -1,49 +1,66 @@
database-data: version: '2'
image: busybox
labels: services:
io.rancher.container.start_once: 'true' guacamole:
net: none image: guacamole/guacamole
entrypoint: /bin/true dns:
volumes: - 1.1.1.1
- /var/lib/mysql - 1.0.0.1
- /docker-entrypoint-initdb.d environment:
database:
image: mariadb labels:
environment: io.rancher.container.pull_image: always
MYSQL_DATABASE: ${guacamole_db} {{- if .Values.HOST_LABEL}}
MYSQL_ONETIME_PASSWORD: 'true' io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
MYSQL_PASSWORD: ${guacamole_password} {{- end}}
MYSQL_RANDOM_ROOT_PASSWORD: 'true' {{- if .Values.TRAEFIK_HOST}}
MYSQL_USER: ${guacamole_user} traefik.enable: true
volumes_from: ### Start Web Segment
- database-data traefik.web.frontend.entryPoints: http,https
labels: traefik.web.frontend.headers.forceSTSHeader: true
io.rancher.sidekicks: setup-get-db-script, database-data traefik.web.frontend.headers.SSLRedirect: true
setup-get-db-script: traefik.web.frontend.headers.STSPreload: true
image: glyptodon/guacamole:0.9.10-incubating traefik.web.frontend.headers.STSSeconds: 15552000
net: none traefik.web.frontend.redirect.entryPoint: https
volumes_from: traefik.web.frontend.redirect.permanent: true
- database-data traefik.web.frontend.rule: Host:${TRAEFIK_HOST}
command: traefik.web.port: "8080"
- bash ### End Web Segment
- -c {{- else}}
- /opt/guacamole/bin/initdb.sh --mysql > /docker-entrypoint-initdb.d/initdb.sql traefik.enable: false
labels: {{- end}}
io.rancher.container.start_once: 'true' links:
guacd: - guacd
image: glyptodon/guacd:0.9.10-incubating - mysql
guacamole: networks:
image: glyptodon/guacamole:0.9.10-incubating - public-proxy
environment: ports:
MYSQL_DATABASE: ${guacamole_db} - "${WEB_PORT}:8080"
MYSQL_HOSTNAME: database restart: on-failure
MYSQL_PASSWORD: ${guacamole_password} guacd:
MYSQL_USER: ${guacamole_user} image: guacamole/guacd
links: dns:
- guacd:guacd - 1.1.1.1
ports: - 1.0.0.1
- ${public_port}:8080/tcp environment:
command: labels:
- /bin/bash networks:
- -c ports:
- cd /usr/local/tomcat/webapps;rm -rf ROOT/; ln -s guacamole.war ROOT.war; /opt/guacamole/bin/start.sh; restart: on-failure
mysql:
image:
dns:
- 1.1.1.1
- 1.0.0.1
environment:
MYSQL_DATABASE: guacamole_db
MYSQL_USER: guacamole_user
MYSQL_PASSWORD: password
labels:
networks:
ports:
restart: on-failure
networks:
public-proxy:
external: true

View File

@@ -6,70 +6,30 @@ catalog:
# minimum_rancher_version: # minimum_rancher_version:
# maximum_rancher_version: # maximum_rancher_version:
# upgrade_from: # upgrade_from:
# uuid:
questions: questions:
- variable: "guacamole_db" - variable: "HOST_LABEL"
label: "MySQL Database Name" label: "Host Label Key/Value Pair"
description: "Your MYSQL guacamole database name" description: |
default: "guacamole_db" The Key/Value pair on the host which the stack should be deployed.
required: true default: "host.id=Host1"
type: "string" required: false
type: string
- variable: "guacamole_user" - variable: "TRAEFIK_HOST"
label: "MySQL Database User" label: "Public Host Domain"
description: "Your MYSQL guacamole user name" description: |
required: true The host that Traefik will use to provide public access.
default: "guacamole_user" Leaving this empty will disable Traefik on this stack.
type: "string" default: "subdomain.domain.tld"
required: false
type: string
- variable: "guacamole_password" - variable: "WEB_PORT"
label: "MySQL Database Password" label: "Local Web Port"
description: "Your MYSQL guacamole user password. Defaults to \"guacamole_password\"" description: |
The port to locally access the web interface on.
default: "10700"
required: true required: true
default: "guacamole_password" type: string
type: "password"
- variable: "public_port"
label: "Public Port"
description: "The public port that Guacamole listens on, defaults to 8080"
required: true
default: 8080
type: "int"
services:
guacamole:
scale: 1
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 8080
unhealthy_threshold: 3
initializing_timeout: 60000
interval: 2000
strategy: recreate
request_line: GET "/guacamole" "HTTP/1.0"
reinitializing_timeout: 60000
guacd:
scale: 1
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 4822
unhealthy_threshold: 3
initializing_timeout: 60000
interval: 2000
strategy: recreate
reinitializing_timeout: 60000
setup-get-db-script:
scale: 1
database:
scale: 1
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 3306
unhealthy_threshold: 3
initializing_timeout: 60000
interval: 2000
strategy: recreate
reinitializing_timeout: 60000