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.
Last verified: 2026-05-22 against Crucible v0.13.3.
#Prerequisites
- A Linux server (Ubuntu, Debian, RHEL, Rocky, Alma, Arch, or Alpine).
- 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. Free accounts can monitor up to 3 servers with 7-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. The dashboard shows the exact command with your collector key pre-filled. The bootstrap installer is:
curl -sf https://glassmkr.com/install.sh | sudo bash -s -- --api-key gmk_cru_live_your_key_here The installer:
- Installs Node.js 22 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/collector.yaml(mode 0600), 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.
npm install
If you would rather not pipe to bash:
sudo npm install -g @glassmkr/crucible
sudo glassmkr-crucible init --api-key gmk_cru_live_your_key_here Docker install
The agent is published to both registries; either works:
# GitHub Container Registry
docker run -d --restart=unless-stopped --name glassmkr-crucible \
--pid=host --net=host --privileged \
-v /etc/glassmkr:/etc/glassmkr \
-e GLASSMKR_API_KEY=gmk_cru_live_your_key_here \
ghcr.io/glassmkr/crucible:latest
# Docker Hub
docker run -d --restart=unless-stopped --name glassmkr-crucible \
--pid=host --net=host --privileged \
-v /etc/glassmkr:/etc/glassmkr \
-e GLASSMKR_API_KEY=gmk_cru_live_your_key_here \
docker.io/glassmkr/crucible:latest 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 60 seconds (one collection interval), the server appears on the Dashboard with live data. The Dashboard evaluates all 61 alert rules on each push.
Last verified: 2026-05-22. Default snapshot interval is 60 seconds in Crucible v0.10.0 and later.
#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 (Pro+) | Automation: Ansible, Terraform, scripts, MCP clients | Programmatic access to your account (list servers, query health, mutate state). Pro plan only. |
#Next steps
- Set up notification channels (email, Telegram, Slack, webhooks) with per-channel priority filtering.
- Review the 61 alert rules grouped across 9 categories.
- Explore the full configuration reference for thresholds, intervals, and optional collectors.
- API reference for programmatic access.