mirror of
https://github.com/jwetzell/docker-guacamole.git
synced 2026-08-20 06:29:08 +00:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f62295c8b | |||
| 07290e82c8 | |||
| ecdf5c8137 | |||
| 7945b12de0 | |||
| ccd2ec594c | |||
| 28b82a68a8 | |||
| 87fd435aac | |||
| d7178feb80 | |||
| 54982f26f3 | |||
| 3cf4b6c741 | |||
| e27dedf9a8 | |||
| 248049dc38 | |||
| 6b8de99ece | |||
| 7adcd7f3dc | |||
| d81299902a | |||
| 4514d2ed93 | |||
| 1dfc348669 | |||
| ce2bc62cf7 | |||
| 4072cf4aeb | |||
| b7b8a81dbc | |||
| 5d81bf648a | |||
| 52d372ae07 | |||
| a4f9da42e2 |
@@ -0,0 +1,6 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: 'github-actions'
|
||||
directory: '/'
|
||||
schedule:
|
||||
interval: 'weekly'
|
||||
@@ -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
|
||||
@@ -1,11 +1,11 @@
|
||||
name: build-latest
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
# branches:
|
||||
# - 'main'
|
||||
paths-ignore:
|
||||
- '**/README.md'
|
||||
paths:
|
||||
- 'Dockerfile'
|
||||
- 'root/**'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
|
||||
+7
-6
@@ -1,14 +1,13 @@
|
||||
FROM tomcat:9.0.85-jre11
|
||||
FROM tomcat:9.0.93-jdk17-temurin-noble
|
||||
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 \
|
||||
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 \
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user