v1.11.1
The server address survives a private window again.
Since 1.9.0 the address collected by the installer stopped reaching the sign-in screen. It was read through import.meta.env, which Vite replaces at build time — fine while every box built its own client, but these are built by CI, which has no .env. Sign-in only still knew the address because localStorage remembered the last one, so a private window, or any fresh browser, came up blank.
It is configuration, so it is read at run time now: the server reports it on /__apollo/config, and the unit file gained an EnvironmentFile line so the process can see /opt/apollo/.env at all. A remembered address still wins, and a from-source build with a .env behaves exactly as before.
Updating
update.sh runs from a pinned copy of whichever version started, so this release cannot install its own unit-file change — the copy driving the update predates it. Two commands, once:
/opt/apollo/scripts/update.sh
/opt/apollo/scripts/update.sh --service
The second re-renders the unit with the port this machine chose, reloads systemd and restarts. No fetch, no rebuild. From here on update.sh keeps the unit current by itself.
Also
--servicereinstalls the systemd unit and nothing else.claude/is excluded from the test globs, so an abandoned agent worktree can no longer fail the suite with assertions about its own version number