DOCS / GETTING STARTED
Getting started
Register a server, install the Crucible agent, see the first snapshot. About five minutes end to end.
#Overview
Glassmkr has two parts:
- Dashboard is the hosted service at app.glassmkr.com. It stores your data, evaluates alerts, and renders server health.
- Crucible is the MIT-licensed agent. It runs on your server, collects health data, and pushes snapshots to the Dashboard.
You register a server in the Dashboard (which gives you a collector key), then install Crucible on that server with the key. That is the entire flow for a single server.
write-scoped account key (gmk_acct_live_) creates each server with POST /api/v1/servers, and the response returns that server's collector key. See the Programmatic API quickstart.Last verified: 2026-08-24 against Crucible v0.15.1.
#Prerequisites
- A Linux server. Ubuntu and Debian can use the one-line installer; RHEL, Rocky, Alma, Arch, Alpine and everything else use the single-file binary, which needs no Node. See step 3.
- Root or sudo access.
- Outbound HTTPS (port 443) to
app.glassmkr.com. No inbound ports required.
#Step 1: Create a Dashboard account
Go to app.glassmkr.com and sign up with email, Google, or GitHub. Hosted accounts are free, with a 10-node per-account cap (a capacity protection, not a tier) and 90-day retention.
#Step 2: Register a server
After logging in, click + Add Server. Enter a name (for example, web-01 or db-prod).
The Dashboard generates a collector key that starts with gmk_cru_live_. This key is shown once. Copy it. Servers created before Crucible 0.9.0 may have a legacy col_xxx key; both formats work.
gmk_cru_live_xxx) authenticates snapshot pushes from this specific server to the Dashboard. Each server gets its own key, scoped to that server's telemetry only. This is different from the account API key (gmk_acct_live_xxx) in Settings, which is for programmatic API access from automation like Ansible, Terraform, or scripts.#Step 3: Install Crucible
SSH into your server. There are three ways in, and which one you use depends on your distribution.
Bootstrap installer (Ubuntu and Debian only)
The dashboard shows this command with your collector key pre-filled:
curl -sf https://glassmkr.com/install.sh | sudo bash -s -- --api-key gmk_cru_live_your_key_here only Ubuntu and Debian are supported and installs nothing. That is deliberate rather than a bug: it installs distribution packages and a Node runtime, and those steps are only tested on Debian-family hosts. On RHEL, Rocky, Alma, Arch, Alpine or anything else, use the single-file binary below.The installer:
- Installs Node.js 24 if not present.
- Installs
smartmontools(SMART disk monitoring). - Installs
ipmitoolif available (IPMI hardware monitoring). - Runs
glassmkr-crucible initto validate the key against the Dashboard, write/etc/glassmkr/crucible.yaml(mode 0600; migrates a pre-0.13.5/etc/glassmkr/collector.yamlin place when present), and install the systemd unit. - Starts the
glassmkr-crucibleservice (runs as the non-rootglassmkruser).
Reading the key from a password manager? Pipe it through stdin:
op read "op://Private/Dashboard/key" | sudo glassmkr-crucible init --api-key - The legacy --dashboard-key flag is preserved as an alias for --api-key so existing Ansible or Terraform automation keeps working without changes.
Single-file binary (any distribution, no Node required)
The release binaries bundle their own runtime, so a host with no Node can run them. This is the path for RHEL family, Arch and Alpine, and it works on Debian family too:
curl -fsSLO https://github.com/glassmkr/crucible/releases/download/v1.0.1/glassmkr-crucible-linux-x64
curl -fsSLO https://github.com/glassmkr/crucible/releases/download/v1.0.1/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
sudo install -m 0755 glassmkr-crucible-linux-x64 /usr/local/bin/glassmkr-crucible
sudo glassmkr-crucible init --api-key gmk_cru_live_your_key_here Use glassmkr-crucible-linux-arm64 on arm64. Each binary carries a build-provenance attestation; the Trust page shows how to check one without a GitHub account.
The binary does not bundle system tools, so install those separately for SMART and IPMI data:
sudo dnf install -y smartmontools ipmitool # RHEL, Rocky, Alma
sudo apt install -y smartmontools ipmitool # Debian, Ubuntu npm install (any distribution with Node 22.19.0 or newer)
If you would rather not pipe to bash, and the host already has a recent Node:
sudo npm install -g @glassmkr/crucible
sudo glassmkr-crucible init --api-key gmk_cru_live_your_key_here Check with node -v first. Several distributions still ship Node 16 or 18 by default, including AlmaLinux and Rocky, and the agent refuses to start below 22.19.0. Either add your distribution's current Node repository, or use the binary above and skip Node entirely.
Run glassmkr-crucible init --help to see the full flag list (custom server name, alternate Dashboard URL, etc.).
#Step 4: Verify
Check that Crucible is running:
sudo systemctl status glassmkr-crucible You should see active (running). Check the logs for the first collection:
sudo journalctl -u glassmkr-crucible --since "5 min ago" --no-pager Expected output (the first collection may take a few seconds longer than later ones):
[collector] Starting. Server: web-01. Interval: 60s
[collector] IPMI: enabled, SMART: enabled
[collector] Dashboard: https://app.glassmkr.com
[collector] Collecting...
[collector] Collected in 1013ms. Alerts: 0 active, 0 new, 0 resolved
=== First collection complete ===
Server: web-01 (Ubuntu 24.04 LTS)
CPU: 5.3% (load: 0.14)
RAM: 12.1% (1940 / 16036 MB)
Disk: 23% (/)
SMART: 2 drive(s) checked
Network: eth0, eth1
IPMI: available
Active alerts: 0
Dashboard: enabled
[dashboard] Push successful. Active alerts: 0 Within about five minutes (one collection interval), the server appears on the Dashboard with live data. The Dashboard evaluates all 70 alert rules on each push.
Last verified: 2026-05-22. Default snapshot interval is 300 seconds (five minutes); the minimum is 60.
#Two kinds of keys
Glassmkr uses two key types:
| Key type | Prefix | Created where | Used by | Purpose |
|---|---|---|---|---|
| Collector key | gmk_cru_live_ (legacy: col_) | Dashboard: + Add Server | Crucible agent | Authenticates snapshot pushes from one specific server. Scoped to that server; cannot list other servers or read account settings. |
| Account API key | gmk_acct_live_ | Settings: API keys (every account) | Automation: Ansible, Terraform, scripts, MCP clients | Programmatic access to your account (list servers, query health, mutate state). On every account, with read, write, or admin scope; bounded by the hosted 10-node cap and rate limits. |
#Next steps
- Set up notification channels (email, Telegram, Slack, Discord, PagerDuty, webhooks) with per-channel priority filtering.
- Review the 70 alert rules grouped across 9 categories.
- Explore the full configuration reference for thresholds, intervals, and optional collectors.
- API reference for programmatic access.