Skip to content

About

Health and uptime monitoring for Epic Cash public nodes, Epicbox relays and mining pools — self-hostable status page (live at status.btlabs.uk)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

epic-status

A status page for the Epic Cash network. It checks public nodes, Epicbox relays and mining pools on mainnet and floonet, and shows which are up, in sync and on the same chain. Live at https://status.btlabs.uk.

The status board: chain verdict, tip height, and the public nodes table

Run your own instance

Requirements

  • Linux with Python 3.12 and uv
  • Outbound HTTPS/WSS to the hosts you monitor
  • For a public site: nginx and a TLS certificate

Setup

git clone https://github.com/blacktyger/epic-status.git && cd epic-status
uv sync
cp .env.example .env

In .env, set at least EPIC_STATUS_SITE_URL (your public URL) and EPIC_STATUS_PROBER_ID (a name for where it runs, e.g. yourname-nyc). Every other line is optional and commented. Keep .env out of git.

config/targets.toml lists what to monitor. It ships with the known public hosts.

Connect your own Epic node (optional)

Only the node's foreign API (/v2/foreign) is used. Never give it your owner API or api_secret. Add the node to config/targets.toml by its public URL, even if it runs on the same machine:

[[node]]
slug = "node.example.org"
display_host = "node.example.org"
endpoint = "https://node.example.org"
operator = "Your name"
ours = true

Notify the operator of new submissions (optional)

Set EPIC_STATUS_NOTIFY_URL and EPIC_STATUS_NOTIFY_TOKEN to have a bot DM you one line (kind, host, time, link to /admin) for each new submission. The token is a scoped bearer token for a POST endpoint that accepts {"kind", "host", "received", "link"}; keep it in an EnvironmentFile outside git. If the endpoint is down the submission still succeeds and the notice is retried a few times over about six minutes, then dropped and logged.

Run

uv run epic-status serve

Open http://127.0.0.1:13431. To probe one host without starting the service: uv run epic-status check node.epiccash.com:3413.

Deploy

Run it under systemd behind nginx, bound to loopback. Use ops/systemd/epic-status.service and ops/nginx/; each file's header has its install commands. Edit the paths, user and server_name for your machine first. Back up data/status.db.

Licence

MIT. See LICENSE.

About

Health and uptime monitoring for Epic Cash public nodes, Epicbox relays and mining pools — self-hostable status page (live at status.btlabs.uk)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages