wiki: audit fixes — broken links, wikilinks, frontmatter, stale content (66 files)
- Fixed 4 broken markdown links (bad relative paths in See Also sections) - Corrected n8n port binding to 127.0.0.1:5678 (matches actual deployment) - Updated SnapRAID article with actual majorhome paths (/majorRAID, disk1-3) - Converted 67 Obsidian wikilinks to relative markdown links or plain text - Added YAML frontmatter to 35 articles missing it entirely - Completed frontmatter on 8 articles with missing fields Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -86,5 +86,5 @@ Be specific when asking for help. Include your distro and version, what you trie
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [wsl2-instance-migration-fedora43](wsl2-instance-migration-fedora43.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -72,7 +72,7 @@ wsl --unregister FedoraLinux-43
|
||||
wsl --import FedoraLinux-43 D:\WSL\Fedora43 D:\WSL\Backups\FedoraLinux-43-YYYY-MM-DD.tar
|
||||
```
|
||||
|
||||
Then fix the default user — after import WSL resets to root. See [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]] for the `/etc/wsl.conf` fix.
|
||||
Then fix the default user — after import WSL resets to root. See [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md) for the `/etc/wsl.conf` fix.
|
||||
|
||||
## Gotchas
|
||||
|
||||
@@ -82,5 +82,5 @@ Then fix the default user — after import WSL resets to root. See [[wsl2-instan
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]]
|
||||
- [[wsl2-rebuild-fedora43-training-env|WSL2 Training Environment Rebuild]]
|
||||
- [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md)
|
||||
- [WSL2 Training Environment Rebuild](wsl2-rebuild-fedora43-training-env.md)
|
||||
|
||||
@@ -97,5 +97,5 @@ alias clean='sudo dnf clean all'
|
||||
|
||||
## See Also
|
||||
|
||||
- [[Managing disk space on MajorRig]]
|
||||
- [[Unsloth QLoRA fine-tuning setup]]
|
||||
- Managing disk space on MajorRig
|
||||
- Unsloth QLoRA fine-tuning setup
|
||||
|
||||
@@ -199,5 +199,5 @@ D:\WSL\
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43|WSL2 Instance Migration]]
|
||||
- [[wsl2-backup-powershell|WSL2 Backup via PowerShell]]
|
||||
- [WSL2 Instance Migration](wsl2-instance-migration-fedora43.md)
|
||||
- [WSL2 Backup via PowerShell](wsl2-backup-powershell.md)
|
||||
|
||||
@@ -152,6 +152,6 @@ find /var/www/html -type d -exec chmod 755 {} \;
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[ssh-config-key-management]]
|
||||
- [[bash-scripting-patterns]]
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
- [ssh-config-key-management](../networking/ssh-config-key-management.md)
|
||||
- [bash-scripting-patterns](../shell-scripting/bash-scripting-patterns.md)
|
||||
|
||||
@@ -131,5 +131,5 @@ If key auth isn't working and the config looks right, permissions are the first
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -168,5 +168,5 @@ Flatpak is what I prefer — better sandboxing story, Flathub has most things yo
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-distro-guide-beginners]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [linux-distro-guide-beginners](../distro-specific/linux-distro-guide-beginners.md)
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -146,5 +146,5 @@ ansible-playbook -i inventory.ini manage-services.yml
|
||||
|
||||
## See Also
|
||||
|
||||
- [[wsl2-instance-migration-fedora43]]
|
||||
- [[tuning-netdata-web-log-alerts]]
|
||||
- [wsl2-instance-migration-fedora43](../distro-specific/wsl2-instance-migration-fedora43.md)
|
||||
- [tuning-netdata-web-log-alerts](../../02-selfhosting/monitoring/tuning-netdata-web-log-alerts.md)
|
||||
|
||||
@@ -204,5 +204,5 @@ Roles keep things organized and reusable across projects.
|
||||
|
||||
## See Also
|
||||
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
- [linux-server-hardening-checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -211,5 +211,5 @@ retry 3 10 curl -f https://example.com/health
|
||||
|
||||
## See Also
|
||||
|
||||
- [[ansible-getting-started]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [ansible-getting-started](ansible-getting-started.md)
|
||||
- [managing-linux-services-systemd-ansible](../process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -109,5 +109,5 @@ Reference: [mdadm — How to rebuild RAID array after fresh install (Unix & Linu
|
||||
|
||||
## See Also
|
||||
|
||||
- [[snapraid-mergerfs-setup]]
|
||||
- [[rsync-backup-patterns]]
|
||||
- [snapraid-mergerfs-setup](snapraid-mergerfs-setup.md)
|
||||
- [rsync-backup-patterns](../../02-selfhosting/storage-backup/rsync-backup-patterns.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "SnapRAID & MergerFS Storage Setup"
|
||||
domain: linux
|
||||
category: storage
|
||||
tags: [snapraid, mergerfs, storage, parity, raid, majorraid]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# SnapRAID & MergerFS Storage Setup
|
||||
|
||||
## Problem
|
||||
@@ -16,19 +25,24 @@ A combination of **MergerFS** for pooling and **SnapRAID** for parity. This is i
|
||||
### 2. Implementation Strategy
|
||||
|
||||
1. **Clean the Pool:** Use `rmlint` to clear duplicates and reclaim space.
|
||||
2. **Identify the Parity Drive:** Choose your largest drive (or one equal to the largest data drive) to hold the parity information. In my setup, `/mnt/usb` (sdc) was cleared of 4TB of duplicates to be repurposed for this.
|
||||
3. **Configure MergerFS:** Pool the data drives (e.g., `/mnt/disk1`, `/mnt/disk2`) into `/storage`.
|
||||
2. **Identify the Parity Drive:** Choose your largest drive (or one equal to the largest data drive) to hold the parity information.
|
||||
3. **Configure MergerFS:** Pool the data drives into a single mount point.
|
||||
4. **Configure SnapRAID:** Point SnapRAID to the data drives and the parity drive.
|
||||
|
||||
### 3. MergerFS Config (/etc/fstab)
|
||||
|
||||
On majorhome, the pool mounts three ext4 drives to `/majorRAID`:
|
||||
|
||||
```fstab
|
||||
# Example MergerFS pool
|
||||
/mnt/disk*:/mnt/usb-data /storage fuse.mergerfs defaults,allow_other,cache.files=off,use_ino,category.create=mfs,minfreespace=20G,fsname=mergerfsPool 0 0
|
||||
/mnt/disk1:/mnt/disk2:/mnt/disk3 /majorRAID fuse.mergerfs defaults,allow_other,cache.files=off,use_ino,category.create=mfs,minfreespace=20G,fsname=mergerfsPool 0 0
|
||||
```
|
||||
|
||||
Adjust the source paths and mount point to match your setup. Each `/mnt/diskN` is an individual ext4 drive mounted separately — MergerFS unions them into the single `/majorRAID` path.
|
||||
|
||||
### 4. SnapRAID Config (/etc/snapraid.conf)
|
||||
|
||||
> **Note:** SnapRAID is not yet active on majorhome — a 12TB parity drive purchase is deferred. The config below is the planned setup.
|
||||
|
||||
```conf
|
||||
# Parity file location
|
||||
parity /mnt/parity/snapraid.parity
|
||||
@@ -37,9 +51,11 @@ parity /mnt/parity/snapraid.parity
|
||||
content /var/snapraid/snapraid.content
|
||||
content /mnt/disk1/.snapraid.content
|
||||
content /mnt/disk2/.snapraid.content
|
||||
content /mnt/disk3/.snapraid.content
|
||||
|
||||
data d1 /mnt/disk1/
|
||||
data d2 /mnt/disk2/
|
||||
data d3 /mnt/disk3/
|
||||
|
||||
# Exclusions
|
||||
exclude /lost+found/
|
||||
|
||||
@@ -1,21 +1,30 @@
|
||||
---
|
||||
title: "Network Overview"
|
||||
domain: selfhosting
|
||||
category: dns-networking
|
||||
tags: [tailscale, networking, infrastructure, dns, vpn]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# 🌐 Network Overview
|
||||
|
||||
The **[[MajorInfrastructure|MajorsHouse]]** infrastructure is connected via a private **[[Network Overview#Tailscale|Tailscale]]** mesh network. This allows secure, peer-to-peer communication between devices across different geographic locations (US and UK) without exposing services to the public internet.
|
||||
The **MajorsHouse** infrastructure is connected via a private **Tailscale** mesh network. This allows secure, peer-to-peer communication between devices across different geographic locations (US and UK) without exposing services to the public internet.
|
||||
|
||||
## 🏛️ Infrastructure Summary
|
||||
|
||||
- **Address Space:** 100.x.x.x (Tailscale CGNAT)
|
||||
- **Management:** Centralized via **[[Network Overview#Ansible|Ansible]]** (`MajorAnsible` repo)
|
||||
- **Management:** Centralized via **Ansible** (`MajorAnsible` repo)
|
||||
- **Host Groupings:** Functional (web, mail, homelab, bots), OS (Fedora, Ubuntu), and Location (US, UK).
|
||||
|
||||
## 🌍 Geographic Nodes
|
||||
|
||||
| Host | Location | IP | OS |
|
||||
|---|---|---|---|
|
||||
| `[[dcaprod|dcaprod]]` | 🇺🇸 US | 100.104.11.146 | Ubuntu 24.04 |
|
||||
| `[[majortoot|majortoot]]` | 🇺🇸 US | 100.110.197.17 | Ubuntu 24.04 |
|
||||
| `[[majorhome|majorhome]]` | 🇺🇸 US | 100.120.209.106 | Fedora 43 |
|
||||
| `[[teelia|teelia]]` | 🇬🇧 UK | 100.120.32.69 | Ubuntu 24.04 |
|
||||
| `dcaprod` | 🇺🇸 US | 100.104.11.146 | Ubuntu 24.04 |
|
||||
| `majortoot` | 🇺🇸 US | 100.110.197.17 | Ubuntu 24.04 |
|
||||
| `majorhome` | 🇺🇸 US | 100.120.209.106 | Fedora 43 |
|
||||
| `teelia` | 🇬🇧 UK | 100.120.32.69 | Ubuntu 24.04 |
|
||||
|
||||
## 🔗 Tailscale Setup
|
||||
|
||||
|
||||
@@ -140,6 +140,6 @@ Now any device on your home LAN is reachable from anywhere on the tailnet, even
|
||||
|
||||
## See Also
|
||||
|
||||
- [[self-hosting-starter-guide]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[setting-up-caddy-reverse-proxy]]
|
||||
- [self-hosting-starter-guide](../docker/self-hosting-starter-guide.md)
|
||||
- [linux-server-hardening-checklist](../security/linux-server-hardening-checklist.md)
|
||||
- [setting-up-caddy-reverse-proxy](../reverse-proxy/setting-up-caddy-reverse-proxy.md)
|
||||
|
||||
@@ -164,5 +164,5 @@ Don't jump straight to the nuclear option. Only use `-v` if you want a completel
|
||||
|
||||
## See Also
|
||||
|
||||
- [[docker-vs-vms-homelab]]
|
||||
- [[tuning-netdata-web-log-alerts]]
|
||||
- [docker-vs-vms-homelab](docker-vs-vms-homelab.md)
|
||||
- [tuning-netdata-web-log-alerts](../monitoring/tuning-netdata-web-log-alerts.md)
|
||||
|
||||
@@ -153,5 +153,5 @@ healthcheck:
|
||||
|
||||
## See Also
|
||||
|
||||
- [[debugging-broken-docker-containers]]
|
||||
- [[netdata-docker-health-alarm-tuning]]
|
||||
- [debugging-broken-docker-containers](debugging-broken-docker-containers.md)
|
||||
- [netdata-docker-health-alarm-tuning](../monitoring/netdata-docker-health-alarm-tuning.md)
|
||||
|
||||
@@ -91,5 +91,5 @@ The two coexist fine on the same host. Docker handles the service layer, KVM han
|
||||
|
||||
## See Also
|
||||
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [[tuning-netdata-web-log-alerts]]
|
||||
- [managing-linux-services-systemd-ansible](../../01-linux/process-management/managing-linux-services-systemd-ansible.md)
|
||||
- [tuning-netdata-web-log-alerts](../monitoring/tuning-netdata-web-log-alerts.md)
|
||||
|
||||
@@ -110,6 +110,6 @@ Tailscale is the easiest and safest starting point for personal use.
|
||||
|
||||
## See Also
|
||||
|
||||
- [[docker-vs-vms-homelab]]
|
||||
- [[debugging-broken-docker-containers]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [docker-vs-vms-homelab](docker-vs-vms-homelab.md)
|
||||
- [debugging-broken-docker-containers](debugging-broken-docker-containers.md)
|
||||
- [linux-server-hardening-checklist](../security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Netdata n8n Enriched Alert Emails"
|
||||
domain: selfhosting
|
||||
category: monitoring
|
||||
tags: [netdata, n8n, alerts, email, monitoring, automation]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Netdata → n8n Enriched Alert Emails
|
||||
|
||||
**Status:** Live across all MajorsHouse fleet servers as of 2026-03-21
|
||||
|
||||
@@ -134,4 +134,4 @@ done
|
||||
- [Deploying Netdata to a New Server](netdata-new-server-setup.md)
|
||||
- [Tuning Netdata Web Log Alerts](tuning-netdata-web-log-alerts.md)
|
||||
- [Tuning Netdata Docker Health Alarms](netdata-docker-health-alarm-tuning.md)
|
||||
- [SELinux: Fixing Dovecot Mail Spool Context](/05-troubleshooting/selinux-dovecot-vmail-context.md)
|
||||
- [SELinux: Fixing Dovecot Mail Spool Context](../../05-troubleshooting/selinux-dovecot-vmail-context.md)
|
||||
|
||||
@@ -85,4 +85,4 @@ curl -s http://localhost:19999/api/v1/alarms?all | grep -A 15 "web_log_1m_redire
|
||||
|
||||
## See Also
|
||||
|
||||
- [[Netdata service monitoring]]
|
||||
- Netdata service monitoring
|
||||
|
||||
@@ -135,6 +135,6 @@ yourdomain.com {
|
||||
|
||||
## See Also
|
||||
|
||||
- [[self-hosting-starter-guide]]
|
||||
- [[linux-server-hardening-checklist]]
|
||||
- [[debugging-broken-docker-containers]]
|
||||
- [self-hosting-starter-guide](../docker/self-hosting-starter-guide.md)
|
||||
- [linux-server-hardening-checklist](../security/linux-server-hardening-checklist.md)
|
||||
- [debugging-broken-docker-containers](../docker/debugging-broken-docker-containers.md)
|
||||
|
||||
@@ -90,5 +90,5 @@ ansible-playbook update.yml -l dca,majorlinux,majortoot
|
||||
|
||||
## See Also
|
||||
|
||||
- [[ansible-getting-started|Ansible Getting Started]]
|
||||
- [[linux-server-hardening-checklist|Linux Server Hardening Checklist]]
|
||||
- [Ansible Getting Started](../../01-linux/shell-scripting/ansible-getting-started.md)
|
||||
- [Linux Server Hardening Checklist](linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Fail2ban Custom Jail: Apache 404 Scanner Detection"
|
||||
domain: selfhosting
|
||||
category: security
|
||||
tags: [fail2ban, apache, security, scanner, firewall]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Fail2ban Custom Jail: Apache 404 Scanner Detection
|
||||
|
||||
## The Problem
|
||||
|
||||
@@ -236,5 +236,5 @@ Reference: [sa-learn documentation](https://spamassassin.apache.org/full/3.0.x/d
|
||||
|
||||
## See Also
|
||||
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [[debugging-broken-docker-containers]]
|
||||
- [managing-linux-services-systemd-ansible](../../01-linux/process-management/managing-linux-services-systemd-ansible.md)
|
||||
- [debugging-broken-docker-containers](../docker/debugging-broken-docker-containers.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "SELinux: Fixing Fail2ban grep execmem Denial on Fedora"
|
||||
domain: selfhosting
|
||||
category: security
|
||||
tags: [selinux, fail2ban, fedora, execmem, security]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# SELinux: Fixing Fail2ban grep execmem Denial on Fedora
|
||||
|
||||
## The Problem
|
||||
@@ -82,5 +91,5 @@ Writing the `.te` file manually is more reliable and self-documenting.
|
||||
|
||||
## See Also
|
||||
|
||||
- [Docker & Caddy Recovery After Reboot (Fedora + SELinux)](../../../05-troubleshooting/docker-caddy-selinux-post-reboot-recovery.md) — another SELinux fix for post-reboot service issues
|
||||
- [SELinux: Fixing Dovecot Mail Spool Context](../../../05-troubleshooting/selinux-dovecot-vmail-context.md) — custom SELinux context for mail spool
|
||||
- [Docker & Caddy Recovery After Reboot (Fedora + SELinux)](../../05-troubleshooting/docker-caddy-selinux-post-reboot-recovery.md) — another SELinux fix for post-reboot service issues
|
||||
- [SELinux: Fixing Dovecot Mail Spool Context](../../05-troubleshooting/selinux-dovecot-vmail-context.md) — custom SELinux context for mail spool
|
||||
|
||||
@@ -174,4 +174,4 @@ The Fedora servers (majorlab, majorhome, majormail, majordiscord) use iptables o
|
||||
## See Also
|
||||
|
||||
- [Linux Server Hardening Checklist](linux-server-hardening-checklist.md) — initial firewall setup as part of server provisioning
|
||||
- [Fail2ban & UFW Rule Bloat Cleanup](../../../05-troubleshooting/networking/fail2ban-ufw-rule-bloat-cleanup.md) — what happens when manual blocks get out of hand
|
||||
- [Fail2ban & UFW Rule Bloat Cleanup](../../05-troubleshooting/networking/fail2ban-ufw-rule-bloat-cleanup.md) — what happens when manual blocks get out of hand
|
||||
|
||||
@@ -64,5 +64,5 @@ docker exec mastodon-web tootctl media remove --days 7
|
||||
|
||||
## See Also
|
||||
|
||||
- [[self-hosting-starter-guide]]
|
||||
- [[docker-healthchecks]]
|
||||
- [self-hosting-starter-guide](../docker/self-hosting-starter-guide.md)
|
||||
- [docker-healthchecks](../docker/docker-healthchecks.md)
|
||||
|
||||
@@ -61,7 +61,7 @@ docker stop n8n-n8n-1 && docker rm n8n-n8n-1
|
||||
docker run -d \
|
||||
--name n8n-n8n-1 \
|
||||
--restart unless-stopped \
|
||||
-p 5678:5678 \
|
||||
-p 127.0.0.1:5678:5678 \
|
||||
-v n8n_n8n_data:/home/node/.n8n \
|
||||
-e N8N_EDITOR_BASE_URL=https://n8n.majorshouse.com/ \
|
||||
-e N8N_PORT=5678 \
|
||||
|
||||
@@ -181,5 +181,5 @@ aws s3 sync /backup/offsite/ s3://your-bucket/offsite/ --storage-class DEEP_ARCH
|
||||
|
||||
## See Also
|
||||
|
||||
- [[self-hosting-starter-guide]]
|
||||
- [[bash-scripting-patterns]]
|
||||
- [self-hosting-starter-guide](../docker/self-hosting-starter-guide.md)
|
||||
- [bash-scripting-patterns](../../01-linux/shell-scripting/bash-scripting-patterns.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "FreshRSS — Self-Hosted RSS Reader"
|
||||
domain: opensource
|
||||
category: alternatives
|
||||
tags: [freshrss, rss, self-hosting, docker, privacy]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# FreshRSS — Self-Hosted RSS Reader
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Gitea — Self-Hosted Git"
|
||||
domain: opensource
|
||||
category: alternatives
|
||||
tags: [gitea, git, self-hosting, docker, ci-cd]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Gitea — Self-Hosted Git
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "SearXNG — Private Self-Hosted Search"
|
||||
domain: opensource
|
||||
category: alternatives
|
||||
tags: [searxng, search, privacy, self-hosting, docker]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# SearXNG — Private Self-Hosted Search
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "rsync — Fast, Resumable File Transfers"
|
||||
domain: opensource
|
||||
category: dev-tools
|
||||
tags: [rsync, backup, file-transfer, linux, cli]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# rsync — Fast, Resumable File Transfers
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "screen — Simple Persistent Terminal Sessions"
|
||||
domain: opensource
|
||||
category: dev-tools
|
||||
tags: [screen, terminal, ssh, linux, cli]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# screen — Simple Persistent Terminal Sessions
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "tmux — Persistent Terminal Sessions"
|
||||
domain: opensource
|
||||
category: dev-tools
|
||||
tags: [tmux, terminal, ssh, multiplexer, linux]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# tmux — Persistent Terminal Sessions
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -78,4 +78,4 @@ sudo ./Ventoy2Disk.sh -u /dev/sdX
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-distro-guide-beginners]]
|
||||
- [linux-distro-guide-beginners](../../01-linux/distro-specific/linux-distro-guide-beginners.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "yt-dlp — Video Downloading"
|
||||
domain: opensource
|
||||
category: media-creative
|
||||
tags: [yt-dlp, video, youtube, downloads, cli]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# yt-dlp — Video Downloading
|
||||
|
||||
## What It Is
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Vaultwarden — Self-Hosted Password Manager"
|
||||
domain: opensource
|
||||
category: privacy-security
|
||||
tags: [vaultwarden, bitwarden, passwords, self-hosting, docker]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Vaultwarden — Self-Hosted Password Manager
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "rmlint — Extreme Duplicate File Scanning"
|
||||
domain: opensource
|
||||
category: productivity
|
||||
tags: [rmlint, duplicates, storage, cleanup, linux]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# rmlint — Extreme Duplicate File Scanning
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -153,5 +153,5 @@ Set `live-caching=0` to minimize capture latency. This is useful when OBS's nati
|
||||
|
||||
## See Also
|
||||
|
||||
- [[linux-file-permissions]]
|
||||
- [[bash-scripting-patterns]]
|
||||
- [linux-file-permissions](../../01-linux/files-permissions/linux-file-permissions.md)
|
||||
- [bash-scripting-patterns](../../01-linux/shell-scripting/bash-scripting-patterns.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Plex 4K Codec Compatibility (Apple TV)"
|
||||
domain: streaming
|
||||
category: plex
|
||||
tags: [plex, 4k, hevc, apple-tv, transcoding, codec]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Plex 4K Codec Compatibility (Apple TV)
|
||||
|
||||
4K content on YouTube is delivered in AV1 or VP9 — neither of which the Plex app on Apple TV can direct play. This forces Plex to transcode, and most home server CPUs can't transcode 4K in real time. The fix is converting to HEVC before Plex ever sees the file.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Ansible: Vault Password File Not Found"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [ansible, vault, credentials, configuration]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Ansible: Vault Password File Not Found
|
||||
|
||||
## Error
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Docker & Caddy Recovery After Reboot (Fedora + SELinux)"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [docker, caddy, selinux, fedora, reboot, majorlab]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Docker & Caddy Recovery After Reboot (Fedora + SELinux)
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "n8n Behind Reverse Proxy: X-Forwarded-For Trust Fix"
|
||||
domain: troubleshooting
|
||||
category: docker
|
||||
tags: [n8n, caddy, reverse-proxy, docker, express]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# n8n Behind Reverse Proxy: X-Forwarded-For Trust Fix
|
||||
|
||||
## The Problem
|
||||
|
||||
@@ -137,5 +137,5 @@ Reference: [Fedora — Working with the GRUB 2 Boot Loader](https://docs.fedorap
|
||||
|
||||
## See Also
|
||||
|
||||
- [[docker-caddy-selinux-post-reboot-recovery]]
|
||||
- [[managing-linux-services-systemd-ansible]]
|
||||
- [docker-caddy-selinux-post-reboot-recovery](docker-caddy-selinux-post-reboot-recovery.md)
|
||||
- [managing-linux-services-systemd-ansible](../01-linux/process-management/managing-linux-services-systemd-ansible.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Gemini CLI: Manual Update Guide"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [gemini, cli, npm, update, google]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# 🛠️ Gemini CLI: Manual Update Guide
|
||||
|
||||
If the automatic update fails or you need to force a specific version of the Gemini CLI, use these steps.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Gitea Actions Runner: Boot Race Condition Fix"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [gitea, systemd, boot, dns, ci-cd]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Gitea Actions Runner: Boot Race Condition Fix
|
||||
|
||||
If your `gitea-runner` (act_runner) service fails to start on boot — crash-looping and eventually hitting systemd's restart rate limit — the service is likely starting before DNS is available.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Qwen2.5-14B OOM on RTX 3080 Ti (12GB)"
|
||||
domain: troubleshooting
|
||||
category: gpu-display
|
||||
tags: [gpu, vram, oom, qwen, cuda, fine-tuning]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Qwen2.5-14B OOM on RTX 3080 Ti (12GB)
|
||||
|
||||
## Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "ISP SNI Filtering & Caddy Troubleshooting"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [isp, sni, caddy, tls, dns, cloudflare]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# ISP SNI Filtering & Caddy Troubleshooting
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "macOS Repeating Alert Tone from Mirrored iPhone Notification"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [macos, iphone, notifications, continuity, audio]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# macOS Repeating Alert Tone from Mirrored iPhone Notification
|
||||
|
||||
## Overview
|
||||
@@ -83,4 +92,4 @@ When a high-priority alert fires on iPhone, check both the iPhone and the Mac's
|
||||
`macos` `notifications` `iphone-mirroring` `continuity` `tonelibrary` `notificationcenter` `diagnostic` `audio`
|
||||
|
||||
## See Also
|
||||
- [[10-Journal/Diagnostics/2026-03-30-MajorAir-CGM-Alert-Loop]]
|
||||
- 2026-03-30-MajorAir-CGM-Alert-Loop (diagnostic journal entry)
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
---
|
||||
title: "MajorWiki Setup & Publishing Pipeline"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [mkdocs, obsidian, gitea, docker, self-hosting]
|
||||
date: 2026-03-11
|
||||
status: published
|
||||
created: 2026-03-11
|
||||
updated: 2026-04-02
|
||||
---
|
||||
|
||||
# MajorWiki Setup & Publishing Pipeline
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Mail Client Stops Receiving: Fail2ban IMAP Self-Ban"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [fail2ban, imap, dovecot, email, self-ban]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Mail Client Stops Receiving: Fail2ban IMAP Self-Ban
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Apache Outage: Fail2ban Self-Ban + Missing iptables Rules"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [fail2ban, apache, iptables, self-ban, outage]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Apache Outage: Fail2ban Self-Ban + Missing iptables Rules
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Fail2ban & UFW Rule Bloat: 30k Rules Slowing Down a VPS"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [fail2ban, ufw, nftables, vps, performance]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Fail2ban & UFW Rule Bloat: 30k Rules Slowing Down a VPS
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "firewalld: Mail Ports Wiped After Reload (IMAP + Webmail Outage)"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [firewalld, mail, imap, fedora, ports]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# firewalld: Mail Ports Wiped After Reload (IMAP + Webmail Outage)
|
||||
|
||||
If IMAP, SMTP, and webmail all stop working simultaneously on a Fedora/RHEL mail server, firewalld may have reloaded and lost its mail port configuration.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Tailscale SSH: Unexpected Re-Authentication Prompt"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [tailscale, ssh, authentication, vpn]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Tailscale SSH: Unexpected Re-Authentication Prompt
|
||||
|
||||
If a Tailscale SSH connection unexpectedly presents a browser authentication URL mid-session, the first instinct is to check the ACL policy. However, this is often a one-off Tailscale hiccup rather than a misconfiguration.
|
||||
@@ -62,5 +71,5 @@ No auth prompt + `ok` output = resolved. Note that this test is only meaningful
|
||||
|
||||
## Related
|
||||
|
||||
- [[Network Overview]] — Tailscale fleet inventory and SSH access model
|
||||
- [[SSH-Aliases]] — Fleet SSH access shortcuts
|
||||
- Network Overview — Tailscale fleet inventory and SSH access model
|
||||
- SSH-Aliases — Fleet SSH access shortcuts
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Windows OpenSSH Server (sshd) Stops After Reboot"
|
||||
domain: troubleshooting
|
||||
category: networking
|
||||
tags: [windows, openssh, sshd, reboot, majorrig]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Windows OpenSSH Server (sshd) Stops After Reboot
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
---
|
||||
tags:
|
||||
- obsidian
|
||||
- troubleshooting
|
||||
- windows
|
||||
- majortwin
|
||||
created: '2026-03-11'
|
||||
status: resolved
|
||||
title: "Obsidian Vault Recovery — Loading Cache Hang"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [obsidian, troubleshooting, windows, majortwin]
|
||||
status: published
|
||||
created: 2026-03-11
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Obsidian Vault Recovery — Loading Cache Hang
|
||||
|
||||
|
||||
@@ -65,4 +65,4 @@ The display can still sleep — only system sleep needs to be off for Ollama and
|
||||
|
||||
## See Also
|
||||
|
||||
- [[MajorMac]] — device config and known issues
|
||||
- MajorMac — device config and known issues
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Custom Fail2ban Jail: Apache Directory Scanning & Junk Methods"
|
||||
domain: troubleshooting
|
||||
category: security
|
||||
tags: [fail2ban, apache, security, bots, wordpress]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Custom Fail2ban Jail: Apache Directory Scanning & Junk Methods
|
||||
|
||||
## 🛑 Problem
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "ClamAV Safe Scheduling on Live Servers"
|
||||
domain: troubleshooting
|
||||
category: security
|
||||
tags: [clamav, cpu, nice, ionice, cron, vps]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# ClamAV Safe Scheduling on Live Servers
|
||||
|
||||
Running `clamscan` unthrottled on a live server will peg CPU until completion. On a small VPS (1 vCPU), a full recursive scan can sustain 70–100% CPU for an hour or more, degrading or taking down hosted services.
|
||||
@@ -70,4 +79,4 @@ kill <PID>
|
||||
## Related
|
||||
|
||||
- [ClamAV Documentation](https://docs.clamav.net/)
|
||||
- [[02-selfhosting/security/linux-server-hardening-checklist|Linux Server Hardening Checklist]]
|
||||
- [Linux Server Hardening Checklist](../../02-selfhosting/security/linux-server-hardening-checklist.md)
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "SELinux: Fixing Dovecot Mail Spool Context (/var/vmail)"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [selinux, dovecot, mail, fedora, vmail]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# SELinux: Fixing Dovecot Mail Spool Context (/var/vmail)
|
||||
|
||||
If Dovecot is generating SELinux AVC denials and mail delivery or retrieval is broken on a Fedora/RHEL system with SELinux enforcing, the `/var/vmail` directory tree likely has incorrect file contexts.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "mdadm RAID Recovery After USB Hub Disconnect"
|
||||
domain: troubleshooting
|
||||
category: storage
|
||||
tags: [mdadm, raid, usb, storage, recovery]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# mdadm RAID Recovery After USB Hub Disconnect
|
||||
|
||||
A software RAID array managed by mdadm can appear to catastrophically fail when the drives are connected via USB rather than SATA. The array is fine — the hub dropped out. Here's how to diagnose and recover.
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "Systemd Session Scope Fails at Login (session-cN.scope)"
|
||||
domain: troubleshooting
|
||||
category: systemd
|
||||
tags: [systemd, ssh, login, session, linux]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# Systemd Session Scope Fails at Login (`session-cN.scope`)
|
||||
|
||||
After SSH login, systemd reports a failed transient unit like `session-c1.scope`. The MOTD or login banner shows `Failed Units: 1 — session-c1.scope`. This is a harmless race condition, not a real service failure.
|
||||
@@ -90,4 +99,4 @@ Should report 0 failed units.
|
||||
|
||||
## Related
|
||||
|
||||
- [[gitea-runner-boot-race-network-target]] — Another systemd race condition involving service startup ordering
|
||||
- [gitea-runner-boot-race-network-target](../gitea-runner-boot-race-network-target.md) — Another systemd race condition involving service startup ordering
|
||||
|
||||
@@ -1,3 +1,12 @@
|
||||
---
|
||||
title: "yt-dlp YouTube JS Challenge Fix (Fedora)"
|
||||
domain: troubleshooting
|
||||
category: general
|
||||
tags: [yt-dlp, fedora, youtube, javascript, deno]
|
||||
status: published
|
||||
created: 2026-04-02
|
||||
updated: 2026-04-02
|
||||
---
|
||||
# yt-dlp YouTube JS Challenge Fix (Fedora)
|
||||
|
||||
## Problem
|
||||
|
||||
Reference in New Issue
Block a user