36 lines
1.3 KiB
Bash
36 lines
1.3 KiB
Bash
#!/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 "===================================================="
|