No description
Find a file
MajorLinux 5260548caa wiki: spam filtering — add Pigeonhole 2.4 syntax, REDIRECT-to-junk pattern, weekly timer
Three updates to the inbound spam filtering guide, all driven by the 2026-06-04
majormail-hetzner Phase 6 cutover and follow-up tuning:

1. Section 6 (Dovecot Sieve): warn explicitly that `plugin/sieve_before` was
   dropped in Pigeonhole 2.4 and silently does nothing — no startup warning,
   spam just keeps landing in INBOX. The 2.4 replacement is a top-level
   `sieve_script <name> { type = before; path = …; }` block. Also note the
   Fedora-flat-dovecot.conf pitfall (some packagings ship dovecot.conf
   without `!include conf.d/*.conf`, so the block has to live in the main
   file directly). Added a `sievec` compile step.

2. New §6b: route spam to a separate `junk@` mailbox via Postfix cleanup
   `header_checks` REDIRECT. This makes spam invisible to the user's
   mailbox entirely — Spark/IDLE-based clients don't push-notify because
   the message never reaches the subscribed mailbox at all. Includes the
   `regexp:` vs `pcre:` map-type tip (use regexp on stock Fedora to avoid
   the postfix-pcre package dependency).

3. New §7a: weekly systemd timer for sa-learn. The §7 warning about
   "don't run sa-learn from cron unless folders are clean" is correct as
   the safe default — but when you adopt the §6b REDIRECT-to-junk@
   pattern, the junk@ mailbox is pure spam by design and a weekly
   `--spam`/`--ham`/`--sync`/`--force-expire` chain becomes safe and
   useful. Full unit templates included.

Gotchas table gains four entries:
- Pigeonhole 2.4 silent breakage of plugin/sieve_before
- postfix-pcre vs regexp map type confusion
- Why sieve fileinto Junk still pushes a Spark notification
- Why local `sendmail` injection doesn't trigger the REDIRECT (smtpd
  milters skip sendmail-injected mail, so X-Spam-Flag isn't added)

All changes match what's now codified in the `majormail` Ansible role
(commit 7a8b9eb in MajorAnsible).
2026-06-04 20:48:01 -04:00
.githooks githooks: mark pre-commit executable 2026-05-06 09:42:06 -04:00
01-linux wiki: update fail2ban digest + netdata docker health + 3 new articles 2026-05-02 14:58:07 -04:00
02-selfhosting wiki: spam filtering — add Pigeonhole 2.4 syntax, REDIRECT-to-junk pattern, weekly timer 2026-06-04 20:48:01 -04:00
03-opensource Add 5 wiki articles from 2026-04-17/18 work 2026-04-18 11:13:39 -04:00
04-streaming wiki: batch update — 4 new articles + 4 updates 2026-05-25 13:55:10 -04:00
05-troubleshooting wiki: add inbound spam filtering guide (spamass-milter + SpamAssassin Bayes) 2026-06-04 16:31:14 -04:00
.gitattributes Add .gitattributes with obsidian-timestamps merge driver 2026-04-29 22:52:07 -04:00
index.md Logwatch fleet article: add cloud-image config-drift section 2026-05-10 12:58:00 -04:00
MajorWiki-Deploy-Status.md wiki: update fail2ban digest + netdata docker health + 3 new articles 2026-05-02 14:58:07 -04:00
README.md wiki: update fail2ban digest + netdata docker health + 3 new articles 2026-05-02 14:58:07 -04:00
SUMMARY.md wiki: add inbound spam filtering guide (spamass-milter + SpamAssassin Bayes) 2026-06-04 16:31:14 -04:00

created updated
2026-04-06T09:52 2026-04-30T05:21

MajorLinux Tech Wiki — Index

A growing reference of Linux, self-hosting, open source, streaming, and troubleshooting guides. Written by MajorLinux. Used by MajorTwin.

Last updated: 2026-04-14 Article count: 76

Domains

Domain Folder Articles
🐧 Linux & Sysadmin 01-linux/ 12
🏠 Self-Hosting & Homelab 02-selfhosting/ 22
🔓 Open Source Tools 03-opensource/ 10
🎙️ Streaming & Podcasting 04-streaming/ 2
🔧 General Troubleshooting 05-troubleshooting/ 30

🐧 Linux & Sysadmin

Files & Permissions

Process Management

Networking

Package Management

Shell & Scripting

Storage

Distro-Specific


🏠 Self-Hosting & Homelab

Docker & Containers

Reverse Proxies

DNS & Networking

Storage & Backup

  • rsync Backup Patterns — flags reference, remote backup, incremental with hard links, Glacier Deep Archive

Monitoring

Security

Services


🔓 Open Source Tools

Alternatives

Productivity

Development Tools

Privacy & Security

Media & Creative


🎙️ Streaming & Podcasting

OBS Studio

Plex


🔧 General Troubleshooting


Recently Updated

Date Article Domain
2026-04-13 Cron Heartbeat False Alarm: /var/run Cleared by Reboot Troubleshooting
2026-04-09 Fail2ban Custom Jail: Apache PHP Webshell Probe Detection Self-Hosting
2026-04-08 wget/curl: URLs with Special Characters Fail in Bash Troubleshooting
2026-04-07 SSH Config & Key Management Linux
2026-04-07 Windows OpenSSH: WSL Default Shell Breaks Remote Commands Troubleshooting
2026-04-07 Windows OpenSSH Server (sshd) Stops After Reboot Troubleshooting
2026-04-02 Fail2ban Custom Jail: WordPress Login Brute Force Self-Hosting
2026-04-02 Mastodon Instance Tuning Self-Hosting
2026-04-02 mdadm — Rebuilding a RAID Array After Reinstall Linux
2026-04-02 Fedora Networking & Kernel Troubleshooting Troubleshooting
2026-04-02 Ventoy: Multi-Boot USB Tool Open Source
2026-03-18 Deploying Netdata to a New Server Self-Hosting
2026-03-18 Tuning Netdata Docker Health Alarms Self-Hosting
2026-03-17 Ollama Drops Off Tailscale When Mac Sleeps Troubleshooting
2026-03-17 Windows OpenSSH Server (sshd) Stops After Reboot Troubleshooting
2026-03-16 Standardizing unattended-upgrades with Ansible Self-Hosting
2026-03-16 WSL2 Training Environment Rebuild (Fedora 43) Linux
2026-03-16 WSL2 Backup via PowerShell Scheduled Task Linux
2026-03-15 firewalld: Mail Ports Wiped After Reload Troubleshooting
2026-03-15 Plex 4K Codec Compatibility (Apple TV) Streaming
2026-03-15 mdadm RAID Recovery After USB Hub Disconnect Troubleshooting
2026-03-15 yt-dlp: Video Downloading Open Source
2026-03-14 SELinux: Fixing Dovecot Mail Spool Context (/var/vmail) Troubleshooting
2026-03-14 Gitea Actions Runner: Boot Race Condition Fix Troubleshooting
2026-03-14 Mail Client Stops Receiving: Fail2ban IMAP Self-Ban Troubleshooting
2026-03-14 SearXNG: Private Self-Hosted Search Open Source
2026-03-14 FreshRSS: Self-Hosted RSS Reader Open Source
2026-03-14 Gitea: Self-Hosted Git Open Source
2026-03-14 yt-dlp: Video Downloading Open Source
2026-03-13 Vaultwarden: Self-Hosted Password Manager Open Source
2026-03-13 Gemini CLI Manual Update Troubleshooting
2026-03-13 rmlint: Duplicate File Scanning Open Source
2026-03-13 SnapRAID & MergerFS Storage Setup Linux
2026-03-13 Qwen2.5-14B OOM on RTX 3080 Ti (12GB) Troubleshooting

Writing Backlog

Topic Domain Priority From Gap?
Docker Compose networking deep dive Self-Hosting High No
Troubleshooting NVIDIA on Linux Troubleshooting Medium No
Pi-hole setup and local DNS Self-Hosting Medium No
OBS audio routing on Linux (PipeWire) Streaming Medium No
Nextcloud setup with Docker Self-Hosting Medium No