From 43e8234af65ff2f3d40d6f3ab6bcfebaad61f3d5 Mon Sep 17 00:00:00 2001 From: njomac Date: Tue, 28 Jul 2026 16:54:33 +0200 Subject: [PATCH] fix: TOTP 2FA se nikad nije ucitavao - Preuzimanje je gadalo .jar, a Apache distribuira ekstenzije kao .tar.gz -> wget je ostavljao 0-bajtni jar u extensions/. - Volume ./extensions je montiran na /etc/guacamole/extensions, ali stvarni GUACAMOLE_HOME u imageu je /home/guacamole/.guacamole, pa se taj direktorij uopce nije citao. Image vec sadrzi TOTP jar u /opt/guacamole/totp, pa se rucno preuzimanje mice i koristi TOTP_ENABLED=true. GUACAMOLE_HOME je postavljen na /etc/guacamole da montirani extensions/ posluzi kao predlozak koji start.sh kopira - custom ekstenzije tako i dalje rade. Provjereno: 'Extension "TOTP TFA Authentication Backend" (totp) loaded.' Co-Authored-By: Claude Opus 5 --- install.sh | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/install.sh b/install.sh index 286b8d1..9ffa9ad 100755 --- a/install.sh +++ b/install.sh @@ -250,13 +250,10 @@ docker run --rm "guacamole/guacamole:${GUAC_VERSION}" \ info "SQL init skripta preuzeta" section "TOTP 2FA ekstenzija" -TOTP_JAR="guacamole-auth-totp-${GUAC_VERSION}.jar" -TOTP_URL="https://downloads.apache.org/guacamole/${GUAC_VERSION}/binary/${TOTP_JAR}" -if wget -q --timeout=30 "$TOTP_URL" -O "${INSTALL_DIR}/extensions/${TOTP_JAR}"; then - info "TOTP ekstenzija preuzeta" -else - warn "TOTP preuzimanje nije uspjelo. Ručno: https://guacamole.apache.org/releases/" -fi +# Image već sadrži TOTP jar u /opt/guacamole/totp — aktivira se s +# TOTP_ENABLED=true u compose datoteci (vidi niže). Ručno preuzimanje +# nije potrebno i stvorilo bi duplu ekstenziju. +info "TOTP se aktivira preko TOTP_ENABLED (ugrađen u image)" cat > "${INSTALL_DIR}/.env" << EOF POSTGRES_PASS=${POSTGRES_PASS} @@ -306,6 +303,11 @@ services: POSTGRESQL_DATABASE: guacamole_db POSTGRESQL_USER: guacamole_user POSTGRESQL_PASSWORD: \${POSTGRES_PASS} + TOTP_ENABLED: "true" + # Stvarni GUACAMOLE_HOME je /home/guacamole/.guacamole; ova varijabla + # označava predložak koji start.sh kopira u njega, pa je montirani + # extensions/ direktorij time stvarno u upotrebi. + GUACAMOLE_HOME: /etc/guacamole volumes: - ./extensions:/etc/guacamole/extensions:ro ports: