settings.js (which injects SERVER_URL into the browser) was served
without Cache-Control headers, causing Cloudflare and other reverse
proxies to cache the old value indefinitely. Additionally, when
SERVER_LOCK is enabled, the persisted server URL in localStorage was
never compared against the current window.SERVER_URL, so same-browser
sessions kept using the old server even after settings.js was updated.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Moved build to docker stage.
* Do not copy node_modules to the docker image
* Optimize Docker builds
* Lock a predefined server with enviroment variables
* Added a example docker compose file
* Removed useless layer
* Fix error with empty server type
* pass process via preload, use file, strict server check
* remove duplicate content-type
* update readme, docker compose
* bugfix: server lock false, not jellyfin
* fix preload type definition
* fix docker, web server lock check
---------
Co-authored-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>