Repository navigation
Troubleshooting
Alien edited this page Oct 20, 2026
·
1 revision
With Docker Compose, docker compose logs app shows the app's log (add -f to follow it). After changing .env, run docker compose up -d again. For the other ways of running Dossier, Something's wrong under Day to day in its installation guide says where the log is.
-
"Dossier didn't start: applying the database migrations failed." The error above that line says why.
P1001means the database isn't reachable: check that thedbcontainer is running (docker compose ps). If a migration failed halfway, the database needs repairing before the next start: restore the dump you took before upgrading, or ask for help with the log. -
"… is not set" or "DOSSIER_SECRET is too short": set the variable the log names in
.env(see Environment variables). -
"DOSSIER_PASSWORD must be a hash of your password": it's set to the password itself, which Dossier 1.0 took. Make a hash with
docker run --rm -it ghcr.io/aientech/dossier hash-passwordand setDOSSIER_PASSWORDto it. -
PDFs fail or time out: Chromium needs memory; give the app at least 768 MB (
compose.ymlgives it 1 GB). Fonts are bundled with Dossier, so documents look the same everywhere; a custom document language in a script Dossier has no font for may show empty boxes. -
The AI times out: local models on a CPU are slow. Try a smaller model, or raise
DOSSIER_AI_TIMEOUT_SECONDS. Test connection in Settings shows whether Dossier reaches the server at all; inside Docker,localhostisn't the server (see Choosing an AI provider). -
An import fails with "413" or "Request Entity Too Large": the reverse proxy's upload limit is below 10 MB. Caddy has none by default; with nginx, set
client_max_body_size 12m;. - "That file is over 10 MB": imports are capped at 10 MB, roughly 500 applications. Raising the cap means changing two settings in the code (see Import size limit).
- "Too many attempts": after five wrong passwords in a minute, sign-in pauses for 30 seconds, then longer each time, up to 15 minutes. The count is kept in the database, so restarting doesn't reset it: wait it out.
-
Forgot the password: make a hash of a new one with
docker run --rm -it ghcr.io/aientech/dossier hash-passwordand set it asDOSSIER_PASSWORDin.env. -
Is it up?
/api/healthanswers{"status":"ok"}when the app and its database are fine, and 503 when the database isn't reachable.
On your own computer
On a server
After installing