The extension is not modified. Its exactly built from
https://github.com/apache/incubator-guacamole-client/tree/master/extensions/guacamole-auth-cas

I have attached the docker file. For now, the setting up of database for
jdbc and the steps from that are manually done once the container is
launched.

Are there any other details I can provide.

Regards
Kaushik Srinivasan

On Mon, Jul 17, 2017 at 11:07 PM, Mike Jumper <mike.jum...@guac-dev.org>
wrote:

> On Mon, Jul 17, 2017 at 7:37 PM, Kaushik Srinivasan
> <kausr...@umail.iu.edu> wrote:
> >
> > ...
> >
> > Also there's a major information I might have left out. I have been
> setting
> > all this up in Docker. Not using the docker file provided in the github
> as
> > I'm building on an arm architecture. It needs slightly different
> settings.
> >
>
> Can you share the Dockerfile and/or the images themselves?
>
> Is there anything else custom about your deployment? That the
> extension itself was (at least previously) actually modified and not
> the version included in the 0.9.13-incubating RC, and that the webapp
> is actually running under a custom Docker image, are all pretty
> important details.
>
> Thanks,
>
> - Mike
>
############################################################
# Dockerfile to build Guacd container images
# Based on Raspbian:jessie
# on Raspberry Pi
############################################################

# Set the base image to Ubuntu
FROM resin/rpi-raspbian:jessie-20170111

# File Author / Maintainer
MAINTAINER Kaushik Srinivasan <kausr...@iu.edu>

# Setting Environment variables
ENV GUACAMOLE_HOME /etc/guacamole

# Need to install Apache Tomcat
# Have decided to go with Apache Tomcat 8

# Java Development Kit dependency installed
RUN apt-get update && apt-get install -y \
        curl \
        default-jdk \
        && rm -rf /var/lib/apt/lists/*

# Create new group and user to run tomcat
RUN groupadd tomcat \
        &&  useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

# Downloading Apache Tomcat 8 from official site
RUN cd /tmp \
        && curl -O 
https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.15/bin/apache-tomcat-8.5.15.tar.gz
 \
        && mkdir /opt/tomcat \
        && tar xzf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1 \
        && rm apache-tomcat-8*tar.gz

# Giving the tomcat group ownership over the entire installation directory
# Giving the tomcat group read access to the conf directory
# Giving execute access to the conf directory itself
# Making the tomcat user the owner of the following directories
RUN cd /opt/tomcat \
        && chgrp -R tomcat /opt/tomcat \
        && chmod -R g+r conf \
        && chmod g+x conf \
        && chown -R tomcat webapps/ work/ temp/ logs/

#Remove the autoconf package later. It wont be needed.

#Installing Guacamole Prerequisites
RUN apt-get update && apt-get install -y \
        gcc \
        libcairo2-dev \
        libjpeg62-turbo-dev \
        libpng12-dev \
        libossp-uuid-dev \
        libavcodec-dev  libavutil-dev  libswscale-dev \
        libfreerdp-dev \
        libpango1.0-dev  libssh2-1-dev \ 
        libvncserver-dev \
        libssl-dev \
        make \
        perl \
        autoconf \
        && rm -rf /var/lib/apt/lists/*


ENV GUACAMOLE_VERSION 0.9.13


# Downloading and Installing Guacamole Server
#RUN     curl -O 
http://apache.mirrors.tds.net/incubator/guacamole/$GUACAMOLE_VERSION-incubating/source/guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz
 \ 
#        && tar -xzf guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz -C 
/home \
#        && rm guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz \
#        && cd /home/guacamole-server-$GUACAMOLE_VERSION-incubating/ \
#        && ./configure --with-init-dir=/etc/init.d \
#        && make \
#        && make install \
#        && ldconfig

# This is temp code for unreleased guac version. From git
COPY guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz /home/

#Dele this too later not needed
RUN apt-get update && apt-get install -y \
        automake \
        libtool

RUN tar -xzf /home/guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz -C 
/home \
#        && rm guacamole-server-$GUACAMOLE_VERSION-incubating.tar.gz \
        && cd /home/guacamole-server-$GUACAMOLE_VERSION-incubating/ \
        && autoreconf -fi \
        && ./configure --with-init-dir=/etc/init.d \
        && make \
        && make install \
        && ldconfig


COPY guacamole-$GUACAMOLE_VERSION-incubating.war 
/opt/tomcat/webapps/guacamole.war

# Downloading Guacamole-Client war file  and moving to tomcat webapp folder
#RUN  curl -O 
http://apache.mirrors.tds.net/incubator/guacamole/$GUACAMOLE_VERSION-incubating/binary/guacamole-$GUACAMOLE_VERSION-incubating.war
 \
#       && mv guacamole-$GUACAMOLE_VERSION-incubating.war 
/opt/tomcat/webapps/guacamole.war

# Setting up the required folders for guacamole
RUN  mkdir /etc/guacamole \
        && mkdir /etc/guacamole/extensions \
        && mkdir /etc/guacamole/lib 

#Copying config files to docker container       
COPY guacamole.properties /etc/guacamole/
COPY user-mapping.xml /etc/guacamole/
        
# ARM Linux stuff       
RUN  mkdir /usr/lib/arm-linux-gnueabihf/freerdp/ \
        && ln -s 
/home/guacamole-server-$GUACAMOLE_VERSION-incubating/src/protocols/rdp/.libs/guacsnd-client.so
  /usr/lib/arm-linux-gnueabihf/freerdp/guacsnd-client.so \
        && ln -s 
/home/guacamole-server-$GUACAMOLE_VERSION-incubating/src/protocols/rdp/.libs/guacdr-client.so
 /usr/lib/arm-linux-gnueabihf/freerdp/guacdr-client.so \
        && chmod 600 /etc/guacamole/user-mapping.xml \
        && chown tomcat:tomcat /etc/guacamole/user-mapping.xml \
        && chown tomcat:tomcat /etc/guacamole/guacamole.properties


#Remove this finally. Docker containers dont need unnecessary stuff
RUN apt-get update && apt-get install nano


COPY server.xml /opt/tomcat/conf/

#Shell script (Which needs to run initial functions)  copied to the container
COPY setup.sh /home/    

#Providing execute permissions to shell script
RUN chmod 700 /home/setup.sh

COPY guacamole-auth-cas-$GUACAMOLE_VERSION-incubating.jar /etc/guacamole/

COPY guacamole-auth-jdbc-mysql-0.9.13-incubating.jar /etc/guacamole/extensions

COPY  mysql-connector-java-5.1.42-bin.jar /etc/guacamole/lib


RUN apt-get update && apt-get install -y mysql-client \
                mysql-server \
                && mkdir -p /home/sql/

COPY 001-create-schema.sql /home/sql/
COPY 002-create-admin-user.sql /home/sql/


#Setting to execute the shell script when the container is launched
CMD ["/home/setup.sh"]


Reply via email to