docs(selfhost): document a git-pull-safe path to enabling Alertmanager notifications - #3875
Conversation
…r notifications alertmanager.yml ships with every alert routed to a silent "null" receiver by design, and the existing guidance told operators to edit that committed file in place to enable a real one. Since self-host operators git pull this repo to deploy, that either blocks the next pull or gets silently discarded by it. Document copying to a gitignored alertmanager/alertmanager.local (already covered by the *.local ignore rule) and pointing Alertmanager at it via docker-compose.override.yml instead, so the real receiver config survives every future deploy. Also mount the whole alertmanager/ directory (not just the yml) so an operator's local config and any secret file it references show up inside the container with no docker-compose.yml edit required.
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | 8f38b92 | Commit Preview URL Branch Preview URL |
Jul 06 2026, 11:59 PM |
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-07 00:17:28 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Concerns raised — review before merging
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers.
|
Summary
alertmanager/alertmanager.ymlships with every alert routed to a silent"null"receiver by design (so a freshdocker compose --profile observability up -dalways comes up green), but the existing docs told operators to enable a real receiver by editing that committed file in place. Self-host operatorsgit pullthis repo to deploy, so a local edit to a tracked file either blocks the next pull or gets silently discarded by it — this was a real, live gap: on our own self-hosted instance,GittensoryQueueBacklogHighand other alert rules fired continuously for ~9 hours during a queue-stall incident with zero notification, because the receiver was never actually wired up.alertmanager/alertmanager.local(already covered by the existing*.localignore rule, so no.gitignorechange needed) and pointing Alertmanager at it viadocker-compose.override.yml'scommand:override — the same pattern this repo already uses for other per-operator customization (co-located CPU tuning, runner registration).alertmanager/directory (not justalertmanager.yml) into the container, so an operator's local config and any secret file it references (e.g. a Discordwebhook_url_file) are visible inside the container without adocker-compose.ymledit.Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coverage— nosrc/**logic changed (docs + a compose volume mount only), so no new coverage surface.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderate(0 vulnerabilities)npm run test:cigate run locally end-to-end (green)Safety
UI Evidencesection. — N/A, plain docs prose/code-block change, not a visual/layout change.Notes
alertmanager.local+docker-compose.override.ymlpattern, confirmed Alertmanager successfully delivered a Discord notification for an active alert after the change (reusing the existing gittensory Discord channel webhook already configured for this repo's per-PR notifications).