Prerequisites
- Unraid 6.9+ (6.11+ recommended)
- Community Applications plugin installed
- Media library accessible on
/mnt/user/shares - (Optional) NVIDIA GPU with nvidia-driver plugin for hardware encoding
Install from Community Applications
If BitBonsai is not yet available in Community Apps, use the manual Docker installation below.
Manual Docker Installation
Backend Container
Add Path Mappings
| Container Path | Host Path | Mode | Description |
|---|---|---|---|
/config | /mnt/user/appdata/bitbonsai | Read/Write | App config and database |
/videos | /mnt/user/videos | Read/Write | Media libraries (adjust to your path) |
Set Environment Variables
| Variable | Value | Description |
|---|---|---|
POSTGRES_USER | bitbonsai | Database username |
POSTGRES_PASSWORD | changeme | Database password (change this!) |
POSTGRES_DB | bitbonsai | Database name |
NODE_ENV | production | Runtime environment |
Frontend Container
Set Backend URL
| Variable | Value | Description |
|---|---|---|
API_URL | http://[UNRAID-IP]:3100 | Backend API endpoint |
[UNRAID-IP] with your server’s IP (e.g., http://192.168.1.100:3100).Path Mapping for Media Libraries
Unraid uses/mnt/user/ paths for shares. BitBonsai must access the same physical path inside the container.
Example Configurations
| Scenario | Host Path | Container Path |
|---|---|---|
| Single media share | /mnt/user/media | /videos |
| Multiple shares | /mnt/user/ | /mnt/user/ (passthrough) |
| Specific folders | /mnt/user/media/movies | /movies |
How to Verify Path Mapping
- Add a test library in BitBonsai using the container path
- Start a scan
- If files are not detected, check Docker logs:
- Look for errors like
ENOENT: no such file or directory
Network Mode Selection
| Mode | Pros | Cons | Recommendation |
|---|---|---|---|
| Bridge | Isolated, port control | Manual port mapping | ✅ Recommended |
| Host | No port mapping needed | Exposes all ports | Use only if needed |
| Custom | Advanced routing | Requires network config | Advanced users only |
Bridge mode is recommended for security. Frontend and backend communicate via host IP.
GPU Passthrough (Hardware Encoding)
BitBonsai supports NVIDIA GPU acceleration for faster encoding.Requirements
- NVIDIA GPU installed in Unraid server
- nvidia-driver plugin installed from Community Apps
- Container runtime configured for GPU access
Setup Steps
Install nvidia-driver Plugin
- Go to Apps → Search for
nvidia-driver - Install and configure for your GPU
- Reboot if prompted
Enable GPU in Backend Container
Edit the BitBonsai backend container:
-
Extra Parameters:
-
Environment Variables:
Starting the Containers
After configuration:- Both containers should auto-start with Unraid
- Backend may take 30-60 seconds to initialize database
- Check Docker tab for status (green = running)
Verify Installation
-
Backend health check:
Should return:
{"status":"ok"} -
Access Web UI:
Accessing the Web Interface
Open your browser and navigate to:[UNRAID-IP] with your server’s IP address (e.g., http://192.168.1.100:4210).
First-Time Setup
- Click Add Library
- Enter container path (e.g.,
/videos/movies) - Select codec (HEVC recommended)
- Click Scan Library
Troubleshooting Unraid-Specific Issues
Container Won’t Start
Symptom: Container immediately stops after starting. Solutions:- Check Docker logs:
- Verify port conflicts (3100, 4210, 5432 not in use)
- Check appdata directory permissions:
“Permission Denied” Errors
Symptom: Cannot read/write video files. Solutions:- Verify path mapping matches your Unraid shares
- Check container runs as correct user (usually
nobody:users) - Set permissions on media folder:
(Adjust as needed for security)
Path Mapping Issues
Symptom: “No videos found” after scanning. Solutions:- Verify container path matches host path mapping
- Use Console button in Docker tab to access container:
Confirm files are visible inside container
- Check path in BitBonsai matches container path, not host path
Backend Cannot Connect to Database
Symptom: Backend logs show PostgreSQL connection errors. Solutions:- Verify PostgreSQL port 5432 is not blocked
- Check
POSTGRES_PASSWORDenvironment variable is set - Delete
/mnt/user/appdata/bitbonsai/postgresand restart (will recreate DB)
GPU Not Detected
Symptom: Encoding uses CPU instead of GPU. Solutions:- Verify nvidia-driver plugin is running:
- Check container has GPU access:
- Verify
--runtime=nvidiain Extra Parameters - Restart container after nvidia-driver updates
Frontend Shows “Cannot Connect to Backend”
Symptom: Web UI displays connection error. Solutions:- Verify backend is running (Docker tab)
- Check
API_URLenvironment variable in frontend container - Test backend directly:
- Ensure no firewall blocking port 3100
Next Steps
Add Your First Library
Scan and encode your first video collection
Multi-Node Setup
Add worker nodes for faster encoding
Troubleshooting Guide
Fix common issues and optimize performance