Skip to main content

Minimum Requirements

Basic Setup

Suitable for small libraries (< 500 videos) on a single node
ComponentMinimum Spec
CPU4 cores (x86_64 or ARM64)
RAM4 GB
Storage20 GB (system) + video library space
OSLinux, Windows (with WSL2), macOS
SoftwareDocker 20.10+, Docker Compose 2.0+

Medium Library

1,000-5,000 videos
  • 8+ cores
  • 8 GB RAM
  • Hardware transcoding (optional)

Large Library

5,000+ videos
  • 16+ cores (or multi-node setup)
  • 16 GB RAM
  • NFS storage for multi-node

Performance Factors

FactorImpactRecommendation
CPU CoresEncoding speedMore cores = faster encoding
RAMJob concurrency4 GB + (2 GB per concurrent job)
StorageTemp files during encodingSSD recommended for temp directory
NetworkMulti-node performance1 Gbps+ for NFS shared storage

Software Requirements

Docker & Docker Compose

# Install Docker
curl -fsSL https://get.docker.com | sh

# Install Docker Compose
sudo apt install docker-compose-plugin

# Verify versions
docker --version          # Should be 20.10+
docker compose version    # Should be 2.0+

Hardware Transcoding (Optional)

Hardware encoding is 5-10x faster than software encoding but may reduce quality slightly.

Supported GPUs

NVIDIA

NVENCGTX 1050+ or RTX seriesRequires NVIDIA drivers

Intel

Quick Sync (QSV)6th gen (Skylake) or newerBuilt into CPU

AMD

VCE/VCNRX 400 series or newerLimited support

Docker GPU Passthrough

NVIDIA Setup:
# Install NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt update && sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker
Add to docker-compose.yml:
services:
  bitbonsai-backend:
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Network Requirements

Single Node

PortServiceRequired
4210Frontend UIYes
3100Backend APIYes (internal)
5432PostgreSQLYes (internal)
Only port 4210 needs to be accessible from your browser. Ports 3100 and 5432 are internal to Docker.

Multi-Node Setup

PortServiceRequired
3100Main node APIYes (for child nodes)
2049NFS ServerYes (if using NFS)
111NFS RPCYes (if using NFS)
Bandwidth recommendation: 1 Gbps+ between nodes for NFS shared storage.

Storage Considerations

Disk Space

  • Docker images: ~5 GB
  • Database: 100 MB - 1 GB (scales with library size)
  • Temp files: 2-5 GB per active job
  • Logs: 1-2 GB (rotated automatically)
BitBonsai replaces original files after successful encoding.During encoding:
  • Original file: 100 MB (example)
  • Temp encoded file: 40 MB (60% savings)
  • Total: 140 MB (peak usage)
After encoding:
  • New encoded file: 40 MB
  • Savings: 60 MB (original deleted)

Storage Performance

Storage TypeUse CaseNotes
HDDVideo libraryAcceptable (sequential reads)
SSDTemp directoryRecommended for faster I/O
NFSMulti-node shared storage1 Gbps+ network required

Supported Operating Systems


Next Steps