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
1
Open Community Applications
Navigate to Apps tab in Unraid webUI.
2
Search for BitBonsai
Search for
bitbonsai and select the template.3
Review Configuration
The template includes pre-configured settings for both backend and frontend containers.
If BitBonsai is not yet available in Community Apps, use the manual Docker installation below.
Manual Docker Installation
Backend Container
1
Add Container
Go to Docker tab → Add Container.
2
Configure Repository
3
Set Network Mode
Network Type:
bridge (recommended)4
Configure Ports
| Container Port | Host Port | Description |
|---|---|---|
| 3100 | 3100 | Backend API |
| 5432 | 5432 | PostgreSQL database |
5
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) |
6
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 |
7
Apply and Start
Click Apply to create and start the container.
Frontend Container
1
Add Second Container
Go to Docker tab → Add Container.
2
Configure Repository
3
Set Network Mode
Network Type:
bridge4
Configure Port
| Container Port | Host Port | Description |
|---|---|---|
| 80 | 4210 | Web interface |
5
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).6
Apply and Start
Click Apply to create and start the container.
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
1
Install nvidia-driver Plugin
- Go to Apps → Search for
nvidia-driver - Install and configure for your GPU
- Reboot if prompted
2
Enable GPU in Backend Container
Edit the BitBonsai backend container:
-
Extra Parameters:
-
Environment Variables:
3
Restart Container
Stop and start the backend container.
4
Verify GPU Access
Check container logs:Should display GPU information.
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