troubleshooting: add Fail2ban IMAP self-ban article
Documents the 2026-03-14 incident where MajorAir's public IP was banned by the postfix-sasl jail after repeated SASL auth failures, silently blocking all IMAP connections from Spark Desktop. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -31,7 +31,7 @@ DNS record and Caddy entry have been removed.
|
||||
|
||||
## Content
|
||||
|
||||
- 23 articles across 5 domains
|
||||
- 37 articles across 5 domains
|
||||
- Source of truth: `MajorVault/20-Projects/MajorTwin/08-Wiki/`
|
||||
- Deployed via Gitea webhook (push from MajorAir → auto-pull on majorlab)
|
||||
|
||||
@@ -60,3 +60,45 @@ rsync -av --include="*.md" --include="*/" --exclude="*" \
|
||||
- **Cause:** `majwiki` container was in a restart loop due to a `LiterateNavParseError` in `SUMMARY.md` (invalid globbing syntax).
|
||||
- **Repair:** Rewrote `SUMMARY.md` with explicit links. Repaired `majwiki-webhook.service` by killing an orphaned process and correcting the Caddy reverse proxy routing for `/webhook`.
|
||||
- **Result:** Site live and auto-deployment functional.
|
||||
|
||||
---
|
||||
|
||||
*Updated 2026-03-14*
|
||||
|
||||
## Canonical Update Workflow
|
||||
|
||||
Obsidian Git plugin was evaluated and dropped — too convoluted. Manual git from the terminal is the workflow going forward.
|
||||
|
||||
```bash
|
||||
cd ~/Documents/MajorVault
|
||||
git add 20-Projects/MajorTwin/08-Wiki/
|
||||
git commit -m "wiki: describe your changes"
|
||||
git push
|
||||
```
|
||||
|
||||
Gitea receives the push → fires webhook → majorlab pulls → MkDocs rebuilds → `notes.majorshouse.com` updates automatically.
|
||||
|
||||
## 📋 Wiki Maintenance Protocol
|
||||
|
||||
Every time a new article is added, the following **MUST** be updated to maintain index integrity:
|
||||
|
||||
1. **`SUMMARY.md`**: Add the article to the navigation tree.
|
||||
2. **Category Index**: Update the `index.md` within the specific domain folder (e.g., `05-troubleshooting/index.md`).
|
||||
3. **Main `index.md`**:
|
||||
- Update the **Article count**.
|
||||
- Add the article to the domain section.
|
||||
- Add the article to the **Recently Updated** table.
|
||||
4. **Root `README.md`**: Sync with the main `index.md` (Article count, domain lists, and Recently Updated).
|
||||
|
||||
> [!note] The rsync one-liner in the Update Workflow section above was a one-off during initial setup. It is no longer the canonical method.
|
||||
|
||||
---
|
||||
|
||||
## Related
|
||||
- [[majorlab|majorlab]] — deploy host (port 8092, Caddy reverse proxy, Gitea webhook)
|
||||
- [[01-Phases|Implementation Phases]] — Phase 9 (wiki & knowledge base)
|
||||
- [[09-Lessons-Learned-v5|Lessons Learned v5]] — ISP SNI filtering on wiki.majorshouse.com (why it's notes.majorshouse.com)
|
||||
- [[MajorAir|MajorAir]] — push host for git workflow
|
||||
- [[MajorRig|MajorRig]] — alternative git push host (WSL2 path documented)
|
||||
- [[03-11-2026|Status Update 2026-03-11]] — deployment date journal entry
|
||||
- [[03-13-2026|Status Update 2026-03-13]] — content expansion and SUMMARY.md sync
|
||||
|
||||
Reference in New Issue
Block a user