1.8 KiB
Troubleshooting
Container exits immediately
Inspect logs. Production intentionally refuses to start when CONDUCTOR_SECRET_KEY is not a valid 32-byte base64/hex value or CONDUCTOR_SESSION_KEY is shorter than 32 bytes.
Container is unhealthy
docker compose --env-file .env -f compose.production.yml ps
docker compose --env-file .env -f compose.production.yml logs --tail=200 conductor
curl -v http://127.0.0.1:8080/api/health
Confirm /data is writable by UID/GID 10001. Restore tooling resets database ownership to 10001:10001 and mode 0600.
Stored credential no longer works after restore
The restored database and CONDUCTOR_SECRET_KEY likely do not match. Restore the complete archive, including its .env/.secrets. Credential encryption cannot be bypassed or recovered without the original key.
Published deep link returns proxy 404
The reverse proxy must send all non-API paths to Conductor rather than serving static files independently. Test the container directly at /apps/<app>/<page> and use the Caddy/NGINX examples in docs/INSTALL.md.
REST request is blocked
Read the safe error code and docs/PROXY_SECURITY.md. Private/internal destinations are denied unless their exact origin is configured in CONDUCTOR_PROXY_INTERNAL_ORIGINS. Do not add broad exceptions.
Browser shows old controls after upgrade
Confirm the running image tag/digest, then perform a hard browser refresh. The production index.html is sent with no-cache; hashed assets may be cached safely.
Backup refuses to run
The application container must be running and the environment file must exist because it contains recovery keys. Check Compose project selection and paths. SkeletonWorks commands require the exact --fqdn used during setup.