3.2 KiB
| title | aliases | tags | sources | created | updated | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jellyseerr Setup Wizard Loops and SQLite Gotchas |
|
|
|
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 looppublic.initialized = falsein thepublictable ofdb.sqlite3makes the wizard reappear every time; fix by setting it totruedirectly in SQLiteurlBasemust be an empty string"", notnullorundefined— undefined causes the URL to be built ashttp://<ip>:<port>undefined- SSL error
ERR_SSL_UNRECOGNIZED_NAME_ALERTduring 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.
Related Concepts
- wiki/concepts/jellyfin-tmdb-thetvdb-plugin — Jellyfin media server setup; plugin and naming gotchas that affect what Jellyseerr can discover
- wiki/concepts/uptime-kuma-socketio-management — Another service managed via SQLite direct edits when the UI is unavailable
- wiki/homelab/_index — Media stack overview: Radarr, Sonarr, Prowlarr, Jellyfin, Jellyseerr
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