RackMon
Documentation

Run RackMon in about ten minutes.

RackMon ships as a single container that serves both the API and the web UI. Start on SQLite with zero configuration, move to PostgreSQL when you grow.

1 · Requirements

2 · Quick start

Generate two secrets and run the container. The app refuses to start in production with the insecure defaults, so always set your own.

# pull & run
docker run -d --name rackmon -p 8000:8000 \
  -e RACKMON_ENVIRONMENT=production \
  -e RACKMON_JWT_SECRET=$(openssl rand -hex 32) \
  -e RACKMON_MASTER_KEY=$(openssl rand -hex 32) \
  -e RACKMON_ADMIN_EMAIL=you@example.com \
  -e RACKMON_ADMIN_PASSWORD='a-strong-password' \
  -v rackmon_data:/data \
  -e RACKMON_DATABASE_URL=sqlite:////data/rackmon.db \
  rackmon/rackmon:latest

Open http://localhost:8000 and sign in with the admin email and password you set. Put RackMon behind a reverse proxy (Caddy, nginx, Traefik) to add HTTPS for production.

Your data stays put. The named volume rackmon_data holds the database at /data. Nothing leaves your server.

3 · Add devices

4 · Alerts & notifications

Create rules with thresholds, hold windows, dedup and escalation. Deliver to any of:

ChannelEnvironment variable
Email (SMTP)RACKMON_SMTP_HOST, RACKMON_SMTP_PORT, RACKMON_SMTP_USER, RACKMON_SMTP_PASSWORD, RACKMON_SMTP_FROM
SlackRACKMON_SLACK_WEBHOOK_URL
Microsoft TeamsRACKMON_TEAMS_WEBHOOK_URL
Generic webhookRACKMON_ALERT_WEBHOOK_URL
TelegramRACKMON_TELEGRAM_BOT_TOKEN, RACKMON_TELEGRAM_CHAT_ID

A missing reading or a maintenance window never fakes an all-clear — RackMon distinguishes "no data" from "recovered".

5 · Unlock Pro

Community is the full monitor, free forever. Pro adds the client-facing features: SSO (OIDC) & LDAP/AD, the public status page, SLA/availability PDF reports, and white-label branding. After you buy a license you receive an Ed25519-signed key by email. Add it and restart:

-e RACKMON_LICENSE_KEY=<your-key>

The key is verified offline — there is no license server and no call-home. One key licenses one instance.

6 · Configuration reference

Every setting is an environment variable prefixed RACKMON_. The most common:

VariableDefaultWhat it does
RACKMON_ENVIRONMENTdevelopmentSet to production to enforce the secret-safety checks.
RACKMON_JWT_SECRETdev defaultSigns session tokens. Set a 32-byte random value.
RACKMON_MASTER_KEYdev defaultEncrypts stored secrets (SNMP/SMTP) at rest. Set a 32-byte random value.
RACKMON_DATABASE_URLlocal SQLitee.g. postgresql+psycopg2://user:pass@postgres:5432/rackmon
RACKMON_ADMIN_EMAIL / RACKMON_ADMIN_PASSWORDThe first admin account, created on first boot.
RACKMON_PUBLIC_BASE_URLhttp://localhost:8000The URL users reach the app at (used in links/emails).
RACKMON_LICENSE_KEYemptyYour Pro/Enterprise key. Empty = Community.
RACKMON_POLLER_USE_SIMULATORtrueSet false to poll real SNMP hardware.
RACKMON_SEED_DEMO_DATAtrueSet false for a clean, empty install.

Enterprise auth (LDAP/AD, OIDC SSO), SNMP traps and scheduled reports have their own RACKMON_LDAP_*, RACKMON_OIDC_* and report variables — ask us if you need a full reference for your setup.

7 · Back up & upgrade

Need a hand? Use the in-app support chat, or email rackmon.software@gmail.com. Pro customers get priority.

Get started ↓   Try the live demo ↗