- DocumentTranslator: replace Chakra Progress (broken types in 2.2.1
with fresh installs) with a simple Box-based progress bar — no type
issues, same visual result
- Dockerfile: switch from npm install to npm ci so Docker uses exact
locked versions from package-lock.json, preventing type discrepancies
between local and Docker builds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Build Next.js app during docker build (not on container start) —
fixes yarn cache permission errors and makes container startup instant
- Remove yarn.lock during build so nothing can accidentally invoke yarn
- Add lean runner stage: copies only .next, node_modules, public —
reduces final image size
- npm start is now the only thing that runs at container start
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- settings-store: auto-detect writable path at startup — tries
<cwd>/data/settings.json first, falls back to /tmp/lingvai-settings.json
if the directory is not writable. Logs a warning when fallback is used.
Also supports SETTINGS_PATH env var for explicit override.
- Dockerfile: switch from yarn to npm, explicitly create /app/data with
chown nextjs:nodejs so the directory is writable at runtime without
needing a privileged volume mount.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>