mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-04 06:57:55 +00:00
62 lines
2.2 KiB
Docker
62 lines
2.2 KiB
Docker
FROM tomcat:9.0.111-jdk17-temurin-noble
|
|
ARG TARGETPLATFORM
|
|
|
|
ENV GUAC_VER=1.6.0 \
|
|
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
|
|
|
|
RUN echo $TARGETPLATFORM
|
|
|
|
# Apply the s6-overlay
|
|
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then ARCHITECTURE=amd64; elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then ARCHITECTURE=armhf; elif [ "$TARGETPLATFORM" = "linux/arm/v8" ]; then ARCHITECTURE=aarch64; elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=aarch64; 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 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}*
|