nia-todoDocs
Menu

nia-todo documentation

Troubleshooting

Find logs and resolve common startup, proxy, storage, passkey and provider problems.

Start with logs

Docker

docker compose ps
docker compose logs --tail=250 nia-todo

Debian or Ubuntu

sudo systemctl status nia-todo
sudo journalctl -u nia-todo --since today

Verify the local server before debugging DNS or TLS:

curl -v http://127.0.0.1:8753/api/instance

The container starts with an empty setup page

The original persistent volume is missing or mounted at the wrong path. The official image stores all runtime data in /data; verify the volume mapping and NIA_TODO_DATA_DIR.

Do not continue setup if you expected existing data. Stop the container and attach the correct volume first.

Permission denied under /data

The container runs as UID 10001. For a host bind mount, grant that UID write access to the directory. Named Docker volumes are initialized automatically.

Passkey registration fails

Check all of the following:

  • the instance is opened through HTTPS, except for localhost development
  • Public base URL exactly matches the browser/native server origin
  • no alternate hostname or raw IP is being used
  • the reverse proxy forwards the original host and scheme

Passkeys created for one hostname cannot be used as if they belonged to another.

Realtime updates do not arrive

Ensure the reverse proxy supports WebSocket upgrade headers and does not cache API or WebSocket responses. Compare with the proxy examples.

Set the public base URL in /admin. SMTP alone is not enough: nia-todo needs the stable external URL to build setup, reset and verification links.

OIDC login fails

Verify:

  • the issuer supports OIDC discovery over HTTPS
  • the redirect URI is exactly PUBLIC_BASE_URL/api/oidc/callback
  • client ID, secret and token authentication method match the provider
  • the provider returns a verified email claim
  • system time is synchronized on both services

BrainDump cannot reach a local provider

Inside Docker, 127.0.0.1 is the nia-todo container. Use the provider’s Compose service name on a shared network, or another address reachable from the container. Test the configured STT and LLM providers separately in /admin.

Administrator password lost

# Debian/systemd
sudo nia-todo-admin-password-reset
sudo systemctl restart nia-todo

# Docker Compose
docker compose exec nia-todo nia-todo-admin-password-reset

Existing administrator sessions are invalidated after the reset.

Still stuck?

Search existing GitHub issues. When opening a new issue, include the nia-todo version, installation method, relevant sanitized logs and exact reproduction steps. Never post passwords, API keys, setup links or provider secrets.