|
|
#!/bin/bash |
|
|
|
|
|
set -e |
|
|
|
|
|
|
|
|
log() { |
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [File Browser] $*" |
|
|
} |
|
|
|
|
|
|
|
|
FILEBROWSER_USER=${FILEBROWSER_USER:-admin} |
|
|
FILEBROWSER_PASSWORD=${FILEBROWSER_PASSWORD:-admin} |
|
|
FILEBROWSER_PORT=${FILEBROWSER_PORT:-8080} |
|
|
FILEBROWSER_ADDRESS=${FILEBROWSER_ADDRESS:-0.0.0.0} |
|
|
FILEBROWSER_ROOT=${FILEBROWSER_ROOT:-/home/user} |
|
|
FILEBROWSER_DB_PATH=${FILEBROWSER_DB_PATH:-/home/user/filebrowser/filebrowser.db} |
|
|
|
|
|
log "Initializing File Browser..." |
|
|
log "Configuration:" |
|
|
log " - User: ${FILEBROWSER_USER}" |
|
|
log " - Port: ${FILEBROWSER_PORT}" |
|
|
log " - Address: ${FILEBROWSER_ADDRESS}" |
|
|
log " - Root: ${FILEBROWSER_ROOT}" |
|
|
log " - Database: ${FILEBROWSER_DB_PATH}" |
|
|
|
|
|
|
|
|
mkdir -p "$(dirname "${FILEBROWSER_DB_PATH}")" |
|
|
chmod 755 "$(dirname "${FILEBROWSER_DB_PATH}")" |
|
|
|
|
|
|
|
|
if [[ ! -f "${FILEBROWSER_DB_PATH}" ]]; then |
|
|
log "Creating File Browser database..." |
|
|
|
|
|
|
|
|
filebrowser config init \ |
|
|
--port "${FILEBROWSER_PORT}" \ |
|
|
--address "${FILEBROWSER_ADDRESS}" \ |
|
|
--database "${FILEBROWSER_DB_PATH}" \ |
|
|
--root "${FILEBROWSER_ROOT}" \ |
|
|
--log stdout |
|
|
|
|
|
|
|
|
log "Creating default admin user (${FILEBROWSER_USER})..." |
|
|
filebrowser users add "${FILEBROWSER_USER}" "${FILEBROWSER_PASSWORD}" \ |
|
|
--database "${FILEBROWSER_DB_PATH}" \ |
|
|
--perm.admin |
|
|
|
|
|
log "File Browser initialized successfully" |
|
|
else |
|
|
log "File Browser database already exists" |
|
|
fi |
|
|
|
|
|
|
|
|
log "Starting File Browser on ${FILEBROWSER_ADDRESS}:${FILEBROWSER_PORT}..." |
|
|
exec filebrowser \ |
|
|
--port "${FILEBROWSER_PORT}" \ |
|
|
--address "${FILEBROWSER_ADDRESS}" \ |
|
|
--database "${FILEBROWSER_DB_PATH}" \ |
|
|
--root "${FILEBROWSER_ROOT}" \ |
|
|
--log stdout |