A lightweight daemon that monitors Ethereum node health. It compares a local node against a remote peer, triggering Discord alerts if the node falls behind or becomes unresponsive.
docker run -d \
--name eth-alive \
--restart always \
-e LOCAL_RPC_URL="http://host.docker.internal:8545" \
-e REMOTE_RPC_URL="https://ethereum.publicnode.com" \
-e DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." \
alamiinsi/eth-alive:latestcargo install eth-aliveDownload the latest release from the Releases Page.
eth-alive is configured via Environment Variables.
| Variable | Description | Default |
|---|---|---|
LOCAL_RPC_URL |
Required. The HTTP endpoint of the node being monitored. | N/A |
REMOTE_RPC_URL |
Required. The HTTP endpoint of a trusted public node. | N/A |
DISCORD_WEBHOOK_URL |
Required. The webhook URL where alerts will be sent. | N/A |
LAG_THRESHOLD |
Block lag tolerance before alerting. | 3 |
ALERT_COOLDOWN_MINUTES |
Minutes to wait before sending another alert to Discord. | 15 |
POLL_INTERVAL_SECONDS |
How often (in seconds) to check the nodes. | 60 |
Running with Docker: Pass variables using the -e flag (see Installation).
Running manually: Pass variables inline or use a .env file in the working directory.
LOCAL_RPC_URL="http://localhost:8545" REMOTE_RPC_URL="..." DISCORD_WEBHOOK_URL="..." eth-aliveMIT License