Both are already listed in .gitignore but were committed in 92f44a2, so they
stayed tracked. .env holds a live DeepL API key. The files remain on disk for
local runs; only the tracking is removed.
This drops them from HEAD, not from history — 92f44a2 still contains the key
and is already on the remote, so the key must be rotated regardless.
Co-Authored-By: Claude <noreply@anthropic.com>
domains.json was written next to server.js, i.e. into the image filesystem,
so every redeploy discarded the domain -> glossary_id mappings. Its path is
now overridable via DOMAINS_FILE and the image defaults it to /app/data,
a subdirectory so that mounting a volume there does not shadow server.js
and index.html in /app.
Also adds a GET /health endpoint plus a Docker HEALTHCHECK that uses it. The
probe deliberately does not call DeepL, so an upstream DeepL outage does not
get the container restarted.
.gitignore is new; .env holds a real API key and was previously untracked
only by convention.
Co-Authored-By: Claude <noreply@anthropic.com>