Guides
Troubleshooting
The failures that do not say what they are, and what each one actually means.
Everything here has happened to us. They share a shape: the error message and the cause are in different parts of the system.
Reading the logs
Logs are structured, so grep for fields rather than for sentences:
journalctl -u shipkit-api -n 200 --no-pager
journalctl -u shipkit-worker -fLOG_LEVEL=debug turns on a great deal more, including per-queue
initialisation. Set it temporarily; leaving it on in production is how a disk
fills.