From 203233beca8aa8e46ce8bb29934225f87f83fb18 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Sat, 11 Apr 2026 04:28:32 -0500 Subject: [PATCH] fix(gluetun): prevent OOM crash and stale ip rule on container restart MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Increase memory limit 128Mi → 512Mi (DNS block list download needs ~200MB) - Add command wrapper that cleans stale ip rules before exec'ing gluetun so container restarts within the same pod don't fail with "file exists" - Fix deprecated VPN_ENDPOINT_IP/PORT → WIREGUARD_ENDPOINT_IP/PORT --- .../legion/k8s/media/gluetun-qbittorrent.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/servers/legion/k8s/media/gluetun-qbittorrent.yaml b/servers/legion/k8s/media/gluetun-qbittorrent.yaml index 8c41b2d..ec27225 100644 --- a/servers/legion/k8s/media/gluetun-qbittorrent.yaml +++ b/servers/legion/k8s/media/gluetun-qbittorrent.yaml @@ -30,6 +30,15 @@ spec: # VPN container — must come first so network is up before qBittorrent starts - name: gluetun image: ghcr.io/qdm12/gluetun:latest + # Clean up stale ip rules before starting — handles both pod restarts and container-only restarts + # (initContainer only runs on pod restart; this command runs on every container start) + command: ["/bin/sh", "-c"] + args: + - | + ip rule del priority 101 2>/dev/null || true + ip route flush table 51820 2>/dev/null || true + ip rule del table 51820 2>/dev/null || true + exec /gluetun securityContext: capabilities: add: ["NET_ADMIN"] @@ -49,9 +58,9 @@ spec: value: "ZLiSI0SkdK5O0/fhweOpZ2c78F30gWHtsfZcVV0vlj8=" - name: WIREGUARD_ADDRESSES value: "10.2.0.2/32" - - name: VPN_ENDPOINT_IP + - name: WIREGUARD_ENDPOINT_IP value: "95.173.217.219" - - name: VPN_ENDPOINT_PORT + - name: WIREGUARD_ENDPOINT_PORT value: "51820" # Allow cluster-internal traffic to bypass VPN (for Radarr/Sonarr → qBittorrent API) - name: FIREWALL_OUTBOUND_SUBNETS @@ -60,10 +69,10 @@ spec: - containerPort: 8888 # gluetun HTTP proxy (unused but required) resources: requests: - memory: 64Mi + memory: 128Mi cpu: 50m limits: - memory: 128Mi + memory: 512Mi cpu: 200m # qBittorrent — shares gluetun's network namespace, all traffic through VPN