File Browser
Web-based file management interface for uploading, downloading, and managing files with user access control and sharing capabilities.
Video [IBRACORP Video Tutorial - Coming Soon]
Useful Links
Related Videos
- Web File Management
- User Access Control
- File Sharing Solutions
Thank you for choosing to collaborate with IBRACORP π
Please read our disclaimer https://docs.ibracorp.io/disclaimer
Creditsβ
Role | Contributor |
---|---|
Writer / Producer | Sycotix |
Video Recording and Voice | Sycotix |
Contributor | North |
Testing / Proofreading | Hawks, DiscDuck |
Feature Listβ
Comprehensive File Management
- Web-Based Interface - Access files from any browser
- File Operations - Upload, download, rename, delete, move
- Directory Management - Create, organize, and navigate folders
- File Preview - View images, videos, and documents
- Text Editor - Edit text files directly in browser
- User Management - Multi-user support with permissions
- File Sharing - Create temporary download links
- Search Functionality - Find files and folders quickly
- Bulk Operations - Select and manage multiple files
- Mobile Responsive - Works on phones and tablets
- Custom Branding - Customize appearance and logo
- Plugin Support - Extend functionality with addons
Installationβ
Unraid Installationβ
Community Applications Method
- Navigate to Apps: Go to Community Applications in Unraid
- Search: Type "File Browser"
- Install: Select File Browser from available templates
- Configure Settings:
Container Name: filebrowser
Network Type: Bridge (or custom network)
WebUI Port: 8080 (change if needed)
Root Directory: /mnt/user (or specific path)
Database Path: /config/filebrowser.db - Apply: Click Apply and wait for container to start
- Access WebUI: Click WebUI button in Docker tab
Docker Installationβ
Docker Run Command
docker run -d \
--name=filebrowser \
-p 8080:80 \
-v /path/to/files:/srv:rw \
-v /path/to/database:/database \
-v /path/to/config:/config \
-e PUID=1000 \
-e PGID=1000 \
--restart unless-stopped \
filebrowser/filebrowser:s6
Docker Composeβ
Complete Configuration
version: '3.8'
services:
filebrowser:
image: filebrowser/filebrowser:s6
container_name: filebrowser
restart: unless-stopped
ports:
- "8080:80"
volumes:
- /mnt/user:/srv:rw
- ./filebrowser/database:/database
- ./filebrowser/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
labels:
- "traefik.enable=true"
- "traefik.http.routers.filebrowser.rule=Host(`files.yourdomain.com`)"
- "traefik.http.routers.filebrowser.entrypoints=https"
- "traefik.http.routers.filebrowser.tls=true"
- "traefik.http.services.filebrowser.loadbalancer.server.port=80"
networks:
- web
networks:
web:
external: true
Initial Setupβ
First Loginβ
Default Credentials
Username: admin
Password: admin
β οΈ Important: Change default password immediately after first login!
Basic Configurationβ
Initial Setup Steps
- Access Interface: Navigate to
http://your-server-ip:8080
- Login: Use default credentials
- Change Password:
- Click profile icon (top right)
- Select "Settings"
- Update password under "Change Password"
- Configure Settings: Adjust interface preferences
User Managementβ
Create Usersβ
Add New Users
- Access Users: Click "Settings" β "Users"
- Add User: Click "New" button
- User Configuration:
Username: john_doe
Password: secure_password
Scope: /srv/john (user's directory)
Locale: en
Role: User or Admin - Permissions: Set file and admin permissions
- Save: Create the user account
User Permissionsβ
Permission Settings
File Permissions:
- Create: Allow file/folder creation
- Read: Allow file viewing and downloading
- Update: Allow file modification
- Delete: Allow file/folder deletion
- Share: Allow creating share links
- Download: Allow file downloads
Admin Permissions:
- Admin: Full administrative access
- Execute: Run executable files
- Modify: Change file permissions
User Rolesβ
Role-Based Access
Administrator:
- Full system access
- User management
- Global settings
- All file operations
Editor:
- File management within scope
- Limited settings access
- No user management
Viewer:
- Read-only access
- Download permissions
- No modification rights
File Operationsβ
Basic File Managementβ
Common Operations
Upload Files:
- Drag and drop files
- Click upload button
- Bulk upload support
Download Files:
- Single file download
- Multiple file selection
- Folder download as ZIP
File Actions:
- Rename: F2 or right-click
- Delete: Delete key or right-click
- Move: Drag and drop
- Copy: Ctrl+C, Ctrl+V
File Editingβ
Built-in Editor
- Open File: Click on text file
- Edit Mode: Click "Edit" button
- Supported Formats:
Text Files: .txt, .md, .json, .xml
Configuration: .conf, .ini, .yaml, .yml
Code Files: .js, .py, .html, .css - Save Changes: Ctrl+S or click Save
File Previewβ
Preview Support
Images: JPG, PNG, GIF, SVG, WebP
Videos: MP4, WebM, OGG
Audio: MP3, WAV, OGG
Documents: PDF (basic viewer)
Text: All text-based files
Sharing Featuresβ
Create Sharesβ
Temporary File Sharing
- Select File: Right-click on file/folder
- Share: Click "Share" option
- Configure Share:
Expires: Set expiration time
Password: Optional password protection
Allow editing: Permit modifications - Generate Link: Copy shareable URL
Share Managementβ
Share Settings
Expiration Options:
- 1 hour
- 1 day
- 1 week
- 1 month
- Custom duration
- Never expire
Security Options:
- Password protection
- Download limit
- IP restriction
- Access logging
QR Code Sharingβ
Mobile Access
- Create Share: Generate share link
- QR Code: Automatically generated
- Mobile Scan: Use phone camera to scan
- Instant Access: Direct file download
Customizationβ
Brandingβ
Custom Appearance
- Settings: Access global settings
- Branding: Configure custom branding
- Options:
Instance Name: Your Organization
Logo: Upload custom logo
Theme: Light or Dark mode
Color Scheme: Custom colors
Interface Settingsβ
User Interface
Language: Multiple language support
Date Format: Customize date display
File View: List or grid view
Hidden Files: Show/hide dot files
Default Sort: Name, date, size
Advanced Configurationβ
Custom Settingsβ
Configuration File
{
"port": 80,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database/filebrowser.db",
"root": "/srv",
"noauth": false,
"signup": false,
"commands": {
"after_upload": ["echo", "File uploaded"],
"before_delete": ["echo", "Deleting file"]
}
}
Command Hooksβ
Automated Actions
# Example: Auto-scan media after upload
after_upload:
- /scripts/scan_media.sh
- notify-send "File uploaded"
# Example: Backup before delete
before_delete:
- /scripts/backup_file.sh
- echo "File backed up"
Reverse Proxy Setupβ
Nginx Configuration
server {
listen 80;
server_name files.yourdomain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# File upload size limit
client_max_body_size 500M;
}
}
Securityβ
Access Controlβ
Security Best Practices
Strong Passwords:
- Enforce password complexity
- Regular password changes
- Unique passwords per user
Network Security:
- Use HTTPS with SSL certificates
- Restrict network access
- VPN access for external users
File Permissions:
- Principle of least privilege
- Regular permission audits
- Scope users to specific directories
SSL/TLS Setupβ
HTTPS Configuration
# Docker Compose with Traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.filebrowser.rule=Host(`files.yourdomain.com`)"
- "traefik.http.routers.filebrowser.tls=true"
- "traefik.http.routers.filebrowser.tls.certresolver=letsencrypt"
Troubleshootingβ
Common Issuesβ
Permission Problems
# Fix file permissions
sudo chown -R 1000:1000 /path/to/files
sudo chmod -R 755 /path/to/files
# Fix database permissions
sudo chown -R 1000:1000 /path/to/database
Upload Issues
- File Size Limits: Check container memory limits
- Disk Space: Verify available storage
- Network Timeout: Adjust proxy timeout settings
Database Issues
# Reset database (loses users and settings)
rm /path/to/database/filebrowser.db
# Backup database
cp /path/to/database/filebrowser.db /backup/location/
Best Practicesβ
Organizationβ
File Structure
/srv/
βββ public/ # Shared files
βββ users/ # User directories
β βββ john/
β βββ jane/
β βββ admin/
βββ uploads/ # Temporary uploads
βββ shared/ # Team folders
Backup Strategyβ
Data Protection
#!/bin/bash
# Backup script
DATE=$(date +%Y%m%d)
# Backup database
cp /path/to/database/filebrowser.db /backup/filebrowser_${DATE}.db
# Backup configuration
tar -czf /backup/filebrowser_config_${DATE}.tar.gz /path/to/config/
Special Thanksβ
- File Browser Development Team for creating this excellent file management solution
- Community Contributors for ongoing development and support
- To our fantastic Discord community and our Admins DiscDuck and Hawks for their input and testing
Please support the developers and creators involved in this work to help show them some love. β€οΈ
Final Wordsβ
We hope you enjoyed this guide. It was conceptualized, written, and implemented by our Admin Sycotix.
Support Usβ
Our work sometimes takes months to research and develop.
If you want to help support us please consider:
- Liking and Subscribing to our Youtube channel
- Joining our Discord server
- Becoming a paid member on our IBRACORP website
- Donating via Paypal
Thank you for being part of our community!