Added
- Installer wizard is fully localized into all 16 supported languages with automatic browser-language detection, via its own
tools/installer/locales/*.jsonandi18n-mini.js(mirrors the app's locale resolution;deis the reference,enthe fallback). - New optional "Advanced" installer step covering reverse-proxy/HTTPS deployments (sets
SESSION_SECURE/TRUST_PROXY), Single Sign-On (OIDC), and automatic backups — all configurable without hand-editing.env. - Installer verifies Docker prerequisites before the wizard starts and surfaces container start/spawn errors in the UI instead of failing silently.
GET /api/preflightreports whether an existing.envfile and a runningoikoscontainer are present.
Changed
- Installer adopts the app's design language: shared design tokens and Plus Jakarta Sans (violet accent, matching radii/shadows, automatic dark mode), served read-only from the repo.
- Installer wizard now meets WCAG 2.1 AA — keyboard-operable accordion buttons (
aria-expanded/aria-controls),role="alert"error banners, a liverole="status"Docker-status region, focus moved to the active step heading on navigation, labelled password-visibility toggles, a step counter derived from the step list, and a unified error-banner style. docker-compose.ymlmaps the chosen host port (${OIKOS_HTTP_PORT:-3000}:3000) and derivesSESSION_SECUREfrom.env(${SESSION_SECURE:-false}), so reverse-proxy setups take effect without manual edits; default3000/falsebehaviour is unchanged.
Fixed
- Installer persists the user-selected timezone (
TZ) and HTTP port (OIKOS_HTTP_PORT) to.envso the choices actually take effect;install.shgains the same fields for CLI parity. - Installer backs up an existing
.envto.env.bak-<ISO>before overwriting, so re-runs no longer destroy an existing configuration;install.shdoes the same.
Security
- Hardened installer
.envwriting against injection: keys are allowlisted against the shared env schema and values containing newlines are rejected.