mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-20 14:39:07 +00:00
Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cabf2a5eca | |||
| 3c7acbab48 | |||
| c602be9111 | |||
| 8d1898929f | |||
| 916997c62b | |||
| b65c495492 | |||
| 38f7cf7c41 | |||
| 7fae4045a7 | |||
| 99294c461e | |||
| 255d5c6d0a | |||
| 96a36dcf18 | |||
| 5aeace57a7 | |||
| d6aa86d06f | |||
| 79b8a4a538 | |||
| 19878a35ed | |||
| 4864d3f54c | |||
| aee7baea37 | |||
| a7dfed307d | |||
| cf893c5b32 | |||
| da8a28fc9d | |||
| 8913f805be | |||
| f847b22271 | |||
| a6cec88716 | |||
| d82bbd2dc0 | |||
| 2000eac4f1 | |||
| 42cee1cfd8 | |||
| f2622ce529 | |||
| c17430112e | |||
| 1cca7390a0 | |||
| 969b7e1369 | |||
| c6103f4971 | |||
| 5ce96be0ab | |||
| 017d8ea844 | |||
| 7e8fa4f0e8 | |||
| a0ce971309 | |||
| 114f165d2c | |||
| 6143e1e044 | |||
| 8a190d106d | |||
| b46412052e | |||
| e877512ed0 | |||
| 8b2f15bed6 | |||
| 1980e52002 | |||
| 3188da1ecc | |||
| 6a3fe53767 | |||
| 369b64cfef |
+1
-2
@@ -1,3 +1,2 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
custom: ['https://paypal.me/JoelWetzell','https://venmo.com/Joel-Wetzell','https://cash.app/$JoelWetzell']
|
||||||
custom: https://paypal.me/oznu
|
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
# Number of days of inactivity before an issue becomes stale
|
|
||||||
daysUntilStale: 30
|
|
||||||
# Number of days of inactivity before a stale issue is closed
|
|
||||||
daysUntilClose: 5
|
|
||||||
# Issues with these labels will never be considered stale
|
|
||||||
exemptLabels:
|
|
||||||
- pinned
|
|
||||||
- security
|
|
||||||
# Label to use when marking an issue as stale
|
|
||||||
staleLabel: stale
|
|
||||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
|
||||||
markComment: >
|
|
||||||
This issue has been automatically marked as stale because it has not had
|
|
||||||
recent activity. It will be closed if no further activity occurs. Thank you
|
|
||||||
for your contributions.
|
|
||||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
|
||||||
closeComment: false
|
|
||||||
+2
-1
@@ -12,7 +12,8 @@ matrix:
|
|||||||
arch: amd64
|
arch: amd64
|
||||||
env:
|
env:
|
||||||
- DOCKERFILE="Dockerfile"
|
- DOCKERFILE="Dockerfile"
|
||||||
- TAG_SUFFIX="amd64"
|
- TAG_SUFFIX="latest"
|
||||||
|
- ALT_SUFFIX="amd64"
|
||||||
|
|
||||||
# arm32v5
|
# arm32v5
|
||||||
- os: linux
|
- os: linux
|
||||||
|
|||||||
-79
@@ -1,79 +0,0 @@
|
|||||||
FROM library/tomcat:9-jre11
|
|
||||||
|
|
||||||
ENV ARCH=amd64 \
|
|
||||||
GUAC_VER=1.2.0 \
|
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
|
||||||
PG_MAJOR=9.6 \
|
|
||||||
PGDATA=/config/postgres \
|
|
||||||
POSTGRES_USER=guacamole \
|
|
||||||
POSTGRES_DB=guacamole_db
|
|
||||||
|
|
||||||
# Apply the s6-overlay
|
|
||||||
|
|
||||||
RUN curl -SLO "https://github.com/just-containers/s6-overlay/releases/download/v1.20.0.0/s6-overlay-${ARCH}.tar.gz" \
|
|
||||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C / \
|
|
||||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
|
||||||
&& rm -rf s6-overlay-${ARCH}.tar.gz \
|
|
||||||
&& mkdir -p ${GUACAMOLE_HOME} \
|
|
||||||
${GUACAMOLE_HOME}/lib \
|
|
||||||
${GUACAMOLE_HOME}/extensions
|
|
||||||
|
|
||||||
WORKDIR ${GUACAMOLE_HOME}
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
RUN apt-get update && apt-get install -y \
|
|
||||||
libcairo2-dev libjpeg62-turbo-dev libpng-dev \
|
|
||||||
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
|
||||||
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
|
||||||
libssh2-1-dev libtelnet-dev libvncserver-dev \
|
|
||||||
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
|
||||||
ghostscript postgresql-${PG_MAJOR} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Link FreeRDP to where guac expects it to be
|
|
||||||
RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
|
||||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp || exit 0
|
|
||||||
|
|
||||||
# Install guacamole-server
|
|
||||||
RUN curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
|
||||||
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
|
||||||
&& cd guacamole-server-${GUAC_VER} \
|
|
||||||
&& ./configure \
|
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
||||||
&& make install \
|
|
||||||
&& cd .. \
|
|
||||||
&& rm -rf guacamole-server-${GUAC_VER}.tar.gz guacamole-server-${GUAC_VER} \
|
|
||||||
&& ldconfig
|
|
||||||
|
|
||||||
# Install guacamole-client and postgres auth adapter
|
|
||||||
RUN set -x \
|
|
||||||
&& rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
|
||||||
&& curl -SLo ${CATALINA_HOME}/webapps/ROOT.war "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${GUAC_VER}.war" \
|
|
||||||
&& curl -SLo ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.1.4.jar" \
|
|
||||||
&& curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-auth-jdbc-${GUAC_VER}.tar.gz" \
|
|
||||||
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
|
||||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions/ \
|
|
||||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/schema ${GUACAMOLE_HOME}/ \
|
|
||||||
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
|
||||||
|
|
||||||
# Add optional extensions
|
|
||||||
RUN set -xe \
|
|
||||||
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
|
||||||
&& for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect auth-totp; do \
|
|
||||||
echo "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
|
||||||
&& curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
|
||||||
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
|
||||||
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
|
||||||
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
|
||||||
;done
|
|
||||||
|
|
||||||
ENV PATH=/usr/lib/postgresql/${PG_MAJOR}/bin:$PATH
|
|
||||||
ENV GUACAMOLE_HOME=/config/guacamole
|
|
||||||
|
|
||||||
WORKDIR /config
|
|
||||||
|
|
||||||
COPY root /
|
|
||||||
|
|
||||||
EXPOSE 8080
|
|
||||||
|
|
||||||
ENTRYPOINT [ "/init" ]
|
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
FROM library/tomcat:9-jre11-openjdk-bullseye
|
||||||
|
|
||||||
|
ENV ARCH=amd64 \
|
||||||
|
GUAC_VER=1.5.4 \
|
||||||
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
|
LIBSSH2_VER=1.11.0
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y curl ca-certificates gnupg \
|
||||||
|
libcairo2-dev libjpeg62-turbo-dev libpng-dev libavformat-dev \
|
||||||
|
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||||
|
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
||||||
|
libtelnet-dev libvncserver-dev \
|
||||||
|
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
||||||
|
ghostscript build-essential libreadline-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Build & install libssh2
|
||||||
|
ADD https://www.libssh2.org/download/libssh2-${LIBSSH2_VER}.tar.gz /tmp
|
||||||
|
RUN tar -xzvf /tmp/libssh2-${LIBSSH2_VER}.tar.gz \
|
||||||
|
&& cd libssh2-${LIBSSH2_VER} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& rm -rf /tmp/libssh2-${LIBSSH2_VER}*
|
||||||
|
|
||||||
|
# Apply the s6-overlay
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.3/s6-overlay-amd64.tar.gz /tmp
|
||||||
|
RUN tar -xzf /tmp/s6-overlay-amd64.tar.gz -C / \
|
||||||
|
&& tar -xzf /tmp/s6-overlay-amd64.tar.gz -C /usr ./bin \
|
||||||
|
&& rm -rf /tmp/s6-overlay-amd64.tar.gz
|
||||||
|
|
||||||
|
RUN mkdir -p ${GUACAMOLE_HOME} \
|
||||||
|
${GUACAMOLE_HOME}/lib \
|
||||||
|
${GUACAMOLE_HOME}/extensions
|
||||||
|
|
||||||
|
WORKDIR ${GUACAMOLE_HOME}
|
||||||
|
|
||||||
|
# Link FreeRDP to where guac expects it to be
|
||||||
|
RUN ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp || exit 0
|
||||||
|
|
||||||
|
# Install guacamole-server
|
||||||
|
|
||||||
|
RUN curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||||
|
&& cd guacamole-server-${GUAC_VER} \
|
||||||
|
&& export LDFLAGS="-lrt" \
|
||||||
|
&& ./configure --enable-allow-freerdp-snapshots \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -rf guacamole-server-${GUAC_VER}.tar.gz guacamole-server-${GUAC_VER} \
|
||||||
|
&& ldconfig
|
||||||
|
|
||||||
|
# Create directory for extensions
|
||||||
|
RUN mkdir ${GUACAMOLE_HOME}/extensions-available
|
||||||
|
|
||||||
|
# Install guacamole-client
|
||||||
|
RUN set -x \
|
||||||
|
&& rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
||||||
|
&& curl -SLo ${CATALINA_HOME}/webapps/ROOT.war "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${GUAC_VER}.war" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-jdbc-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/mysql/guacamole-auth-jdbc-mysql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/sqlserver/guacamole-auth-jdbc-sqlserver-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add auth-sso to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-auth-sso-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/cas/guacamole-auth-sso-cas-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/openid/guacamole-auth-sso-openid-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/saml/guacamole-auth-sso-saml-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-auth-sso-${GUAC_VER} guacamole-auth-sso-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add vault to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-vault-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-vault-${GUAC_VER}/ksm/guacamole-vault-ksm-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-vault-${GUAC_VER} guacamole-vault-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# Add optional extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-totp history-recording-storage; do \
|
||||||
|
echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
|
;done
|
||||||
|
|
||||||
|
ENV PATH="/usr/local/pgsql/bin:$PATH"
|
||||||
|
ENV GUACAMOLE_HOME=/config/guacamole
|
||||||
|
|
||||||
|
WORKDIR /config
|
||||||
|
|
||||||
|
COPY root /
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/init" ]
|
||||||
|
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
FROM library/tomcat:9-jre11-openjdk-bullseye
|
||||||
|
|
||||||
|
ENV GUAC_VER=1.5.4 \
|
||||||
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
|
PG_VER=9.6.24 \
|
||||||
|
LIBSSH2_VER=1.11.0 \
|
||||||
|
PGDATA=/config/postgres \
|
||||||
|
POSTGRES_USER=guacamole \
|
||||||
|
POSTGRES_DB=guacamole_db
|
||||||
|
|
||||||
|
# Install dependencies
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y curl ca-certificates gnupg \
|
||||||
|
libcairo2-dev libjpeg62-turbo-dev libpng-dev libavformat-dev \
|
||||||
|
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||||
|
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
||||||
|
libtelnet-dev libvncserver-dev \
|
||||||
|
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
||||||
|
ghostscript build-essential libreadline-dev
|
||||||
|
|
||||||
|
# Build & install libssh2
|
||||||
|
ADD https://www.libssh2.org/download/libssh2-${LIBSSH2_VER}.tar.gz /tmp
|
||||||
|
RUN tar -xzvf /tmp/libssh2-${LIBSSH2_VER}.tar.gz \
|
||||||
|
&& cd libssh2-${LIBSSH2_VER} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& rm -rf /tmp/libssh2-${LIBSSH2_VER}*
|
||||||
|
|
||||||
|
# Build & install postgresql
|
||||||
|
ADD https://ftp.postgresql.org/pub/source/v${PG_VER}/postgresql-${PG_VER}.tar.gz /tmp
|
||||||
|
RUN tar -xzvf /tmp/postgresql-${PG_VER}.tar.gz \
|
||||||
|
&& cd postgresql-${PG_VER} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& rm -rf /tmp/postgresql-${PG_VER}*
|
||||||
|
|
||||||
|
RUN useradd postgres
|
||||||
|
|
||||||
|
# Apply the s6-overlay
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.3/s6-overlay-armhf.tar.gz /tmp
|
||||||
|
RUN tar -xzf /tmp/s6-overlay-armhf.tar.gz -C / \
|
||||||
|
&& tar -xzf /tmp/s6-overlay-armhf.tar.gz -C /usr ./bin \
|
||||||
|
&& rm -rf /tmp/s6-overlay-armhf.tar.gz
|
||||||
|
|
||||||
|
RUN mkdir -p ${GUACAMOLE_HOME} \
|
||||||
|
${GUACAMOLE_HOME}/lib \
|
||||||
|
${GUACAMOLE_HOME}/extensions
|
||||||
|
|
||||||
|
WORKDIR ${GUACAMOLE_HOME}
|
||||||
|
|
||||||
|
# Link FreeRDP to where guac expects it to be
|
||||||
|
RUN ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
||||||
|
|
||||||
|
# Install guacamole-server
|
||||||
|
|
||||||
|
RUN curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||||
|
&& cd guacamole-server-${GUAC_VER} \
|
||||||
|
&& export LDFLAGS="-lrt" \
|
||||||
|
&& ./configure --enable-allow-freerdp-snapshots \
|
||||||
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
|
&& make install \
|
||||||
|
&& cd .. \
|
||||||
|
&& rm -rf guacamole-server-${GUAC_VER}.tar.gz guacamole-server-${GUAC_VER} \
|
||||||
|
&& ldconfig
|
||||||
|
|
||||||
|
# Create directory for extensions
|
||||||
|
RUN mkdir ${GUACAMOLE_HOME}/extensions-available
|
||||||
|
|
||||||
|
# Install guacamole-client and postgres auth adapter
|
||||||
|
RUN set -x \
|
||||||
|
&& rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
||||||
|
&& curl -SLo ${CATALINA_HOME}/webapps/ROOT.war "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${GUAC_VER}.war" \
|
||||||
|
&& curl -SLo ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.2.24.jar" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-jdbc-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions/ \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/mysql/guacamole-auth-jdbc-mysql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/sqlserver/guacamole-auth-jdbc-sqlserver-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/schema ${GUACAMOLE_HOME}/ \
|
||||||
|
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add auth-sso to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-auth-sso-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/cas/guacamole-auth-sso-cas-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/openid/guacamole-auth-sso-openid-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/saml/guacamole-auth-sso-saml-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-auth-sso-${GUAC_VER} guacamole-auth-sso-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add vault to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-vault-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-vault-${GUAC_VER}/ksm/guacamole-vault-ksm-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-vault-${GUAC_VER} guacamole-vault-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# Add optional extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-totp history-recording-storage; do \
|
||||||
|
echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
|
;done
|
||||||
|
|
||||||
|
ENV PATH="/usr/local/pgsql/bin:$PATH"
|
||||||
|
ENV GUACAMOLE_HOME=/config/guacamole
|
||||||
|
|
||||||
|
WORKDIR /config
|
||||||
|
|
||||||
|
COPY root /
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/init" ]
|
||||||
+76
-40
@@ -1,44 +1,63 @@
|
|||||||
FROM arm32v5/tomcat:9-jre11
|
FROM arm32v7/tomcat:9-jre11
|
||||||
|
|
||||||
ENV ARCH=armhf \
|
ENV GUAC_VER=1.5.4 \
|
||||||
GUAC_VER=1.2.0 \
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
PG_VER=9.6.24 \
|
||||||
PG_MAJOR=9.6 \
|
LIBSSH2_VER=1.11.0 \
|
||||||
PGDATA=/config/postgres \
|
PGDATA=/config/postgres \
|
||||||
POSTGRES_USER=guacamole \
|
POSTGRES_USER=guacamole \
|
||||||
POSTGRES_DB=guacamole_db
|
POSTGRES_DB=guacamole_db
|
||||||
|
|
||||||
|
# Install base dependencies
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y curl ca-certificates gnupg \
|
||||||
|
libcairo2-dev libjpeg-turbo8-dev libpng-dev libavformat-dev \
|
||||||
|
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||||
|
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
||||||
|
libtelnet-dev libvncserver-dev \
|
||||||
|
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
||||||
|
ghostscript build-essential libreadline-dev
|
||||||
|
|
||||||
|
# Build & install libssh2
|
||||||
|
ADD https://www.libssh2.org/download/libssh2-${LIBSSH2_VER}.tar.gz /tmp
|
||||||
|
RUN tar -xzvf /tmp/libssh2-${LIBSSH2_VER}.tar.gz \
|
||||||
|
&& cd libssh2-${LIBSSH2_VER} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& rm -rf /tmp/libssh2-${LIBSSH2_VER}*
|
||||||
|
|
||||||
|
# Build & install postgresql
|
||||||
|
ADD https://ftp.postgresql.org/pub/source/v${PG_VER}/postgresql-${PG_VER}.tar.gz /tmp
|
||||||
|
RUN tar -xzvf /tmp/postgresql-${PG_VER}.tar.gz \
|
||||||
|
&& cd postgresql-${PG_VER} \
|
||||||
|
&& ./configure \
|
||||||
|
&& make \
|
||||||
|
&& make install \
|
||||||
|
&& rm -rf /tmp/postgresql-${PG_VER}*
|
||||||
|
|
||||||
|
RUN useradd postgres
|
||||||
|
|
||||||
# Apply the s6-overlay
|
# Apply the s6-overlay
|
||||||
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.3/s6-overlay-armhf.tar.gz /tmp
|
||||||
|
RUN tar -xzf /tmp/s6-overlay-armhf.tar.gz -C / \
|
||||||
|
&& tar -xzf /tmp/s6-overlay-armhf.tar.gz -C /usr ./bin \
|
||||||
|
&& rm -rf /tmp/s6-overlay-armhf.tar.gz
|
||||||
|
|
||||||
RUN curl -SLO "https://github.com/just-containers/s6-overlay/releases/download/v1.20.0.0/s6-overlay-${ARCH}.tar.gz" \
|
RUN mkdir -p ${GUACAMOLE_HOME} \
|
||||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C / \
|
|
||||||
&& tar -xzf s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
|
||||||
&& rm -rf s6-overlay-${ARCH}.tar.gz \
|
|
||||||
&& mkdir -p ${GUACAMOLE_HOME} \
|
|
||||||
${GUACAMOLE_HOME}/lib \
|
${GUACAMOLE_HOME}/lib \
|
||||||
${GUACAMOLE_HOME}/extensions
|
${GUACAMOLE_HOME}/extensions
|
||||||
|
|
||||||
WORKDIR ${GUACAMOLE_HOME}
|
WORKDIR ${GUACAMOLE_HOME}
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
RUN apt-get update && apt-get install -y \
|
|
||||||
libcairo2-dev libjpeg62-turbo-dev libpng-dev \
|
|
||||||
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
|
||||||
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
|
||||||
libssh2-1-dev libtelnet-dev libvncserver-dev \
|
|
||||||
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
|
||||||
ghostscript postgresql-${PG_MAJOR} \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Link FreeRDP to where guac expects it to be
|
# Link FreeRDP to where guac expects it to be
|
||||||
RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
RUN ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnueabihf/freerdp || exit 0
|
||||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/freerdp || exit 0
|
|
||||||
|
|
||||||
# Install guacamole-server
|
# Install guacamole-server
|
||||||
RUN curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
RUN curl -SLOk "https://archive.apache.org/dist/guacamole/${GUAC_VER}/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
||||||
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||||
&& cd guacamole-server-${GUAC_VER} \
|
&& cd guacamole-server-${GUAC_VER} \
|
||||||
&& ./configure \
|
&& ./configure --enable-allow-freerdp-snapshots \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd .. \
|
&& cd .. \
|
||||||
@@ -47,27 +66,44 @@ RUN curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamo
|
|||||||
|
|
||||||
# Install guacamole-client and postgres auth adapter
|
# Install guacamole-client and postgres auth adapter
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
&& rm -rf ${CATALINA_HOME}/webapps/ROOT \
|
||||||
&& curl -SLo ${CATALINA_HOME}/webapps/ROOT.war "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${GUAC_VER}.war" \
|
&& curl -SLko ${CATALINA_HOME}/webapps/ROOT.war "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${GUAC_VER}.war" \
|
||||||
&& curl -SLo ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.1.4.jar" \
|
&& curl -SLko ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.2.24.jar" \
|
||||||
&& curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-auth-jdbc-${GUAC_VER}.tar.gz" \
|
&& curl -SLkO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-jdbc-${GUAC_VER}.tar.gz" \
|
||||||
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
&& tar -xzf guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
||||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions/ \
|
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions/ \
|
||||||
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/schema ${GUACAMOLE_HOME}/ \
|
&& cp -R guacamole-auth-jdbc-${GUAC_VER}/postgresql/schema ${GUACAMOLE_HOME}/ \
|
||||||
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
&& rm -rf guacamole-auth-jdbc-${GUAC_VER} guacamole-auth-jdbc-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add auth-sso to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-auth-sso-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/cas/guacamole-auth-sso-cas-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/openid/guacamole-auth-sso-openid-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& cp guacamole-auth-sso-${GUAC_VER}/saml/guacamole-auth-sso-saml-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-auth-sso-${GUAC_VER} guacamole-auth-sso-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
|
# add vault to available extensions folder structur differs from other extensions
|
||||||
|
RUN set -xe \
|
||||||
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-vault-${GUAC_VER}.tar.gz" \
|
||||||
|
&& tar -xzf guacamole-vault-${GUAC_VER}.tar.gz \
|
||||||
|
&& cp guacamole-vault-${GUAC_VER}/ksm/guacamole-vault-ksm-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
|
&& rm -rf guacamole-vault-${GUAC_VER} guacamole-vault-${GUAC_VER}.tar.gz
|
||||||
|
|
||||||
# Add optional extensions
|
# Add optional extensions
|
||||||
RUN set -xe \
|
RUN set -xe \
|
||||||
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
&& for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-totp history-recording-storage; do \
|
||||||
&& for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect auth-totp; do \
|
echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
echo "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
&& curl -SLO "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
&& curl -SLO "http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
|
||||||
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
&& tar -xzf guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
&& cp guacamole-${i}-${GUAC_VER}/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
&& rm -rf guacamole-${i}-${GUAC_VER} guacamole-${i}-${GUAC_VER}.tar.gz \
|
||||||
;done
|
;done
|
||||||
|
|
||||||
ENV PATH=/usr/lib/postgresql/${PG_MAJOR}/bin:$PATH
|
ENV PATH="/usr/local/pgsql/bin:$PATH"
|
||||||
ENV GUACAMOLE_HOME=/config/guacamole
|
ENV GUACAMOLE_HOME=/config/guacamole
|
||||||
|
|
||||||
WORKDIR /config
|
WORKDIR /config
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
[](https://hub.docker.com/r/oznu/guacamole/) [](https://travis-ci.org/oznu/docker-guacamole) [](https://hub.docker.com/r/oznu/guacamole/)
|
[ ](https://hub.docker.com/r/jwetzell/guacamole)
|
||||||
|
|
||||||
# Docker Guacamole
|
# Docker Guacamole
|
||||||
|
|
||||||
|
**THIS REPO IS A CONTINUATION OF [oznu/docker-guacamole](https://github.com/oznu/docker-guacamole).**
|
||||||
|
|
||||||
A Docker Container for [Apache Guacamole](https://guacamole.apache.org/), a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5.
|
A Docker Container for [Apache Guacamole](https://guacamole.apache.org/), a client-less remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH over HTML5.
|
||||||
|
|
||||||
This image will run on most platforms that support Docker including Docker for Mac, Docker for Windows, Synology DSM and Raspberry Pi 3 boards.
|
This image will run on most platforms that support Docker including Docker for Mac, Docker for Windows, Synology DSM and Raspberry Pi 3 boards.
|
||||||
@@ -16,18 +18,18 @@ This container runs the guacamole web client, the guacd server and a postgres da
|
|||||||
docker run \
|
docker run \
|
||||||
-p 8080:8080 \
|
-p 8080:8080 \
|
||||||
-v </path/to/config>:/config \
|
-v </path/to/config>:/config \
|
||||||
oznu/guacamole
|
jwetzell/guacamole
|
||||||
```
|
```
|
||||||
|
|
||||||
## Raspberry Pi / ARMv6
|
## Raspberry Pi / ARMv7
|
||||||
|
|
||||||
This image will also allow you to run [Apache Guacamole](https://guacamole.apache.org/) on a Raspberry Pi or other Docker-enabled ARMv5/6/7/8 devices by using the `armhf` tag.
|
This image will also allow you to run [Apache Guacamole](https://guacamole.apache.org/) on a Raspberry Pi or other Docker-enabled ARMv5/6/7/8 devices by using the `arm32v7` tag.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run \
|
docker run \
|
||||||
-p 8080:8080 \
|
-p 8080:8080 \
|
||||||
-v </path/to/config>:/config \
|
-v </path/to/config>:/config \
|
||||||
oznu/guacamole:armhf
|
jwetzell/guacamole:arm32v7
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
@@ -49,18 +51,25 @@ docker run \
|
|||||||
-p 8080:8080 \
|
-p 8080:8080 \
|
||||||
-v </path/to/config>:/config \
|
-v </path/to/config>:/config \
|
||||||
-e "EXTENSIONS=auth-ldap,auth-duo"
|
-e "EXTENSIONS=auth-ldap,auth-duo"
|
||||||
oznu/guacamole
|
jwetzell/guacamole
|
||||||
```
|
```
|
||||||
|
|
||||||
Currently the available extensions are:
|
Currently the available extensions are:
|
||||||
|
|
||||||
* auth-ldap - [LDAP Authentication](https://guacamole.apache.org/doc/gug/ldap-auth.html)
|
|
||||||
* auth-duo - [Duo two-factor authentication](https://guacamole.apache.org/doc/gug/duo-auth.html)
|
* auth-duo - [Duo two-factor authentication](https://guacamole.apache.org/doc/gug/duo-auth.html)
|
||||||
* auth-header - [HTTP header authentication](https://guacamole.apache.org/doc/gug/header-auth.html)
|
* auth-header - [HTTP header authentication](https://guacamole.apache.org/doc/gug/header-auth.html)
|
||||||
* auth-cas - [CAS Authentication](https://guacamole.apache.org/doc/gug/cas-auth.html)
|
* auth-jdbc-mysql - [MySQL Authentication](https://guacamole.apache.org/doc/gug/jdbc-auth.html)
|
||||||
* auth-openid - [OpenID Connect authentication](https://guacamole.apache.org/doc/gug/openid-auth.html)
|
* auth-jdbc-postgresql - [PostgreSQL Authentication](https://guacamole.apache.org/doc/gug/jdbc-auth.html)
|
||||||
* auth-totp - [TOTP two-factor authentication](https://guacamole.apache.org/doc/gug/totp-auth.html)
|
* auth-jdbc-sqlserver - [SQL Server Authentication](https://guacamole.apache.org/doc/gug/jdbc-auth.html)
|
||||||
|
* auth-json - [Encrypted JSON Authentication](https://guacamole.apache.org/doc/gug/json-auth.html)
|
||||||
|
* auth-ldap - [LDAP Authentication](https://guacamole.apache.org/doc/gug/ldap-auth.html)
|
||||||
* auth-quickconnect - [Ad-hoc connections extension](https://guacamole.apache.org/doc/gug/adhoc-connections.html)
|
* auth-quickconnect - [Ad-hoc connections extension](https://guacamole.apache.org/doc/gug/adhoc-connections.html)
|
||||||
|
* auth-sso-cas - [CAS Authentication](https://guacamole.apache.org/doc/gug/cas-auth.html)
|
||||||
|
* auth-sso-openid - [OpenID Authentication](https://guacamole.apache.org/doc/gug/openid-auth.html)
|
||||||
|
* auth-sso-saml - [SAML Authentication](https://guacamole.apache.org/doc/gug/saml-auth.html)
|
||||||
|
* auth-totp - [TOTP two-factor authentication](https://guacamole.apache.org/doc/gug/totp-auth.html)
|
||||||
|
* history-recording-storage - [Session Recording Playback](https://guacamole.apache.org/doc/gug/recording-playback.html#)
|
||||||
|
* vault - [Retrieving secrets from a vault](https://guacamole.apache.org/doc/gug/vault.html)
|
||||||
|
|
||||||
You should only enable the extensions you require, if an extensions is not configured correctly in the `guacamole.properties` file it may prevent the system from loading. See the [official documentation](https://guacamole.apache.org/doc/gug/) for more details.
|
You should only enable the extensions you require, if an extensions is not configured correctly in the `guacamole.properties` file it may prevent the system from loading. See the [official documentation](https://guacamole.apache.org/doc/gug/) for more details.
|
||||||
|
|
||||||
@@ -76,7 +85,7 @@ Mapped volumes behave differently when running Docker for Windows and you may en
|
|||||||
version: "2"
|
version: "2"
|
||||||
services:
|
services:
|
||||||
guacamole:
|
guacamole:
|
||||||
image: oznu/guacamole
|
image: jwetzell/guacamole
|
||||||
container_name: guacamole
|
container_name: guacamole
|
||||||
volumes:
|
volumes:
|
||||||
- postgres:/config
|
- postgres:/config
|
||||||
@@ -86,11 +95,3 @@ volumes:
|
|||||||
postgres:
|
postgres:
|
||||||
driver: local
|
driver: local
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Copyright (C) 2017-2020 oznu
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the [GNU General Public License](./LICENSE) for more details.
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
postgresql-hostname: localhost
|
# postgresql-hostname: localhost
|
||||||
postgresql-port: 5432
|
# postgresql-port: 5432
|
||||||
postgresql-database: guacamole_db
|
# postgresql-database: guacamole_db
|
||||||
postgresql-username: guacamole
|
# postgresql-username: guacamole
|
||||||
postgresql-password: null
|
# postgresql-password: null
|
||||||
|
|
||||||
# ldap-hostname: ldap.example.net
|
# ldap-hostname: ldap.example.net
|
||||||
# ldap-port: 389
|
# ldap-port: 389
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
|
||||||
|
|
||||||
mkdir -p /config/postgres
|
|
||||||
mkdir -p /var/run/postgresql
|
|
||||||
chown postgres:postgres /var/run/postgresql
|
|
||||||
chown -R postgres:postgres /config/postgres
|
|
||||||
chmod 0700 /config/postgres
|
|
||||||
|
|
||||||
if [ -e /config/postgres/postgresql.conf ]; then
|
|
||||||
echo "Database already configured"
|
|
||||||
else
|
|
||||||
s6-setuidgid postgres initdb
|
|
||||||
fi
|
|
||||||
@@ -6,9 +6,9 @@ for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect a
|
|||||||
done
|
done
|
||||||
|
|
||||||
# if the guacamole version was bumped, delete the contents of the extensions directory - just on the first run
|
# if the guacamole version was bumped, delete the contents of the extensions directory - just on the first run
|
||||||
if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
|
# if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
|
||||||
rm -rf ${GUACAMOLE_HOME}/extensions/*
|
# rm -rf ${GUACAMOLE_HOME}/extensions/*
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# enable extensions
|
# enable extensions
|
||||||
for i in $(echo "$EXTENSIONS" | tr "," " "); do
|
for i in $(echo "$EXTENSIONS" | tr "," " "); do
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
until pg_isready; do
|
# until pg_isready; do
|
||||||
echo "Waiting for postgres to come up..."
|
# echo "Waiting for postgres to come up..."
|
||||||
sleep 1
|
# sleep 1
|
||||||
done
|
# done
|
||||||
|
|
||||||
# Create database if it does not exist
|
# Create database if it does not exist
|
||||||
psql -U postgres -lqt | cut -d \| -f 1 | grep -qw $POSTGRES_DB
|
# psql -U postgres -lqt | cut -d \| -f 1 | grep -qw $POSTGRES_DB
|
||||||
if [ $? -ne 0 ]; then
|
# if [ $? -ne 0 ]; then
|
||||||
createuser -U postgres $POSTGRES_USER
|
# createuser -U postgres $POSTGRES_USER
|
||||||
createdb -U postgres -O $POSTGRES_USER $POSTGRES_DB
|
# createdb -U postgres -O $POSTGRES_USER $POSTGRES_DB
|
||||||
cat /app/guacamole/schema/*.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
|
# cat /app/guacamole/schema/*.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
|
||||||
echo "$GUAC_VER" > /config/.database-version
|
# echo "$GUAC_VER" > /config/.database-version
|
||||||
|
|
||||||
/etc/cont-init.d/30-defaults.sh
|
# /etc/cont-init.d/30-defaults.sh
|
||||||
/etc/cont-init.d/50-extensions
|
# /etc/cont-init.d/50-extensions
|
||||||
else
|
# else
|
||||||
if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
|
# if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
|
||||||
cat /app/guacamole/schema/upgrade/upgrade-pre-$GUAC_VER.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
|
# cat /app/guacamole/schema/upgrade/upgrade-pre-$GUAC_VER.sql | psql -U $POSTGRES_USER -d $POSTGRES_DB -f -
|
||||||
echo "$GUAC_VER" > /config/.database-version
|
# echo "$GUAC_VER" > /config/.database-version
|
||||||
|
|
||||||
/etc/cont-init.d/30-defaults.sh
|
# /etc/cont-init.d/30-defaults.sh
|
||||||
/etc/cont-init.d/50-extensions
|
# /etc/cont-init.d/50-extensions
|
||||||
fi
|
# fi
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
echo "Starting guacamole client..."
|
echo "Starting guacamole client..."
|
||||||
s6-setuidgid root catalina.sh run
|
s6-setuidgid root catalina.sh run
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
echo "Starting guacamole guacd..."
|
echo "Starting guacamole guacd..."
|
||||||
s6-setuidgid root guacd -f
|
s6-setuidgid root guacd -f -b 127.0.0.1
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
|
||||||
|
|
||||||
echo "Starting postgres..."
|
|
||||||
s6-setuidgid postgres postgres
|
|
||||||
Reference in New Issue
Block a user