From 6594df478a56be49ee0260aee32e68f89247a928 Mon Sep 17 00:00:00 2001 From: HAL 8 ops Date: Mon, 24 Aug 2026 23:50:53 +0000 Subject: [PATCH] Filebrowser: fix db permission (non-root image, chown uid 1000) --- files-fix2.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 files-fix2.sh diff --git a/files-fix2.sh b/files-fix2.sh new file mode 100644 index 0000000..7994d73 --- /dev/null +++ b/files-fix2.sh @@ -0,0 +1,35 @@ +#!/bin/bash +# Filebrowser runs as uid 1000 (non-root image) - give it ownership of its +# database dir and the browse root, and pin the uid explicitly. +set -e + +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 +sudo chown -R 1000:1000 /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" \ + -u 1000:1000 \ + -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 "--- container log ---" +sudo docker logs --tail 5 filebrowser 2>&1 +echo "---------------------" + +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 "===================================================="