mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-21 06:59:11 +00:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 87b394ddac |
+7
-7
@@ -1,7 +1,7 @@
|
|||||||
FROM library/tomcat:9-jre8
|
FROM library/tomcat:9-jre8
|
||||||
|
|
||||||
ENV ARCH=amd64 \
|
ENV ARCH=amd64 \
|
||||||
GUAC_VER=0.9.14 \
|
GUAC_VER=1.0.0 \
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
PG_MAJOR=9.6 \
|
PG_MAJOR=9.6 \
|
||||||
PGDATA=/config/postgres \
|
PGDATA=/config/postgres \
|
||||||
@@ -35,7 +35,7 @@ RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnu
|
|||||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/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 "https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
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 \
|
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||||
&& cd guacamole-server-${GUAC_VER} \
|
&& cd guacamole-server-${GUAC_VER} \
|
||||||
&& ./configure \
|
&& ./configure \
|
||||||
@@ -48,9 +48,9 @@ RUN curl -SLO "https://sourceforge.net/projects/guacamole/files/current/source/g
|
|||||||
# 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 "https://sourceforge.net/projects/guacamole/files/current/binary/guacamole-${GUAC_VER}.war" \
|
&& 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 ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.1.4.jar" \
|
||||||
&& curl -SLO https://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
&& 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 \
|
&& 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}/ \
|
||||||
@@ -59,9 +59,9 @@ RUN set -x \
|
|||||||
# Add optional extensions
|
# Add optional extensions
|
||||||
RUN set -xe \
|
RUN set -xe \
|
||||||
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
||||||
&& for i in auth-ldap auth-duo auth-header auth-noauth auth-cas auth-openid; do \
|
&& for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect auth-totp; do \
|
||||||
echo "https://sourceforge.net/projects/guacamole/files/current/extensions/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://sourceforge.net/projects/guacamole/files/current/extensions/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 \
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM arm32v5/tomcat:9-jre8
|
FROM arm32v5/tomcat:9-jre8
|
||||||
|
|
||||||
ENV ARCH=armhf \
|
ENV ARCH=armhf \
|
||||||
GUAC_VER=0.9.14 \
|
GUAC_VER=1.0.0 \
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
PG_MAJOR=9.6 \
|
PG_MAJOR=9.6 \
|
||||||
PGDATA=/config/postgres \
|
PGDATA=/config/postgres \
|
||||||
@@ -35,7 +35,7 @@ RUN [ "$ARCH" = "armhf" ] && ln -s /usr/local/lib/freerdp /usr/lib/arm-linux-gnu
|
|||||||
RUN [ "$ARCH" = "amd64" ] && ln -s /usr/local/lib/freerdp /usr/lib/x86_64-linux-gnu/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 "https://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-${GUAC_VER}.tar.gz" \
|
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 \
|
&& tar -xzf guacamole-server-${GUAC_VER}.tar.gz \
|
||||||
&& cd guacamole-server-${GUAC_VER} \
|
&& cd guacamole-server-${GUAC_VER} \
|
||||||
&& ./configure \
|
&& ./configure \
|
||||||
@@ -48,9 +48,9 @@ RUN curl -SLO "https://sourceforge.net/projects/guacamole/files/current/source/g
|
|||||||
# 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 "https://sourceforge.net/projects/guacamole/files/current/binary/guacamole-${GUAC_VER}.war" \
|
&& 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 ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.1.4.jar" \
|
||||||
&& curl -SLO https://sourceforge.net/projects/guacamole/files/current/extensions/guacamole-auth-jdbc-${GUAC_VER}.tar.gz \
|
&& 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 \
|
&& 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}/ \
|
||||||
@@ -59,9 +59,9 @@ RUN set -x \
|
|||||||
# Add optional extensions
|
# Add optional extensions
|
||||||
RUN set -xe \
|
RUN set -xe \
|
||||||
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
&& mkdir ${GUACAMOLE_HOME}/extensions-available \
|
||||||
&& for i in auth-ldap auth-duo auth-header auth-noauth auth-cas auth-openid; do \
|
&& for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect auth-totp; do \
|
||||||
echo "https://sourceforge.net/projects/guacamole/files/current/extensions/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://sourceforge.net/projects/guacamole/files/current/extensions/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 \
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
# Docker Guacamole
|
# Docker Guacamole
|
||||||
|
|
||||||
A Docker Container for [Apache Guacamole](https://guacamole.incubator.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 2/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.
|
||||||
|
|
||||||
[](http://www.youtube.com/watch?v=esgaHNRxdhY "Video Title")
|
[](http://www.youtube.com/watch?v=esgaHNRxdhY "Video Title")
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ docker run \
|
|||||||
|
|
||||||
## Raspberry Pi / ARMv6
|
## Raspberry Pi / ARMv6
|
||||||
|
|
||||||
This image will also allow you to run [Apache Guacamole](https://guacamole.incubator.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 `armhf` tag.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker run \
|
docker run \
|
||||||
@@ -54,13 +54,14 @@ docker run \
|
|||||||
|
|
||||||
Currently the available extensions are:
|
Currently the available extensions are:
|
||||||
|
|
||||||
* auth-ldap - [LDAP Authentication](https://guacamole.incubator.apache.org/doc/0.9.14/gug/ldap-auth.html)
|
* auth-ldap - [LDAP Authentication](https://guacamole.apache.org/doc/gug/ldap-auth.html)
|
||||||
* auth-duo - [Duo two-factor authentication](https://guacamole.incubator.apache.org/doc/0.9.14/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.incubator.apache.org/doc/0.9.14/gug/header-auth.html)
|
* auth-header - [HTTP header authentication](https://guacamole.apache.org/doc/gug/header-auth.html)
|
||||||
* auth-cas - [CAS Authentication](https://guacamole.incubator.apache.org/doc/0.9.14/gug/cas-auth.html)
|
* auth-cas - [CAS Authentication](https://guacamole.apache.org/doc/gug/cas-auth.html)
|
||||||
* auth-openid - [OpenID Connect authentication](http://guacamole.apache.org/doc/0.9.14/gug/openid-auth.html)
|
* auth-openid - [OpenID Connect authentication](https://guacamole.apache.org/doc/gug/openid-auth.html)
|
||||||
|
* auth-totp - [TOTP two-factor authentication](https://guacamole.apache.org/doc/gug/totp-auth.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.incubator.apache.org/doc/0.9.13-incubating/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.
|
||||||
|
|
||||||
## Default User
|
## Default User
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
# clean up extensions
|
# clean up extensions
|
||||||
for i in auth-ldap auth-duo auth-header auth-noauth auth-cas auth-openid; do
|
for i in auth-ldap auth-duo auth-header auth-cas auth-openid auth-quickconnect auth-totp; do
|
||||||
rm -rf ${GUACAMOLE_HOME}/extensions/guacamole-${i}-${GUAC_VER}.jar
|
rm -rf ${GUACAMOLE_HOME}/extensions/guacamole-${i}-${GUAC_VER}.jar
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ 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 "0.9.14" > /config/.database-version
|
echo "$GUAC_VER" > /config/.database-version
|
||||||
else
|
else
|
||||||
if [ "$(cat /config/.database-version)" != "0.9.14" ]; then
|
if [ "$(cat /config/.database-version)" != "$GUAC_VER" ]; then
|
||||||
cat /app/guacamole/schema/upgrade/upgrade-pre-0.9.14.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 "0.9.14" > /config/.database-version
|
echo "$GUAC_VER" > /config/.database-version
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user