Check service health
From the repository directory:ok. The worker response should report running and healthy workers. A healthy frontend does not prove scheduled publishing works.
Read logs
main Temporal task queue and the orchestrator logs. Do not add Node-only imports to Temporal workflow code; a broken workflow bundle can stop workers while the dashboard remains available.
Monitoring and alerting
/api/healthreportsredis,database, andtemporalstatus and returns 503 when any of them is degraded (not a green 200)./health/workersinside the container reports per-queue worker state and 503s when a worker is not polling - themainqueue carries every publish workflow.- The optional Temporal UI at
127.0.0.1:8080(SSH tunnel) shows workflows and themaintask queue. - Inspect the queue with the Temporal CLI:
0 pollers means the workers are down and scheduled posts will pile up in
QUEUEwithout errors. - Point an external uptime monitor at
/api/health(HTTP mode) and/health/workersif reachable. On self-hosted instances set up log rotation and a disk/restart alert.
A post missed its scheduled time
- Check
/api/health. - Check
/health/workersfrom inside the application container. - Confirm the post is not in
ERRORstate. - Inspect
docker compose logs postsiderfor Temporal or provider errors. - Check the connected channel and provider OAuth token.
Upgrade safely
Back up both PostgreSQL databases, MinIO media, and.env first. Then deploy a tagged source release:
docker compose pull as an application update; the OSS application is built from the checked-out source.
Restore checklist
Restore PostgreSQL, Temporal PostgreSQL, MinIO, and the exact.env used by the instance. ENCRYPTION_KEY is required to decrypt stored provider credentials. After restoring, verify API health, worker health, a media object, and a test scheduled post before reopening the instance to users.
