Compare commits

..

29 Commits

Author SHA1 Message Date
jwetzell 9284e7ab3a Update README.md 2025-07-03 10:24:03 -05:00
jwetzell cb52162bfb update guacamole to 1.6.0 and latest tomcat 9 2025-07-03 08:21:34 -05:00
jwetzell 0e6ea6c206 update base to tomcat 9.0.102 2025-03-26 08:56:12 -05:00
jwetzell b312a3eace remove database extesions from list of avaible extensions 2025-01-25 09:59:08 -06:00
jwetzell b00cb7a9f2 Merge pull request #59 from divinehawk/tomcat-update
Update Tomcat to 9.0.98
2024-12-31 18:13:31 -06:00
Matt Eaton 80044f54a7 Update Tomcat to 9.0.98 2025-01-01 00:51:46 +01:00
jwetzell 6f62295c8b limit build-base to master branch 2024-08-24 11:12:01 -05:00
jwetzell 07290e82c8 upgrade base image to ubuntu noble 2024-08-24 10:43:29 -05:00
jwetzell ecdf5c8137 update base to tomcat 9.0.93 2024-08-24 08:45:03 -05:00
jwetzell 7945b12de0 ARG should go INSIDE the FROM 2024-07-06 10:17:50 -05:00
jwetzell ccd2ec594c Create dependabot.yml 2024-07-06 08:17:21 -05:00
jwetzell 28b82a68a8 add TARGETPLATFORM arg 2024-07-06 08:06:04 -05:00
jwetzell 87fd435aac update image version used in README 2024-05-27 10:44:27 -05:00
jwetzell d7178feb80 v8 platform is not necessary 2024-05-17 14:41:45 -05:00
jwetzell 54982f26f3 add back arm/v7 platform 2024-05-17 14:40:20 -05:00
jwetzell 3cf4b6c741 update platforms in build base 2024-05-17 14:38:15 -05:00
jwetzell e27dedf9a8 update platforms in build latest 2024-05-17 14:37:53 -05:00
jwetzell 248049dc38 fix arm version on s6 overlay 2024-05-07 20:22:39 -05:00
jwetzell 6b8de99ece switch to jdk 17 2024-05-05 22:43:45 -05:00
jwetzell 7adcd7f3dc update base to tomcat 9.0.88 and java jdk 21 2024-05-05 22:41:01 -05:00
jwetzell d81299902a Bump base to 1.5.5 2024-04-07 09:10:26 -05:00
jwetzell 4514d2ed93 fix paths in workflows 2024-04-05 14:42:02 -05:00
jwetzell 1dfc348669 actually point base workflow at the base dockerfile 2024-04-05 11:42:53 -05:00
jwetzell ce2bc62cf7 add workflow dispatch 2024-04-05 11:41:07 -05:00
jwetzell 4072cf4aeb add workflow to build base image 2024-04-05 11:39:17 -05:00
jwetzell b7b8a81dbc adjust path of latest build workflow 2024-04-05 11:39:00 -05:00
jwetzell 5d81bf648a don't clear out extensions directory entirely on new guacamole version 2024-04-05 10:33:20 -05:00
jwetzell 52d372ae07 only delete guacamole jars 2024-04-05 09:49:26 -05:00
jwetzell a4f9da42e2 fix filename 2024-02-10 14:08:59 -06:00
7 changed files with 56 additions and 26 deletions
+6
View File
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
+31
View File
@@ -0,0 +1,31 @@
name: build-base
on:
workflow_dispatch:
push:
paths:
- 'Dockerfile.base'
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
file: Dockerfile.base
tags: jwetzell/guacamole:base
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: linux/amd64,linux/arm64,linux/arm/v7
+4 -4
View File
@@ -1,11 +1,11 @@
name: build-latest
on:
workflow_dispatch:
push:
# branches:
# - 'main'
paths-ignore:
- '**/README.md'
paths:
- 'Dockerfile'
- 'root/**'
jobs:
docker:
+8 -7
View File
@@ -1,14 +1,13 @@
FROM tomcat:9.0.85-jre11
FROM tomcat:9.0.106-jdk17-temurin-noble
ARG TARGETPLATFORM
ENV GUAC_VER=1.5.4 \
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
@@ -16,8 +15,10 @@ 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=arm; elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=aarch64; else ARCHITECTURE=amd64; fi \
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
@@ -32,7 +33,7 @@ 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 \
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 \
@@ -57,4 +58,4 @@ RUN tar -xzvf /tmp/postgresql-${PG_VER}.tar.gz \
&& ./configure \
&& make \
&& make install \
&& rm -rf /tmp/postgresql-${PG_VER}*
&& rm -rf /tmp/postgresql-${PG_VER}*
+4 -7
View File
@@ -18,7 +18,7 @@ This container runs the guacamole web client, the guacd server and a postgres da
docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
jwetzell/guacamole
jwetzell/guacamole:1.6.0
```
## Raspberry Pi / ARMv7
@@ -29,7 +29,7 @@ Now that the image has been converted to a multi-platform image the command for
docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
jwetzell/guacamole
jwetzell/guacamole:1.6.0
```
## Parameters
@@ -51,16 +51,13 @@ docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
-e "EXTENSIONS=auth-ldap,auth-duo"
jwetzell/guacamole
jwetzell/guacamole:1.6.0
```
Currently the available extensions are:
* 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-jdbc-mysql - [MySQL Authentication](https://guacamole.apache.org/doc/gug/jdbc-auth.html)
* auth-jdbc-postgresql - [PostgreSQL Authentication](https://guacamole.apache.org/doc/gug/jdbc-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)
@@ -85,7 +82,7 @@ Mapped volumes behave differently when running Docker for Windows and you may en
version: "2"
services:
guacamole:
image: jwetzell/guacamole
image: jwetzell/guacamole:1.6.0
container_name: guacamole
volumes:
- postgres:/config
+1 -6
View File
@@ -1,7 +1,7 @@
#!/usr/bin/with-contenv sh
echo "Cleaning Extensions from previous Guacamole versions"
for e in $(ls -1 ${GUACAMOLE_HOME}/extensions | grep -v ${GUAC_VER}); do
for e in $(ls -1 ${GUACAMOLE_HOME}/extensions | grep guacamole | grep -v ${GUAC_VER}); do
rm ${GUACAMOLE_HOME}/extensions/${e}
done
@@ -10,11 +10,6 @@ for i in auth-duo auth-header auth-json auth-ldap auth-quickconnect auth-sso-cas
rm -rf ${GUACAMOLE_HOME}/extensions/guacamole-${i}-${GUAC_VER}.jar
done
# 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
rm -rf ${GUACAMOLE_HOME}/extensions/*
fi
# enable extensions
for i in $(echo "$EXTENSIONS" | tr "," " "); do
cp ${GUACAMOLE_HOME}/extensions-available/guacamole-${i}-${GUAC_VER}.jar ${GUACAMOLE_HOME}/extensions
+2 -2
View File
@@ -14,14 +14,14 @@ if [ $? -ne 0 ]; then
echo "$GUAC_VER" > /config/.database-version
/etc/cont-init.d/30-defaults.sh
/etc/cont-init.d/50-extensions
/etc/cont-init.d/50-extensions.sh
else
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 -
echo "$GUAC_VER" > /config/.database-version
/etc/cont-init.d/30-defaults.sh
/etc/cont-init.d/50-extensions
/etc/cont-init.d/50-extensions.sh
fi
fi