cfaee5cf4363a0f8f877fc1d274a98bad802f783
Add troubleshooting article for the 2026-03-27 incident where PHP-FPM hung after the nightly update cycle. Update the Netdata Docker alarm tuning article with the dedicated Nextcloud alarm split and the new watchdog cron deployed to majorlab. (54 articles) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
wiki: add SELinux AVC chart, enriched alerts, new server setup, and pending articles; update indexes
wiki: add SELinux AVC chart, enriched alerts, new server setup, and pending articles; update indexes
wiki: add SELinux AVC chart, enriched alerts, new server setup, and pending articles; update indexes
wiki: add SELinux AVC chart, enriched alerts, new server setup, and pending articles; update indexes
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-03-18 Article count: 49
Domains
| Domain | Folder | Articles |
|---|---|---|
| 🐧 Linux & Sysadmin | 01-linux/ |
11 |
| 🏠 Self-Hosting & Homelab | 02-selfhosting/ |
11 |
| 🔓 Open Source Tools | 03-opensource/ |
9 |
| 🎙️ Streaming & Podcasting | 04-streaming/ |
2 |
| 🔧 General Troubleshooting | 05-troubleshooting/ |
16 |
🐧 Linux & Sysadmin
Files & Permissions
- Linux File Permissions — chmod, chown, special bits, finding permission problems
Process Management
- Managing Linux Services with systemd — systemctl, journalctl, writing service files, Ansible service management
Networking
- SSH Config & Key Management — key generation, ssh-copy-id, ~/.ssh/config, managing multiple keys
Package Management
- Package Management Reference — apt, dnf, pacman side-by-side reference, Flatpak/Snap
Shell & Scripting
- Ansible Getting Started — inventory, ad-hoc commands, playbooks, handlers, roles
- Bash Scripting Patterns — set -euo pipefail, logging, error handling, argument parsing, common patterns
Storage
- SnapRAID & MergerFS Storage Setup — Pooling mismatched drives and adding parity on Linux
Distro-Specific
- Linux Distro Guide for Beginners — Ubuntu recommendation, distro comparison, desktop environments
- WSL2 Instance Migration to Fedora 43 — moving WSL2 VHDX from C: to another drive
- WSL2 Training Environment Rebuild (Fedora 43) — rebuilding the MajorTwin training env in WSL2 from scratch
- WSL2 Backup via PowerShell Scheduled Task — automating WSL2 exports on a schedule using PowerShell
🏠 Self-Hosting & Homelab
Docker & Containers
- Self-Hosting Starter Guide — hardware options, Docker install, first services, networking basics
- Docker vs VMs for the Homelab — when to use containers vs VMs, KVM setup, how to run both
- Debugging Broken Docker Containers — logs, inspect, exec, port conflicts, permission errors
Reverse Proxies
- Setting Up Caddy as a Reverse Proxy — Caddyfile basics, automatic HTTPS, local TLS, DNS challenge
DNS & Networking
- Tailscale for Homelab Remote Access — installation, MagicDNS, making services accessible, subnet router, ACLs
Storage & Backup
- rsync Backup Patterns — flags reference, remote backup, incremental with hard links, cron/systemd
Monitoring
- Tuning Netdata Web Log Alerts — tuning web_log_1m_redirects threshold for HTTPS-forcing servers
- Tuning Netdata Docker Health Alarms — preventing false alerts during nightly Nextcloud AIO container update cycles
- Deploying Netdata to a New Server — install, email notifications, and Netdata Cloud claim for Ubuntu/Debian servers
Security
- Linux Server Hardening Checklist — non-root user, SSH key auth, sshd_config, firewall, fail2ban
- Standardizing unattended-upgrades with Ansible — fleet-wide automatic security updates across Ubuntu servers
🔓 Open Source Tools
Alternatives
- SearXNG: Private Self-Hosted Search — metasearch engine that queries multiple engines without exposing your identity
- FreshRSS: Self-Hosted RSS Reader — algorithm-free feed aggregator with mobile app sync
- Gitea: Self-Hosted Git — lightweight GitHub alternative, webhooks, single Docker container
Productivity
- rmlint: Duplicate File Scanning — extremely fast duplicate file finding and storage reclamation
Development Tools
- tmux: Persistent Terminal Sessions — detachable sessions for long-running jobs over SSH
- screen: Simple Persistent Sessions — lightweight terminal multiplexer, universally available
- rsync: Fast, Resumable File Transfers — incremental file sync locally and over SSH, survives interruptions
Privacy & Security
- Vaultwarden: Self-Hosted Password Manager — Bitwarden-compatible server in a single Docker container, passwords stay on your hardware
Media & Creative
- yt-dlp: Video Downloading — download from YouTube and hundreds of other sites, Plex-optimized format selection
🎙️ Streaming & Podcasting
OBS Studio
- OBS Studio Setup & Encoding — installation, NVENC/x264 settings, scene setup, audio filters, Linux Wayland notes
Plex
- Plex 4K Codec Compatibility (Apple TV) — AV1/VP9 vs HEVC, batch conversion script, yt-dlp auto-convert hook
🔧 General Troubleshooting
- Apache Outage: Fail2ban Self-Ban + Missing iptables Rules — diagnosing and fixing Apache outages caused by missing firewall rules and Fail2ban self-bans
- Mail Client Stops Receiving: Fail2ban IMAP Self-Ban — diagnosing why one device stops receiving email when the mail server is healthy
- firewalld: Mail Ports Wiped After Reload — recovering IMAP and webmail after firewalld reload drops all mail service rules
- Docker & Caddy Recovery After Reboot (Fedora + SELinux) — fixing docker.socket, SELinux port blocks, and httpd_can_network_connect after reboot
- ISP SNI Filtering with Caddy — troubleshooting why wiki.majorshouse.com was blocked by Google Fiber
- Obsidian Cache Hang Recovery — resolving "Loading cache" hang in Obsidian by cleaning Electron app data and ML artifacts
- Qwen2.5-14B OOM on RTX 3080 Ti (12GB) — fixes and alternatives when hitting VRAM limits during fine-tuning
- yt-dlp YouTube JS Challenge Fix on Fedora — fixing YouTube JS challenge solver errors and missing formats on Fedora
- Gemini CLI Manual Update — how to manually update the Gemini CLI when automatic updates fail
- MajorWiki Setup & Pipeline — setting up MajorWiki and the Obsidian → Gitea → MkDocs publishing pipeline
- Gitea Actions Runner: Boot Race Condition Fix — fixing act_runner crash loop on boot caused by DNS not ready at startup
- SELinux: Fixing Dovecot Mail Spool Context (/var/vmail) — fixing thousands of AVC denials when /var/vmail has wrong SELinux context
- mdadm RAID Recovery After USB Hub Disconnect — diagnosing and recovering a failed mdadm array caused by a USB hub dropout
- Windows OpenSSH Server (sshd) Stops After Reboot — fixing sshd not running after reboot due to Manual startup type
- Ollama Drops Off Tailscale When Mac Sleeps — keeping Ollama reachable over Tailscale by disabling macOS sleep on AC power
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 |
| OBS audio routing on Linux (PipeWire) | Streaming | Medium | No |
| Nextcloud setup with Docker | Self-Hosting | Medium | No |
Related
- MajorWiki-Deploy-Status — deployment status and git workflow
- 01-Phases — Phase 9 (wiki & knowledge base)
- majorlab — hosting server
Description
Languages
Markdown
100%