Setup
Operations
Health checks, background workers, logs and the search index — running Tyto day to day.
Health
GET /api/health— unauthenticated liveness for load balancers:200 {"status":"ok"}or503.- Admin panel → Health — authenticated deep probes (database, cache, search, realtime hub) plus system resource metrics.
The processes
| Service | Runs |
|---|---|
app |
the API + embedded realtime hub |
worker |
async jobs — notifications, webhooks, digests, exports |
scheduler |
recurring jobs — retention purges, cleanups |
Workers restart gracefully on updates and self-restart hourly as a leak guard. Logs from all services are JSON on stderr:
docker compose logs -f app worker scheduler
Search index
Meilisearch indexes messages as they flow. If the index is ever lost or you restored a database backup over it, rebuild:
docker compose exec app php bin/console tyto:search:reindex
Idempotent and batched — safe to run on a live server.
Backups
What to back up, restore and migration drills live in Backups & restore.