[{"data":1,"prerenderedAt":119},["ShallowReactive",2],{"seo-verification":3,"blog-vpn-wireguard-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":29,"sections":30,"ctaTitle":73,"ctaBody":74,"ctaButton":75,"ctaUrl":76,"relatedPosts":77},110,"vpn-wireguard-vps","Setting up a WireGuard VPN on your VPS","Deploy a WireGuard VPN on your Cloud VPS: encrypted tunnel, Docker configuration and clients in a few minutes. Step-by-step guide.",7,670,false,"2026-03-02T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},8,"Security & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fvpn-wireguard-vps-poster.svg",{"categorySlug":27,"appSlug":28},"securite","wireguard","WireGuard has redefined the modern VPN: a few hundred lines of code, state-of-the-art encryption and throughput close to native. Self-hosted on a VPS, it offers you a private tunnel that you control end to end, without depending on a third-party provider.",[31,35,45,48,70],{"type":32,"title":33,"body":34},"h2","Why self-host WireGuard on a VPS","Commercial VPNs pool thousands of users on the same IP addresses, often keep logs and throttle bandwidth. By deploying WireGuard on your own VPS, you get a dedicated egress IP address, throughput guaranteed by your plan and a logging policy you define yourself. WireGuard works over UDP on a single port, integrates directly into the Linux kernel and negotiates a connection in a fraction of OpenVPN's time. For a developer or an agency, it's also the cleanest way to access internal services (database, admin panel, monitoring) without exposing them publicly: you bind them to the VPN interface only.",{"type":36,"title":37,"items":38},"ul","Concrete benefits of a self-hosted WireGuard",[39,40,41,42,43,44],"Dedicated and stable egress IP, ideal for whitelisting API access or back-offices.","Modern ChaCha20-Poly1305 encryption with a minimal attack surface (4,000 lines of code).","Throughput close to native and near-instant reconnection after a network drop (roaming).","Private access to your internal services by binding them to the VPN subnet (10.0.0.0\u002F24) rather than to 0.0.0.0.","No third-party activity logs: you fully control data retention.","Fixed and predictable cost, independent of the number of connected devices.",{"type":32,"title":46,"body":47},"Requirements for this deployment","WireGuard is extremely lightweight: a VPS with 1 vCPU and 1 GB of RAM is more than enough for a dozen clients, the limiting factor being bandwidth rather than CPU. Plan for Docker and Docker Compose installed (or the native `wireguard-tools` package), a recent Linux kernel (5.6+ integrates WireGuard natively) and the opening of a UDP port, by convention `51820`. A domain name pointing to your VPS (an A record `vpn.mydomain.com`) is recommended to distribute client configurations, but the public IP alone works too.",{"type":49,"title":50,"steps":51},"steps","Deploy WireGuard in a container",[52,55,58,61,64,67],{"title":53,"body":54},"Enable IP forwarding on the VPS","The server must route the tunnel traffic to the Internet. Add `net.ipv4.ip_forward=1` in `\u002Fetc\u002Fsysctl.conf` then apply with `sudo sysctl -p`. Without this, clients connect but have no outbound access.",{"title":56,"body":57},"Start the wg-easy container","The `wg-easy` project provides WireGuard plus a web interface for peer management. In a `docker-compose.yml`, define `WG_HOST=vpn.mydomain.com`, an admin password and expose `51820\u002Fudp` as well as `51821\u002Ftcp` for the UI. Start with `docker compose up -d`.",{"title":59,"body":60},"Open the UDP port at the firewall","Allow inbound traffic on the tunnel port: `sudo ufw allow 51820\u002Fudp`. However, restrict access to the admin UI (`51821`) to your IP only or place it behind the VPN once the first client is connected.",{"title":62,"body":63},"Protect the administration interface with SSL","Place a reverse proxy (Caddy or Traefik) in front of port `51821` to serve the UI over HTTPS on `vpn.mydomain.com` with an automatic Let's Encrypt certificate. Never leave the admin panel accessible over plain HTTP on the Internet.",{"title":65,"body":66},"Create a peer and import the configuration","From the UI, add a client: wg-easy generates a key pair and a QR code. Scan it with the WireGuard mobile app, or download the `.conf` file for `wg-quick up`. The client is operational immediately.",{"title":68,"body":69},"Verify the tunnel","Once connected, check your public egress IP (it should be that of the VPS) and the handshake state on the server side with `docker exec wg-easy wg show`. A recent `latest handshake` value confirms that the tunnel is active.",{"type":71,"body":72},"tip","To turn your VPN into a gateway for accessing internal services without exposing everything, only allow the VPN subnet (for example `10.8.0.0\u002F24`) in the client's `AllowedIPs` instead of `0.0.0.0\u002F0`. You thus get a \"split\" tunnel: only traffic to your private services goes through the VPS, the rest of your browsing exits via your local connection. Combine it with a kill-switch via `PostUp`\u002F`PostDown` to prevent any leak if the tunnel goes down.","Launch your VPN in a few minutes","A ServOrbit Cloud VPS with a preconfigured Docker template lets you deploy WireGuard without friction: a recent kernel, an available UDP port and generous bandwidth for your tunnels.","Deploy my WireGuard VPS","\u002Fvps-cloud",[78,92,106],{"id":79,"slug":80,"title":81,"excerpt":82,"readTime":83,"views":84,"isPinned":13,"publishedAt":85,"category":86,"categories":87,"featuredImage":23,"bgImage":24,"posterImage":89,"relatedSolution":90},105,"superviser-vps-uptime-kuma","Monitoring your VPS with Uptime Kuma","Deploy Uptime Kuma on your VPS to monitor your sites and services self-hosted, with alerts and a public status page.",6,1520,"2026-03-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[88],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":27,"appSlug":91},"uptime-kuma",{"id":93,"slug":94,"title":95,"excerpt":96,"readTime":97,"views":98,"isPinned":13,"publishedAt":99,"category":100,"categories":101,"featuredImage":23,"bgImage":24,"posterImage":103,"relatedSolution":104},106,"monitoring-vps-grafana-prometheus","VPS Monitoring with Grafana and Prometheus","Set up a Grafana + Prometheus stack on your VPS to collect, store and visualize your system and application metrics.",9,522,"2026-03-06T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[102],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":27,"appSlug":105},"grafana",{"id":107,"slug":108,"title":109,"excerpt":110,"readTime":83,"views":111,"isPinned":13,"publishedAt":112,"category":113,"categories":114,"featuredImage":23,"bgImage":24,"posterImage":116,"relatedSolution":117},107,"monitorer-vps-netdata","Monitor your VPS in real time with Netdata","Install Netdata on your VPS for per-second real-time monitoring: thousands of metrics, zero configuration, alerts included.",559,"2026-03-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[115],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":27,"appSlug":118},"netdata",1785628463368]