Skip to main content

Configuration

Settings live in two places. Your .env file holds only what must exist before the database, or be changeable without the web UI. Everything else lives in the database, encrypted, and you edit it in the UI.

WhereWhatWhy there
.envREAPER_SECRET_KEY, REAPER_SECRET_KEY_OLD (both optional)They decrypt the database's secrets, so they cannot live inside it
.envdata dir, host, port, loggingNeeded before anything else exists
.envREAPER_RECOVERYMust work when the UI has locked you out, so it has no setting in the UI
launcher.confthe same REAPER_ keys, on Windows, macOS, and the snapThose installs are started by a double-click or by snapd, and receive no environment variables
.envREAPER_ALLOW_UNARMED_LEAVING_SOONSeeds the first run only. After that the UI owns it, under Settings, Plex, as "Update while read-only"
.envREAPER_DESTRUCTIVE_ACTIONS_ENABLEDSeeds the first run only. The UI owns it after that
.envREAPER_SERVE_SPAOn by default. Turn it off in development so Vite serves the UI
Database, encryptedInstance URLs and API keys, the Discord webhook, policies, schedules, whitelistEditable and rotatable without a redeploy

Seeding services from the environment

Seed instances from the environment for a declarative deployment:

REAPER_SONARR_HD_URL=https://sonarr.example.net
REAPER_SONARR_HD_API_KEY=...
REAPER_SONARR_4K_URL=https://sonarr-4k.example.net
REAPER_SONARR_4K_API_KEY=...

Reaper imports and encrypts each one the first time it sees it, then logs that the variable can be removed. The import runs on every start so Reaper picks up a service added to the environment on your next restart.

You can choose whatever label goes between the service and the field, like HD. The case doesn't matter, so hd and HD are treated as the same service.

Use Sign in with Plex in the setup wizard to add Plex. It'll find your server and its token for you.

Also in this section