Documents three more patterns surfaced in the 2026-05-10 fleet-mail investigation, all hitting hosts derived from cloud images or cross-provider migrations: - Packer/snapshot-leftover myhostname (postfix EHLO + message-id identifies the build artifact, not the production hostname; remote spam scorers hate it) - Empty relayhost silently routes mail via the public MX instead of the Tailscale-internal path, exposing it to spamchk that internal traffic bypasses - Stale SASL passwd map referencing a missing file from a previous external-SMTP relay setup, deferring every send with "local data error" Each looks benign in isolation. Together they made dcaprod's Logwatch disappear into spamchk for weeks while showing 250 OK on the source. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
20 KiB
20 KiB
| created | updated |
|---|---|
| 2026-04-06T09:52 | 2026-05-10T01:30 |
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-05-10 Article count: 111
Domains
| Domain | Folder | Articles |
|---|---|---|
| 🐧 Linux & Sysadmin | 01-linux/ |
12 |
| 🏠 Self-Hosting & Homelab | 02-selfhosting/ |
39 |
| 🔓 Open Source Tools | 03-opensource/ |
10 |
| 🎙️ Streaming & Podcasting | 04-streaming/ |
2 |
| 🔧 General Troubleshooting | 05-troubleshooting/ |
48 |
🐧 Linux & Sysadmin
Distro-Specific
- Linux Distro Guide for Beginners
- WSL2 Backup via PowerShell Scheduled Task
- WSL2 Instance Migration (Fedora 43)
- Wsl2 Rebuild Fedora43 Training Env
Files & Permissions
Networking
Package Management
Process Management
Shell & Scripting
- Ansible Getting Started: Inventory, Playbooks, and Ad-Hoc Commands
- Bash Scripting Patterns for Sysadmins
Storage
🏠 Self-Hosting & Homelab
Cloud
DNS & Networking
- Network Overview
- Pi-hole DoH / DoT Bypass Defense
- Pi-hole v6 Adlist Management via SQL
- Pi-hole v6 Group Management: Per-Client DNS Rules
- Tailscale for Homelab Remote Access
- Wake-on-LAN via Router SSH
Docker & Containers
- Debugging Broken Docker Containers
- Docker Healthchecks
- Docker vs VMs in the Homelab: Why Not Both?
- Self-Hosting Starter Guide
- Watchtower SMTP via Localhost Postfix Relay
Monitoring
- Deploying Netdata to a New Server
- Netdata SELinux AVC Denial Monitoring
- Netdata n8n Enriched Alert Emails
- Tuning Netdata Docker Health Alarms to Prevent Update Flapping
- Tuning Netdata Web Log Alerts
Reverse Proxies
Security
- ClamAV Fleet Deployment with Ansible
- Fail2Ban Digest Mode — Fleet-Wide Quiet Alerts
- Fail2ban Custom Jail: Apache 404 Scanner Detection
- Fail2ban Custom Jail: Apache Bad Request Detection
- Fail2ban Custom Jail: Apache PHP Webshell Probe Detection
- Fail2ban Custom Jail: WordPress Login Brute Force
- Fail2ban: Enable the nginx-bad-request Jail
- Firewall Hardening with firewalld on Fedora Fleet
- Linux Server Hardening Checklist
- SELinux: Fixing Fail2ban grep execmem Denial on Fedora
- SSH Hardening Fleet-Wide with Ansible
- Standardizing unattended-upgrades Across Ubuntu Fleet with Ansible
- UFW Firewall Management
- wp-fail2ban Plugin Logpath on Debian/Ubuntu (auth.log, not syslog)
Services
- Claude Code Remote Control — Mobile Access to a Persistent Host Session
- Ghost Email Configuration with Mailgun
- Mastodon DB Maintenance — Statuses, Accounts, and VACUUM
- Mastodon Federation — Domain Blocks, Silencing, and FediSeer
- Mastodon Instance Tuning
- Mastodon — The
--prune-profilesTrap and How to Recover - Updating n8n Running in Docker
Storage & Backup
🔓 Open Source Tools
Alternatives
Development Tools
- Ventoy — Multi-Boot USB Tool
- rsync — Fast, Resumable File Transfers
- screen — Simple Persistent Terminal Sessions
- tmux — Persistent Terminal Sessions
Media & Creative
Privacy & Security
Productivity
🎙️ Streaming & Podcasting
OBS Studio
Plex
🔧 General Troubleshooting
- Ansible Check Mode False Positives in Verify/Assert Tasks
- Ansible Fails with Permission Denied While
ssh <alias>Works (Host Alias Bypass) - Ansible SSH Timeout During dnf upgrade on Fedora Hosts
- Ansible: Vault Password File Not Found
- Ansible Ignores ansible.cfg on WSL2 Windows Mounts
- claude-mem Silently Fails with Claude Code 2.1+ (Empty --setting-sources)
- Cron Heartbeat False Alarm: /var/run Cleared by Reboot
- Docker & Caddy Recovery After Reboot (Fedora + SELinux)
- Fantastical Google Sync Error Flood — Phantom Calendars Fixed via syncselect
- Fantastical MCP Server: Permission Denied on Launch (macOS Quarantine)
- Fedora Networking & Kernel Troubleshooting
- Gemini CLI: Manual Update Guide
- Ghost EmailAnalytics Lag Warning — What It Means and When to Worry
- Gitea Actions Runner: Boot Race Condition Fix
- ISP SNI Filtering & Caddy Troubleshooting
- macOS Repeating Alert Tone from Mirrored iPhone Notification
- MajorWiki Setup & Publishing Pipeline
- Obsidian Vault Recovery — Loading Cache Hang
- Ollama:
ollama runwith Piped Stdin Bypasses Chat Template + SYSTEM Prompt - Ollama Drops Off Tailscale When Mac Sleeps
- Python smtplib: Missing Date/Message-ID Headers Break Mail Clients
- SELinux: Fixing Dovecot Mail Spool Context (/var/vmail)
- Ubuntu dist-upgrade Quarantines Third-Party Repos
- wget/curl: URLs with Special Characters Fail in Bash
- yt-dlp YouTube JS Challenge Fix (Fedora)
Docker & Containers
- Nextcloud AIO Container Unhealthy for 20 Hours After Nightly Update
- n8n Behind Reverse Proxy: X-Forwarded-For Trust Fix
GPU & Display
- LoRA adapter — GGUF conversion fails with 'config.json not found
- Qwen2.5-14B OOM on RTX 3080 Ti (12GB)
Networking
- Apache Outage: Fail2ban Self-Ban + Missing iptables Rules
- Fail2ban & UFW Rule Bloat: 30k Rules Slowing Down a VPS
- Mail Client Stops Receiving: Fail2ban IMAP Self-Ban
- Pi-hole AI Blocklist Blocks Claude Desktop (ERR_CONNECTION_REFUSED)
- Tailscale SSH: Unexpected Re-Authentication Prompt
- Windows OpenSSH Server (sshd) Stops After Reboot
- Windows OpenSSH: WSL as Default Shell Breaks Remote Commands
- firewalld: Mail Ports Wiped After Reload (IMAP + Webmail Outage)
- iOS Tailscale Clients Report HostName="localhost" — Breaks /etc/hosts Generators
- rsync over Tailscale: Hung in TCP Teardown After Transfer Completes
Security
- ClamAV Safe Scheduling on Live Servers
- Custom Fail2ban Jail: Apache Directory Scanning & Junk Methods
- Tuning Netdata
web_log_1m_successfulfor Redirect-Heavy WordPress Sites - Castopod: Stale Federated Avatar URLs After Remote Profile Updates
- Castopod Posts Don't Appear on Mastodon — Diagnosing the Federation Path
Storage
Systemd
Recently Updated
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 |
| Nextcloud setup with Docker | Self-Hosting | Medium | No |
Related
- MajorWiki Deploy Status — deployment status and update workflow