obsidian/wiki/concepts/jellyseerr-setup-wizard-sqlite.md
2026-05-09 17:44:30 +01:00

3.2 KiB

title aliases tags sources created updated
Jellyseerr Setup Wizard Loops and SQLite Gotchas
jellyseerr setup
jellyseerr serverType
jellyseerr initialized
jellyseerr wizard loop
jellyseerr
sqlite
jellyfin
homelab
nginx
npm
daily/2026-04-30.md
2026-04-30 2026-04-30

Jellyseerr Setup Wizard Loops and SQLite Gotchas

Jellyseerr has several sharp edges during initial setup: the wrong serverType integer causes the media server connection to silently fail, a public.initialized = false flag in SQLite makes the setup wizard reappear on every page load even after completion, and an undefined urlBase builds a broken URL. All three issues are fixable via direct SQLite edits.

Key Points

  • serverType: 2 = Jellyfin; serverType: 4 = NOT_CONFIGURED — using 4 causes the setup wizard to loop
  • public.initialized = false in the public table of db.sqlite3 makes the wizard reappear every time; fix by setting it to true directly in SQLite
  • urlBase must be an empty string "", not null or undefined — undefined causes the URL to be built as http://<ip>:<port>undefined
  • SSL error ERR_SSL_UNRECOGNIZED_NAME_ALERT during setup usually means the nginx conf is in the wrong path (NPM proxy host conf lives at /opt/npm/data/nginx/proxy_host/<id>.conf)

Details

serverType integer map

Value Meaning
2 Jellyfin
3 Plex
4 NOT_CONFIGURED (default; breaks wizard)

Fixing the wizard loop via SQLite

The setup wizard checks public.initialized on every load. If Jellyseerr was partially set up but the flag was never flipped, the wizard keeps appearing even though configuration exists.

# Enter the container or host path
sqlite3 /opt/jellyseerr/db/db.sqlite3

# Check current state
SELECT * FROM public;

# Fix the loop
UPDATE public SET initialized = 1 WHERE id = 1;

.quit

After updating, restart Jellyseerr — the wizard will not reappear.

urlBase must be empty string

In settings.json (or the DB equivalent), urlBase being null or JavaScript undefined causes string concatenation to produce http://192.168.1.230:8096undefined. Set it explicitly:

{
  "urlBase": ""
}

NPM proxy host conf path

When ERR_SSL_UNRECOGNIZED_NAME_ALERT appears, the nginx conf for the proxy host was placed in the wrong location. NPM's proxy host confs live at:

/opt/npm/data/nginx/proxy_host/<numeric-id>.conf

Placing a custom conf elsewhere means NPM ignores it (or nginx loads an incomplete config). Use the NPM UI to set SSL, or edit the file at the correct path and reload nginx inside the NPM container.

Sources

  • daily/2026-04-30.md — Jellyseerr setup wizard looped due to wrong serverType (4 instead of 2) and public.initialized = false; urlBase undefined caused broken URL; SSL error traced to wrong NPM conf path