Monitoring
Monitor your Stasis instance
Monitoring
Monitoring helps you catch problems before they affect users. This page explains how to check if Stasis is healthy and how to set up alerts.
Health Check Endpoint
Stasis exposes a health check endpoint:
curl http://localhost/api/v1/healthExpected response:
{
"status": "ok",
"version": "1.0.0"
}Docker Health Checks
Docker Compose includes health checks for all services. Check status with:
docker compose psHealthy services show (healthy) in the STATUS column.
Checking Logs
API Server Logs
# Follow logs in real-time
docker compose logs -f api
# View last 100 lines
docker compose logs --tail 100 api
# Search for errors
docker compose logs api | grep -i errorWeb Frontend Logs
docker compose logs -f webNGINX Logs
docker compose logs -f nginxPostgreSQL Logs
docker compose logs -f postgresDatabase Monitoring
Connection Count
docker compose exec postgres psql -U stasis -c "SELECT count(*) FROM pg_stat_activity;"Database Size
docker compose exec postgres psql -U stasis -c "SELECT pg_size_pretty(pg_database_size('stasis'));"Active Queries
docker compose exec postgres psql -U stasis -c "SELECT pid, query, state FROM pg_stat_activity WHERE state = 'active';"Disk Space
Repository data grows over time. Monitor disk usage:
# Check Docker volume usage
docker system df -v
# Check repository data size
docker run --rm -v stasis_repo_data:/data alpine du -sh /dataSetting Up Alerts
Simple Uptime Monitoring
Use a service like UptimeRobot, Pingdom, or Uptime Kuma to monitor the health endpoint:
https://your-domain.com/api/v1/healthDocker Container Monitoring
Use Docker's built-in stats:
docker stats --no-streamOr set up Prometheus + Grafana for more detailed monitoring.
Performance Metrics
API Response Time
curl -o /dev/null -s -w "Time: %{time_total}s\n" http://localhost/api/v1/healthGit Operation Performance
Test clone speed:
time git clone http://localhost/username/repo.git