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"} or 503.
  • 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.