| set -e | |
| # Logging function | |
| log() { | |
| echo "[$(date '+%Y-%m-%d %H:%M:%S')] [File Browser] $*" | |
| } | |
| log "Initializing File Browser..." | |
| # Ensure the directory exists and set correct permissions | |
| mkdir -p /home/user/filebrowser | |
| chmod 755 /home/user/filebrowser | |
| # Initialize config and database if not exist | |
| if [[ ! -f "/home/user/filebrowser/filebrowser.db" ]]; then | |
| log "Creating File Browser database..." | |
| # Initialize using simple CLI command | |
| filebrowser config init \ | |
| --port 8080 \ | |
| --address 0.0.0.0 \ | |
| --database /home/user/filebrowser/filebrowser.db \ | |
| --root /home/user \ | |
| --log stdout | |
| # Add default admin user | |
| log "Creating default admin user..." | |
| filebrowser users add admin admin \ | |
| --database /home/user/filebrowser/filebrowser.db \ | |
| --perm.admin | |
| log "File Browser initialized successfully" | |
| else | |
| log "File Browser database already exists" | |
| fi | |
| # Start File Browser | |
| log "Starting File Browser on port 8080..." | |
| exec filebrowser \ | |
| --port 8080 \ | |
| --address 0.0.0.0 \ | |
| --database /home/user/filebrowser/filebrowser.db \ | |
| --root /home/user \ | |
| --log stdout |