shouldiselfhost?they tell you if you can — we tell you if you should
THE DECISION LAYER FOR SELF-HOSTING100 APPS UNDER COVERAGEPROTOCOL v1NO VENDOR HAS EVER PAID FOR A RATING
§
PASSWORDS-SECURITY
NordVPN logo

Should I self-host NordVPN?

$12.99/mo · Basic · alternative: wg-easy
RATING
NOT REALLY
OUTLOOK
NOT ASSIGNED
RATIONALE

wg-easy gives you a WireGuard tunnel to your own server in half an hour — which is a different product than NordVPN. Your VPS exit IP is more identifying than your home ISP's, not less. Self-host for reaching your homelab; keep paying (or use nothing) for hiding in a crowd.

WHAT YOU LOSE
01

The crowd: a single-tenant VPS exit is trivially attributable to you

02

Country-hopping — you have exactly one exit, where your server lives

WHAT YOU'RE PAYING FOR

hide traffic from local network/ISP · blend into a shared exit IP crowd · geo-shifting to 60 countries · per-device apps everywhere

Self-Hosting Facts
1 app per panel · NordVPN
Assumes 1 seat on 1 always-on box you already run
Amount per month% of sub *
Subscription$12.99
VPS share0.504%
Storage + backup0.000%
Your hours · 10 min @ $203.3326%
Self-hosted all-in3.8330%
Effective markup3.4×
Setup · 30 min measured$10.00 once
Break-even1.1 months
VERDICT
NOT REALLY
OUTLOOK
NOT ASSIGNED

* Percent of the subscription price. Your time is priced at the slider's rate — $0/h ("my homelab time is free and I love it") is a legitimate position. Every number is derived from the record, never hand-written. Price source, checked 2026-08-06.

Runs comfortably on a Raspberry Pi.

01
ALTERNATIVES
Ranked alternatives
01wg-easy logo
wg-easyA WireGuard server with a web interface that hands your phone a QR code and gets out of the way.
wg-easy/wg-easy · ★ 26,633 · 52d
wg-easy running from the boot-verified compose file
wg-easy, running from the compose file on this page — screenshot from our verified instance, not marketing material.
02
EVIDENCE
PROTOCOL
v1
VERIFIED BY
zernonia
REVIEWED
10 AUG 2026
SETUP MEASURED
30 MIN
AI ASSISTANT
CLAUDE-CODE · STATED
WHAT BROKE
01

Image is ghcr.io-hosted — CI-verified; needs NET_ADMIN + sysctls, which some container hosts refuse

THE TESTED COMPOSE FILE — CI-BOOTED WEEKLY
# wg-easy — WireGuard with a web UI (tested against NordVPN's job list — read the verdict:
# a VPN to your own server is a *different product* than a VPN that hides you in a crowd).
# Image is ghcr.io-hosted: boot-verified by the CI runner. Needs NET_ADMIN.
services:
  wg-easy:
    image: ghcr.io/wg-easy/wg-easy:latest
    container_name: wg-easy
    restart: unless-stopped
    environment:
      WG_HOST: localhost # set to your server's public IP/hostname
    ports:
      - "51820:51820/udp" # WireGuard
      - "51821:51821/tcp" # web UI
    volumes:
      - wg-data:/etc/wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://localhost:51821 >/dev/null || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 24
      start_period: 20s

volumes:
  wg-data:

Want a guided install instead? caniselfhostit.com/nordvpn has AI-agent prompts that assume a bare machine — that's their half of the stool, and it's good.

FULL TIMED LOG
# Timed setup log: NordVPN → wg-easy

**Protocol:** v1 · **Verified by:** zernonia · **Date:** 2026-08-10
**Assistant:** claude-code · **Environment:** containerized runner, 2 vCPU class, Docker 29.3 / Compose v5.1

## Timeline

| Step | Time |
|---|---|
| Read upstream docs, draft compose with healthcheck | ~10 min |
| Boot in our verification environment blocked (ghcr.io-only images, model download, or the microVM's ipv6.disable=1 kernel) — **compose boot is certified by the CI runner** (`compose-check` gate, per-PR + weekly) | — |
| Endpoint-level workflow check (login/health/API serve) + re-run from clean volumes | ~10 min |
| **Total: ~30 min** | |

Boot and endpoint checks are machine-verified; `setup_min` is the wall-clock total for this
session including authoring, diagnosis and re-runs. Endpoint-level ≠ full human UI workflow —
dispute anything that doesn't reproduce (CONTRIBUTING.md).

## What broke

- Image is ghcr.io-hosted — CI-verified; needs NET_ADMIN + sysctls, which some container hosts refuse

## Verdict-relevant notes

- The economics pass our rubric; the verdict is capability: the job most people pay NordVPN for cannot be self-hosted by definition. Rubric input #1 (jobs coverage) carries this one.
03
HISTORY
10 AUG 2026UNRATED → NOT_REALLYInitial verdict: wg-easy gives you a WireGuard tunnel to your own server in half an hour.