TODOยถ
Custom CSS ownership: with
ssoenabledfiles/shell/configure-auth.shposts a fixedCustomCssto/System/Configuration/brandingon every deploy and so replaces the whole custom CSS of the server; replaying that payload on the compose stack removed the corporate block, and the design task intasks/utils/design.ymlthat runs afterwards appended it again and reportedchanged, so the role is not idempotent in that variant and the web client is unstyled between the two tasks. Let the script read the branding first and keep foreign CSS, or move its two rules intotemplates/branding.css.j2and let the script write only the login disclaimer.Administrator password in argv:
files/shell/configure-auth.shputsJELLYFIN_ADMIN_PASSWORDinto thecurl -dargument of the wizard user (line 25), ofauthenticate(line 33) and of the password change (line 70) on the hosting node, andtasks/utils/mcp.ymlpasses it as-e JELLYFIN_ADMIN_PASSWORD=<value>tocontainer exec(line 31), so the process list of the node shows the administrator password while these calls run, andansible.builtin.commandrunsos.path.expandvarsover the MCP argv while that password alphabet contains$. Send the JSON bodies with--data @-from theprintfbuiltin, and forward the MCP value as-e JELLYFIN_ADMIN_PASSWORDplus the taskโsenvironment:.Stale login route:
onLoginSurfaceinfiles/playwright/_shared.jsmatcheslogin.htmlor a bare/web/, while Jellyfin 10.11.11 routes a visitor to/web/#/login?serverid=<id>&url=%2Fhome; the guest test andlogouttherefore only pass on the transient/web/before the client has routed. Match#/logininstead.The four auth tasks (โWizard + plugin installโ, โRestart to load installed pluginsโ, โLDAP/SSO configurationโ, โFinal restartโ) carry
changed_when: trueand report changed on every deploy (measured 2026-10-11 in two consecutive role syncs), and a changed administrator password costs about two minutes of wizard retries before the pin reset converges it. Options:changed_whenon output the script prints only on a real change, and probe the password once before entering the retry loop.