Prerequisites
- Docker and Docker Compose
- A disk with room for the content cache
- A WireGuard VPN provider for download egress (recommended, so your host IP is never exposed)
1. Clone
2. Configure
Copy the example env and fill in the required values:required
Secret that signs stream URLs. Generate one with
openssl rand -hex 32.required
Where the stream service is reachable from the outside (your domain or IP), e.g.
https://stream.example.com.3. Storage
Cached content lives on the local filesystem. The compose mounts the host path/mnt/cache/store into the services — mount your cache disk there, or change
that volume path in docker-compose.yml. See Storage.
4. Start
Base stack plus the VPN overlay (downloads route through gluetun):Leave off
-f docker-compose.vpn.yml to run without a VPN — downloads will use
your host IP directly, which is not recommended.api, ingest, stream, stremio, …).
5. Expose it (for remote access + Stremio)
The above runs on plain HTTP, fine for a LAN test. To reach it from outside your network — and to use the Stremio addon, which requires HTTPS — add the public overlay (Caddy with automatic TLS on your domain, or a Cloudflare tunnel):PUBLIC_URL details.
6. First use
- Open the web UI at your
PUBLIC_URLand create an account. - Add your debrid provider key (RealDebrid / AllDebrid / TorBox) in settings.
- Paste a magnet, NZB, or link — or connect the Stremio addon.
Connect Stremio
Point the addon at your instance and stream from Stremio.