Docker Compose (recommended)
MERIDIAN_SIGNING_KEY=$(openssl rand -hex 32) docker compose up -d
The server listens on http://localhost:3000.
Set a fixed MERIDIAN_SIGNING_KEY. If unset, a random key is generated on startup — all existing tokens become invalid on restart.
To persist the key, add it to a .env file:
# .env
MERIDIAN_SIGNING_KEY=your_64_char_hex_string_here
Docker only
docker run -d \
-p 3000:3000 \
-e MERIDIAN_SIGNING_KEY=$(openssl rand -hex 32) \
-v meridian-data:/data \
ghcr.io/Chahine-tech/meridian:latest
From source
MERIDIAN_SIGNING_KEY=$(openssl rand -hex 32) \
MERIDIAN_DATA_DIR=./data \
cargo run --release