Docker Community Forums

Share and learn in the Docker community.

Automating Guacamole Docker container


(Tezarin) #1

Hi,

I would like to be able to upgrade my Guacamole docker image and be able to build the image from a Dockerfile and get it up and running quickly. I looked at several Guacamole Docker repos and tried to come up with my own. I created a docker-compose.yml and also a Dockerfile (below). It is my first time so please let me know if I did it correctly. Thanks

docker-compose.yml:

version: ‘1’

services:
db:
hostname: *****.rds.amazonaws.com
build:
context: .
restart: always
volumes:
- data:/var/lib/mysql
environment:
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE=${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}

guacd:
hostname: guacd
image: guacamole/guacd
restart: always

guacamole:
image: image/guacamole:latest
restart: always
ports:
- “8443:8443”
links:
- guacd
- db
environment:
GUACD_HOSTNAME: guacd
MYSQL_HOSTNAME: *****.rds.amazonaws.com
MYSQL_DATABASE: guacamole
MYSQL_USER: guacamole
MYSQL_PASSWORD: --Removed–
LDAP_HOSTNAME=’–Removed–’
LDAP_USER_BASE_DN=’–Removed–’
LDAP_PORT=‘389’
LDAP_CONFIG_BASE_DN=’’
LDAP_DEREFERENCE_ALIASES=‘always’
LDAP_ENCRYPTION_METHOD=‘none’
LDAP_FOLLOW_REFERRALS=‘always’
LDAP_GROUP_BASE_DN=’–Removed–’
LDAP_SEARCH_BIND_DN=‘cn=–Removed–’
LDAP_SEARCH_BIND_PASSWORD=’–Removed–’
LDAP_USER_SEARCH_FILTER=’(&(objectClass=person)(objectClass=user)’
LDAP_USERNAME_ATTRIBUTE='samAccountNa

volumes:
data: guacd-volume


Dockerfile:

FROM guacamole/guacamole

RUN apt-get update && apt-get install -y vim \

&& sed -i ‘s/redirectPort=“8443”/redirectPort=“8443” server="" secure=“true”/g’ /usr/local/tomcat/conf/server.xml
&& sed -i ‘s///g’ /usr/local/tomcat/conf/server.xml
&& rm -rf /usr/local/tomcat/webapps/docs/*
&& rm -rf /usr/local/tomcat/webapps/examples/*
&& rm -rf /usr/local/tomcat/webapps/manager/*
&& rm -rf /usr/local/tomcat/webapps/host-manager/* \
RUN chmod -R 400 /usr/local/tomcat/conf

ENV MYSQL_HOSTNAME=’*****.rds.amazonaws.com’
MYSQL_DATABASE=‘guacamole’
MYSQL_USER=‘guacamole’
MYSQL_PASSWORD=’–Removed–’
LDAP_HOSTNAME=’–Removed–’
LDAP_USER_BASE_DN=’–Removed–’
LDAP_PORT=‘389’
LDAP_CONFIG_BASE_DN=’’
LDAP_DEREFERENCE_ALIASES=‘always’
LDAP_ENCRYPTION_METHOD=‘none’
LDAP_FOLLOW_REFERRALS=‘always’
LDAP_GROUP_BASE_DN=’–Removed–’
LDAP_SEARCH_BIND_DN=’–Removed–’
LDAP_SEARCH_BIND_PASSWORD=’–Removed–’
LDAP_USER_SEARCH_FILTER=’(&(objectClass=person)(objectClass=user)’
LDAP_USERNAME_ATTRIBUTE=‘samAccountName’
GUACAMOLE_HOME=/opt/guacamole-home \

COPY server.xml /usr/local/tomcat/conf
EXPOSE 8443
ENTRYPOINT ${GUACAMOLE_HOME}

CMD [/bin/sh -c]