52c75d7a / scripts /start /filebrowser-start.sh
autoface's picture
Update filebrowser-start.sh script to add environment variable configuration to simplify user customization. Modify the initialization logic for database path, user and port configuration to ensure that detailed configuration information is output at startup.
06094c9
#!/bin/bash
set -e
# Logging function
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] [File Browser] $*"
}
# Configuration with environment variables
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}"
# Ensure the directory exists and set correct permissions
mkdir -p "$(dirname "${FILEBROWSER_DB_PATH}")"
chmod 755 "$(dirname "${FILEBROWSER_DB_PATH}")"
# Initialize config and database if not exist
if [[ ! -f "${FILEBROWSER_DB_PATH}" ]]; then
log "Creating File Browser database..."
# Initialize using simple CLI command
filebrowser config init \
--port "${FILEBROWSER_PORT}" \
--address "${FILEBROWSER_ADDRESS}" \
--database "${FILEBROWSER_DB_PATH}" \
--root "${FILEBROWSER_ROOT}" \
--log stdout
# Add default admin user
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
# Start File Browser
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