| Variable | Default | Description |
|---|---|---|
MERIDIAN_BIND | 0.0.0.0:3000 | TCP bind address |
MERIDIAN_DATA_DIR | ./data | Path to sled storage directory |
MERIDIAN_SIGNING_KEY | (random) | 64-char hex ed25519 seed (32 bytes) |
MERIDIAN_WEBHOOK_URL | (unset) | HTTP endpoint to receive webhook events |
MERIDIAN_WEBHOOK_SECRET | (unset) | Secret for X-Meridian-Signature HMAC-SHA256 |
REDIS_URL, MERIDIAN_PEERS, MERIDIAN_NODE_ID, etc.), see the Clustering page.
For S3 WAL archive variables (S3_BUCKET, S3_ENDPOINT, etc.), see the Storage page.
For PostgreSQL and WAL replication variables, see the Postgres integration page.
| Variable | Default | Description |
|---|---|---|
DATABASE_URL | (unset) | PostgreSQL URL — enables pg-sync transport and Postgres storage (--features pg-sync) |
MERIDIAN_WAL_CONNSTR | (unset) | Replication connection URL — enables WAL stream for payloads > 8 KB |
MERIDIAN_WAL_SLOT | meridian_wal | Logical replication slot name (auto-created) |
MERIDIAN_WAL_PUB | meridian_pub | Publication name (auto-created, FOR ALL TABLES) |
MERIDIAN_SIGNING_KEY
Generate a secure key:Webhooks
WhenMERIDIAN_WEBHOOK_URL is set, Meridian sends a POST request to that URL after every successful CRDT operation.
Payload
source is either "http" (REST op) or "ws" (WebSocket op).
Signature verification
Every request includes an X-Meridian-Signature header containing HMAC-SHA256(secret, body) as a lowercase hex string.
Rate limiting
Each token is limited to 100 requests per second (sliding window). Requests over the limit return429 Too Many Requests:
Health checks
Meridian exposes two unauthenticated health endpoints:| Endpoint | Status | Description |
|---|---|---|
GET /health/live | 200 always | Process is running. Used by load balancers to detect dead instances. |
GET /health/ready | 200 / 503 | Storage and WAL are operational. Use for readiness probes. |
/health/ready returns 503 if the store is unreachable. Example response:
Metrics
Meridian exposes a Prometheus-compatible metrics endpoint atGET /metrics (no authentication required).
| Metric | Type | Description |
|---|---|---|
meridian_ops_total | Counter | CRDT operations applied, labeled by ns, crdt_id, op_type |
meridian_ws_connections_active | Gauge | Active WebSocket connections |
meridian_wal_entries_total | Counter | WAL entries written |
meridian_merge_duration_seconds | Histogram | CRDT merge/apply latency, labeled by ns |
meridian_subscriptions_active | Gauge | Active WebSocket subscription receivers |