Skip to content

Troubleshooting

Diagnose container startup, reverse proxy/passkeys, PWA cache, native permissions, migration, and data recovery in a safe order.

Identify the image tag first, then use the shared v26 service graph. A 502 suggests host port 6080 or internal port 5000 health; passkey errors suggest HTTPS, RP_ID, or RP_ORIGINS mismatch.

  • DiscVault v26 stable · ghcr.io/helmerznl/discvault:latest
  • same service names, port, endpoint, and data stores
  • DiscVault v26 beta · ghcr.io/helmerznl/discvault:beta
  • same service names, port, endpoint, and data stores
  • selected release channel
  • timestamped logs with private data redacted
  • current image digest
  1. Record: channel + image digest + timestamp
  2. Isolate: container → reverse proxy → browser/app → provider → data
  3. Inspect: timestamped logs with private data redacted · first failing layer
  4. Preserve: PostgreSQL + /data + app storage · before recovery
Terminal window
docker compose --env-file /opt/discvault/.env -p discvault -f /opt/discvault/compose.yaml ps
curl --fail http://localhost:6080/api/next/health
docker compose --env-file /opt/discvault/.env -p discvault -f /opt/discvault/compose.yaml logs --tail=200 next-api next-worker next-mcp postgres

The failing layer is isolated to container, proxy, browser/app, provider, or data and the matching health check is recorded.

  • one failing layer is isolated with its timestamp, status, image digest, and redacted error

Reference