mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-20 14:39:07 +00:00
Compare commits
22 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 |
+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
|
|
||||||
|
|||||||
@@ -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" ]
|
||||||
|
|
||||||
@@ -1,34 +1,48 @@
|
|||||||
FROM library/tomcat:9-jre11-openjdk-bullseye
|
FROM library/tomcat:9-jre11-openjdk-bullseye
|
||||||
|
|
||||||
ENV ARCH=amd64 \
|
ENV GUAC_VER=1.5.4 \
|
||||||
GUAC_VER=1.4.0 \
|
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
PG_MAJOR=9.6 \
|
PG_VER=9.6.24 \
|
||||||
|
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
|
||||||
|
|
||||||
# Add Postgres Repository
|
|
||||||
RUN echo "deb http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" >> /etc/apt/sources.list.d/pgdg.list && \
|
|
||||||
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | apt-key add -
|
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y \
|
&& apt-get install -y curl ca-certificates gnupg \
|
||||||
libcairo2-dev libjpeg62-turbo-dev libpng-dev \
|
libcairo2-dev libjpeg62-turbo-dev libpng-dev libavformat-dev \
|
||||||
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||||
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
||||||
libssh2-1-dev libtelnet-dev libvncserver-dev \
|
libtelnet-dev libvncserver-dev \
|
||||||
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
||||||
ghostscript build-essential postgresql-${PG_MAJOR} \
|
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}*
|
||||||
|
|
||||||
|
# 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-${ARCH}.tar.gz /tmp
|
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-${ARCH}.tar.gz -C / \
|
RUN tar -xzf /tmp/s6-overlay-armhf.tar.gz -C / \
|
||||||
&& tar -xzf /tmp/s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
&& tar -xzf /tmp/s6-overlay-armhf.tar.gz -C /usr ./bin \
|
||||||
&& rm -rf /tmp/s6-overlay-${ARCH}.tar.gz
|
&& rm -rf /tmp/s6-overlay-armhf.tar.gz
|
||||||
|
|
||||||
RUN mkdir -p ${GUACAMOLE_HOME} \
|
RUN mkdir -p ${GUACAMOLE_HOME} \
|
||||||
${GUACAMOLE_HOME}/lib \
|
${GUACAMOLE_HOME}/lib \
|
||||||
@@ -37,15 +51,14 @@ RUN mkdir -p ${GUACAMOLE_HOME} \
|
|||||||
WORKDIR ${GUACAMOLE_HOME}
|
WORKDIR ${GUACAMOLE_HOME}
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
RUN echo $PATH
|
|
||||||
|
|
||||||
# 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 -SLO "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} \
|
||||||
|
&& export LDFLAGS="-lrt" \
|
||||||
&& ./configure --enable-allow-freerdp-snapshots \
|
&& ./configure --enable-allow-freerdp-snapshots \
|
||||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||||
&& make install \
|
&& make install \
|
||||||
@@ -59,9 +72,9 @@ RUN mkdir ${GUACAMOLE_HOME}/extensions-available
|
|||||||
# 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 -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 ${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 -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 \
|
&& 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/ \
|
||||||
&& cp guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
&& cp guacamole-auth-jdbc-${GUAC_VER}/postgresql/guacamole-auth-jdbc-postgresql-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions-available/ \
|
||||||
@@ -70,28 +83,35 @@ RUN set -x \
|
|||||||
&& 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 \
|
RUN set -xe \
|
||||||
&& echo "https://dlcdn.apache.org/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
&& echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-auth-sso-${GUAC_VER}.tar.gz" \
|
||||||
&& curl -SLO "https://dlcdn.apache.org/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 \
|
&& 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}/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}/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/ \
|
&& 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
|
&& 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 \
|
||||||
&& for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-totp; do \
|
&& for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-totp history-recording-storage; do \
|
||||||
echo "https://dlcdn.apache.org/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
echo "https://archive.apache.org/dist/guacamole/${GUAC_VER}/binary/guacamole-${i}-${GUAC_VER}.tar.gz" \
|
||||||
&& curl -SLO "https://dlcdn.apache.org/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 \
|
&& 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
|
||||||
+56
-23
@@ -1,31 +1,48 @@
|
|||||||
FROM arm32v7/tomcat:9-jre11
|
FROM arm32v7/tomcat:9-jre11
|
||||||
|
|
||||||
ENV ARCH=armhf \
|
ENV GUAC_VER=1.5.4 \
|
||||||
GUAC_VER=1.4.0 \
|
|
||||||
GUACAMOLE_HOME=/app/guacamole \
|
GUACAMOLE_HOME=/app/guacamole \
|
||||||
PG_MAJOR=9.6 \
|
PG_VER=9.6.24 \
|
||||||
|
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
|
# Install base dependencies
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y --allow-unauthenticated \
|
&& apt-get install -y curl ca-certificates gnupg \
|
||||||
libcairo2-dev libjpeg62-turbo-dev libpng-dev \
|
libcairo2-dev libjpeg-turbo8-dev libpng-dev libavformat-dev \
|
||||||
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
libossp-uuid-dev libavcodec-dev libavutil-dev \
|
||||||
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
libswscale-dev freerdp2-dev libfreerdp-client2-2 libpango1.0-dev \
|
||||||
libssh2-1-dev libtelnet-dev libvncserver-dev \
|
libtelnet-dev libvncserver-dev \
|
||||||
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
libpulse-dev libssl-dev libvorbis-dev libwebp-dev libwebsockets-dev \
|
||||||
ghostscript
|
ghostscript build-essential libreadline-dev
|
||||||
|
|
||||||
# Install Postgres
|
# Build & install libssh2
|
||||||
RUN apt-get install -y postgresql-${PG_MAJOR}
|
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-${ARCH}.tar.gz /tmp
|
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-${ARCH}.tar.gz -C / \
|
RUN tar -xzf /tmp/s6-overlay-armhf.tar.gz -C / \
|
||||||
&& tar -xzf /tmp/s6-overlay-${ARCH}.tar.gz -C /usr ./bin \
|
&& tar -xzf /tmp/s6-overlay-armhf.tar.gz -C /usr ./bin \
|
||||||
&& rm -rf /tmp/s6-overlay-${ARCH}.tar.gz
|
&& rm -rf /tmp/s6-overlay-armhf.tar.gz
|
||||||
|
|
||||||
RUN mkdir -p ${GUACAMOLE_HOME} \
|
RUN mkdir -p ${GUACAMOLE_HOME} \
|
||||||
${GUACAMOLE_HOME}/lib \
|
${GUACAMOLE_HOME}/lib \
|
||||||
@@ -34,11 +51,10 @@ RUN mkdir -p ${GUACAMOLE_HOME} \
|
|||||||
WORKDIR ${GUACAMOLE_HOME}
|
WORKDIR ${GUACAMOLE_HOME}
|
||||||
|
|
||||||
# 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 -SLOk "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 --enable-allow-freerdp-snapshots \
|
&& ./configure --enable-allow-freerdp-snapshots \
|
||||||
@@ -51,26 +67,43 @@ RUN curl -SLOk "http://apache.org/dyn/closer.cgi?action=download&filename=guacam
|
|||||||
# 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 -SLko ${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 -SLko ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.2.24.jar" \
|
&& curl -SLko ${GUACAMOLE_HOME}/lib/postgresql-42.1.4.jar "https://jdbc.postgresql.org/download/postgresql-42.2.24.jar" \
|
||||||
&& curl -SLkO "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 "https://dlcdn.apache.org/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 -SLOk "https://dlcdn.apache.org/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
|
||||||
|
|||||||
@@ -56,13 +56,20 @@ docker run \
|
|||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
|||||||
@@ -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 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv sh
|
|
||||||
|
|
||||||
echo "Starting postgres..."
|
|
||||||
s6-setuidgid postgres postgres
|
|
||||||
Reference in New Issue
Block a user