Skip to content

Commit 2762210

Browse files
committed
docs: add blog post on nf_conntrack overflow with Docker UDP tracker
Documents the mechanism, diagnosis, fix, and alternatives for the nf_conntrack table exhaustion problem that caused UDP tracker downtime on both the DigitalOcean and Hetzner demos. Covers: - How Docker bridge DNAT forces connection tracking for UDP - The three-parameter sysctl fix (nf_conntrack_max, udp_timeout, udp_timeout_stream) and module pre-load for reboot persistence - Hash table sizing (nf_conntrack_buckets / hashsize) - Alternative approaches: host networking, NOTRACK, macvlan - Real-world NOTRACK failure on torrust/torrust-demo#72 - Monitoring commands (conntrack -S, early_drop, 80% alert) - Links to independent documentation (Aquatic tracker guide) Fixes confirmed: post-fix UDP uptime 99.9% on Hetzner demo.
1 parent 0eee240 commit 2762210

5 files changed

Lines changed: 1105 additions & 94 deletions

File tree

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { getMetadata } from '$lib/data/metadata';
2+
import type { PageServerLoad } from './$types';
3+
4+
export const load: PageServerLoad = async ({ url }) => {
5+
const slug = url.pathname.split('/').filter(Boolean).pop();
6+
if (!slug) throw new Error('Slug could not be determined.');
7+
8+
const metadata = await getMetadata();
9+
const currentPost = metadata.find((post) => post.slug === slug);
10+
11+
if (!currentPost) throw new Error(`Post not found: ${slug}`);
12+
13+
return { currentPost, allPosts: metadata };
14+
};

0 commit comments

Comments
 (0)