SMLL Docs

Health Checks

Configure health checks for automatic crash detection and restart.

SMLL automatically monitors the health of your services and restarts unhealthy containers. Health checks ensure your services are actually working, not just running.

Default health checks

By default, SMLL monitors:

  • Process health: Is the container process running?
  • Startup probe: Does the container start within the timeout?

For web services, an HTTP health check is also configured automatically.

HTTP health checks

Web services get an automatic HTTP health check:

SettingDefault
Path/
PortService port
Interval10 seconds
Timeout5 seconds
Failure threshold3 consecutive failures
Success threshold1 success

A service is considered unhealthy after 3 consecutive failed health checks (30 seconds). Unhealthy containers are restarted automatically.

Custom health check path

To use a custom health check endpoint:

  1. Navigate to your service's Settings tab
  2. Under Health Check, set the path (e.g., /health or /healthz)
  3. Click Save

Your health check endpoint should:

  • Return a 200 status code when healthy
  • Return a 5xx status code when unhealthy
  • Respond within 5 seconds
  • Check critical dependencies (database connection, required services)

Crash detection

SMLL tracks container restarts and reports crash loops in the service dashboard. A service is flagged as crash-looping if it restarts more than 5 times in 10 minutes.

Crash-looping services trigger an automatic alert if alerting is configured.

Startup grace period

New deployments get a startup grace period before health checks begin. This allows time for the application to initialize, load data, and become ready to serve traffic.

The default startup timeout is 120 seconds. If your service doesn't pass a health check within this window, the deployment is marked as failed and rolled back.

On this page