Docker

Self-Hosted Video Downloader for Docker

Run VidBee on your NAS, home server, or cloud VM. Pull once, download from anywhere — no desktop required.

Get started in minutes

Copy the compose file, run one command, and access VidBee from any browser on your network.

Quick start
docker run -d \
  -e VIDBEE_API_HOST=0.0.0.0 \
  -e VIDBEE_API_PORT=3100 \
  -e VIDBEE_DOWNLOAD_DIR=/data/downloads \
  -v vidbee-downloads:/data/downloads \
  -p 3100:3100 \
  ghcr.io/nexmoe/vidbee-api:latest
docker-compose.yml
services:
  api:
    image: ghcr.io/nexmoe/vidbee-api:latest
    environment:
      VIDBEE_API_HOST: 0.0.0.0
      VIDBEE_API_PORT: 3100
      VIDBEE_DOWNLOAD_DIR: /data/downloads
      VIDBEE_HISTORY_STORE_PATH: /data/vidbee/vidbee.db
    ports:
      - "3100:3100"
    volumes:
      - vidbee-downloads:/data/downloads
      - vidbee-data:/data/vidbee
    restart: unless-stopped

  web:
    image: ghcr.io/nexmoe/vidbee-web:latest
    depends_on:
      - api
    ports:
      - "3000:3000"
    restart: unless-stopped

volumes:
  vidbee-downloads:
  vidbee-data:

Why self-hosted video tools fall short

Whether you run a NAS or a home server, manual downloads and fragile scripts create friction. VidBee gives you a stable, web-based interface that runs wherever Docker runs.

  • Manually downloading videos to NAS is slow and repetitive
  • No good GUI for yt-dlp on headless servers
  • Web-only tools don't fit self-hosted media workflows
  • Multi-arch Docker images are hard to find for ARM NAS devices

Up and running in 3 steps

No scripts, no config files — just Docker Compose and a browser.

  1. 1

    Pull the image

    Run docker compose up -d to pull ghcr.io/nexmoe/vidbee-api and vidbee-web and start both services.

  2. 2

    Mount your media folder

    Map your local downloads directory to /data/downloads in the compose file so files land where you want them.

  3. 3

    Open the web UI

    Navigate to http://your-host:3000 from any browser on your network and start downloading.

Docker deployment FAQ

Common questions about architecture support, data persistence, and managing VidBee with Portainer or Unraid.

VidBee Docker images are built for amd64 and arm64, so they run on standard servers, Raspberry Pi, Synology NAS (DSM 7+), and most ARM-based home servers.

Mount a host directory or named volume to /data/downloads and /data/vidbee in the compose file. The example in the compose snippet above already includes these mounts.

Yes. Paste the compose snippet directly into Portainer's stack editor, or use the standard Docker template format for Unraid. No special configuration is needed.

Yes — see the compose snippet on this page. It starts both the API service (port 3100) and the web UI (port 3000) with persistent volumes for downloads and the history database.

No. By default the services bind to all interfaces on your host, but you can restrict them to LAN by changing the port binding in the compose file (e.g. 127.0.0.1:3000:3000).

Run VidBee on your own infrastructure

Open source, no account required, and ready to self-host in minutes.