ShipAI Docs
Operations

Health and Monitoring

Operational health checks, logs, and service-level monitoring commands for local and production environments.

Monitoring strategy

Start with fast health checks, then drill into container logs and endpoint probes to isolate root cause.

Built-In Health Scripts

Run one-time checks:

bun health

Wait until services become healthy:

bun health:wait

These checks validate core services (Postgres, Redis, MinIO, MailDev) and report optional services when those services are running.

Container and Service Monitoring

docker compose ps
docker compose logs -f
docker compose logs -f app
docker compose logs -f web
docker compose logs -f postgres
docker stats
docker system df

Endpoint-Level Checks

# PostgreSQL
docker compose exec postgres pg_isready -U ai

# Redis
docker compose exec redis redis-cli ping

# MinIO
curl http://localhost:4000/minio/health/live

# Qdrant (if enabled)
curl http://localhost:6333/readyz

# SearXNG (if enabled)
curl http://localhost:8080

Use environment-appropriate hostnames/ports in production.

Deployment Verification Flow

Confirm runtime state

Check container/service status and expected replicas.

Inspect startup logs

Stream app/web logs for boot-time errors and dependency failures.

Probe endpoints and schema

Validate public endpoints and migration status before declaring deploy healthy.

Alerting and Observability Hooks

The env template includes optional telemetry and analytics hooks:

  • OpenTelemetry: OTEL_*
  • OpenPanel: NEXT_PUBLIC_OPENPANEL_CLIENT_ID, OPENPANEL_SECRET_KEY
  • Telegram error notifications: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID

These are optional and require external services.

Monitoring Checklist

  • Core dependencies respond (DB, Redis, storage)
  • App and web logs show clean startup
  • Worker logs show queue consumption when enabled
  • Disk and memory usage remain within safe limits
  • Optional services match enabled feature flags

On this page