Skip to content
Coming soon

Getting Started

This page sets Sovereign up with Docker Compose: copy the example below, fill in your values, and run docker compose up -d. If you’d rather use plain docker run or a Kubernetes cluster, the Docker and Kubernetes pages cover those.


  • Docker 24+ on an x86-64 Linux host
  • A running Radarr and/or Sonarr instance with an API key, or a directory of media files (see Filesystem Media Sources)
  • Your media files accessible to the host (local path or network share)
  • A reverse proxy that serves Sovereign over HTTPS at the address your users will type, such as Caddy, Traefik or Nginx. Sovereign doesn’t terminate TLS itself, and without HTTPS your users’ passwords cross the network in the clear
  • Hardware sized for the number of people watching - see System Requirements

Create a sovereign.env file for your sensitive values, and keep it out of version control:

Terminal window
Sovereign__Authentication__AdminUsername=admin
Sovereign__Authentication__AdminPassword=Admin1!
Sovereign__DataSources__Radarr__0__ApiKey=<radarr-api-key>

Create a compose.yaml alongside it:

name: sovereign
services:
server:
image: <sovereign-image>:<version>
env_file:
- sovereign.env
environment:
Sovereign__Authentication__Issuer: https://media.example.com/
Sovereign__Network__TrustedProxyNetwork__0: 172.16.0.0/12
Sovereign__DataSources__Radarr__0__Url: http://radarr:7878
ports:
- 5000:5000
volumes:
- sovereign-data:/sovereign-data
- /path/to/media:/media:ro
volumes:
sovereign-data:

Replace <sovereign-image> and <version> with the image and a release (the Docker page explains both), and set the issuer to the HTTPS address your reverse proxy serves.

The trusted proxy network tells Sovereign that requests from your reverse proxy carry each user’s real address. 172.16.0.0/12 covers the networks Docker creates by default, which is where a proxy running in Docker or on the same host connects from. If your proxy runs on another machine, use its address instead. Trusted Proxy Networks explains how to find it.

Start the stack:

Terminal window
docker compose up -d

Point your reverse proxy at port 5000, then open the issuer address in a browser. On first run Sovereign creates the admin account from the credentials in sovereign.env, so sign in with those.

A new server starts out Unlicensed. Everything works, but a notice runs across the top of the screen and a short video plays before each title until you start a free trial or buy a license in System > License. Licensing explains the standings and the free trial.


© 2026 Sovereign Media LLCdocs/v1.0.5@98b57ac305fc

Titles, artwork, people and descriptions shown in screenshots are fictional and were created for illustration. Sovereign doesn't include or supply any media: it plays the library you bring.