From f9ff163c40706f2e8c72466461cea244597fce1d Mon Sep 17 00:00:00 2001 From: HAL 8 ops Date: Mon, 24 Aug 2026 23:46:50 +0000 Subject: [PATCH] Filebrowser 502 fix: pin listen port, re-init --- files-fix.sh | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 files-fix.sh diff --git a/files-fix.sh b/files-fix.sh new file mode 100644 index 0000000..77bed9b --- /dev/null +++ b/files-fix.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Filebrowser 502 fix: show what happened, then re-init with the listen +# port pinned to 80 so the Caddy proxy target is certain. Fresh install +# (nothing stored yet), so the database is recreated with new credentials. +set -e + +echo "--- previous container state ---" +sudo docker ps -a --filter name=filebrowser --format '{{.Status}}' || true +sudo docker logs --tail 15 filebrowser 2>&1 || true +echo "--------------------------------" + +NET=$(sudo docker network ls --format '{{.Name}}' | grep -m1 hal8) +sudo docker rm -f filebrowser >/dev/null 2>&1 || true +sudo rm -rf /opt/filebrowser && sudo mkdir -p /opt/filebrowser /srv/files + +PW=$(openssl rand -base64 12) +HASH=$(sudo docker run --rm filebrowser/filebrowser hash "$PW") + +sudo docker run -d --restart unless-stopped --name filebrowser --network "$NET" \ + -v /srv/files:/srv \ + -v /opt/filebrowser:/database \ + -e FB_DATABASE=/database/filebrowser.db \ + -e FB_ROOT=/srv \ + -e FB_ADDRESS=0.0.0.0 \ + -e FB_PORT=80 \ + -e FB_USERNAME=jerry \ + -e FB_PASSWORD="$HASH" \ + filebrowser/filebrowser + +sleep 6 +echo "--- new container log ---" +sudo docker logs --tail 6 filebrowser 2>&1 +echo "-------------------------" + +printf 'files.odyssey-works.io {\n\treverse_proxy filebrowser:80\n}\n' \ + | sudo tee /opt/marketplace/caddy/files.caddy >/dev/null +CADDY_CONFIG_SHA=$(sudo sh -c "cat /opt/hal8/deploy/Caddyfile /opt/marketplace/caddy/*.caddy | sha256sum | cut -d' ' -f1") +cd /opt/hal8 +sudo CADDY_CONFIG_SHA="$CADDY_CONFIG_SHA" docker compose -f docker-compose.prod.yaml up -d --no-build --force-recreate caddy +sleep 4 + +echo "====================================================" +echo "SITE TEST: HTTP $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 https://files.odyssey-works.io) (200 = working)" +echo "LOGIN: https://files.odyssey-works.io user: jerry" +echo "PASSWORD: $PW" +echo "===================================================="