Compare commits

...

20 Commits

Author SHA1 Message Date
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 52 additions and 19 deletions
+6
View File
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
+29
View File
@@ -0,0 +1,29 @@
name: build-base
on:
workflow_dispatch:
push:
paths:
- 'Dockerfile.base'
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:
+6 -3
View File
@@ -1,6 +1,7 @@
FROM tomcat:9.0.85-jre11
FROM tomcat:9.0.88-jdk17
ARG TARGETPLATFORM
ENV GUAC_VER=1.5.4 \
ENV GUAC_VER=1.5.5 \
GUACAMOLE_HOME=/app/guacamole \
PG_VER=9.6.24 \
LIBSSH2_VER=1.11.0 \
@@ -16,8 +17,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
+4 -4
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.5.5
```
## 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.5.5
```
## Parameters
@@ -51,7 +51,7 @@ docker run \
-p 8080:8080 \
-v </path/to/config>:/config \
-e "EXTENSIONS=auth-ldap,auth-duo"
jwetzell/guacamole
jwetzell/guacamole:1.5.5
```
Currently the available extensions are:
@@ -85,7 +85,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.5.5
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