Skip to content

Host a library for your people

Moovo has two halves. The server runs next to your movies and makes them look gorgeous. The app is what your friends and family install to browse, download and watch together. This guide is for the host: the one person who sets up the server.

It takes about 15 minutes, and you don't need to be a sysadmin. If you can copy a file and run one command, you're set.

What you need

  • Your movies and shows as files, in folders (see folder layout).
  • A computer that stays on: a NAS (Synology, Unraid, TrueNAS, QNAP), a Mac mini, an old PC or a Linux box. It doesn't need to be powerful; the server doesn't transcode.
  • Docker (Docker Desktop on Mac and Windows, or Docker Engine on Linux and most NAS systems).
  • A way for people outside your home to reach it: port forwarding, or a tunnel if your internet provider doesn't allow that. Remote access explains both.

How it fits together

  • The server reads your folders read-only. It can't rename, move or delete anything.
  • It fetches posters and details with your own API keys (TMDB, optionally OMDb and OpenSubtitles). No keys? It still works, just with plainer pages.
  • Your people's apps download files straight from your server, resumably, and then play them offline.
  • For Watch Together, only tiny sync messages travel between apps: nobody streams video to anybody.
  • Nothing about your library ever touches our website. The server doesn't need us to keep running.

Quick start

docker-compose.yml
# docker-compose.yml
services:
  moovo:
    image: ghcr.io/moovoapp/server:latest
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      MOOVO_PUBLIC_URL: https://movies.example.com   # how your people reach it
      MOOVO_MOVIE_ROOTS: /media/movies
      MOOVO_TV_ROOTS: /media/tv
      TMDB_API_KEY: ${TMDB_API_KEY:-}                # optional: posters & details
      TZ: America/New_York
    volumes:
      - ./data:/data                  # database, artwork, subtitles
      - /path/to/Movies:/media/movies:ro   # read-only: it never modifies your files
      - /path/to/TV:/media/tv:ro
terminal
docker compose up -d
docker compose logs -f moovo

The log prints a one-time setup code. Open the app, choose Set up a new server, enter your server's address and the code, and you're the owner. Then invite your people.

Next steps

  1. Install with Docker & NAS: the details for your particular box.
  2. First run & setup code: creating the owner account and scanning the library.
  3. Remote access: port forwarding, Cloudflare Tunnel or Tailscale.
  4. Invites, people & circles: bring everyone in.