From 4d87d541373bffce6bb23da9024e17c799f67fe8 Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Wed, 7 Feb 2024 22:16:51 -0600 Subject: [PATCH] move stable stuff to a base --- Dockerfile.base | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Dockerfile.base diff --git a/Dockerfile.base b/Dockerfile.base new file mode 100644 index 0000000..f005be6 --- /dev/null +++ b/Dockerfile.base @@ -0,0 +1,60 @@ +FROM tomcat:9.0.85-jre11 + +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 + + + +# Add user for postgres +RUN useradd postgres + +# Cleanup default tomcat stuff +RUN rm -rf /usr/local/tomcat/webapps.dist + +# Apply the s6-overlay +RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then ARCHITECTURE=amd64; elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then ARCHITECTURE=arm; elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=aarch64; else ARCHITECTURE=amd64; fi \ + && curl -sS -L -O --output-dir /tmp/ --create-dirs "https://github.com/just-containers/s6-overlay/releases/download/v2.2.0.3/s6-overlay-${ARCHITECTURE}-installer" \ + && chmod +x /tmp/s6-overlay-${ARCHITECTURE}-installer && /tmp/s6-overlay-${ARCHITECTURE}-installer / \ + && rm -rf /tmp/s6-overlay-${ARCHITECTURE}-installer + +# make dirs for guacamole install +RUN mkdir -p ${GUACAMOLE_HOME} \ + ${GUACAMOLE_HOME}/lib \ + ${GUACAMOLE_HOME}/extensions + +# Install 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 \ + && rm -rf /var/lib/apt/lists/* + +# Download libssh2 and postgresql source +ADD https://www.libssh2.org/download/libssh2-${LIBSSH2_VER}.tar.gz /tmp +ADD https://ftp.postgresql.org/pub/source/v${PG_VER}/postgresql-${PG_VER}.tar.gz /tmp + + +# Build & install libssh2 +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 +RUN tar -xzvf /tmp/postgresql-${PG_VER}.tar.gz \ + && cd postgresql-${PG_VER} \ + && ./configure \ + && make \ + && make install \ + && rm -rf /tmp/postgresql-${PG_VER}* \ No newline at end of file