No description
|
Some checks failed
Docker Cloud Build / Build & Publish Image (push) Failing after 36m19s
install.sh: detect RAM at runner install time and create swap only when needed (<2GB → 2G swap, 2-4GB → 1G swap, >4GB → no swap). workflow: detect RAM at build time and set NODE_OPTIONS accordingly (<2GB → 768MB, 2-4GB → 1536MB, >4GB → 3072MB). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .agents/skills | ||
| .github | ||
| backend | ||
| docker | ||
| docs | ||
| frontend | ||
| scripts | ||
| test | ||
| .cursorrules | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .version | ||
| AI_CONTEXT.md | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
D3V-NPMWG — xGat3 + WireGuard VPN
A powerful, all-in-one Docker container that combines xGat3 (reverse proxy with SSL) and WireGuard VPN management in a single web interface.
Features
xGat3
- Reverse proxy management with SSL (Let's Encrypt)
- Proxy hosts, redirection hosts, streams, and 404 hosts
- Access control lists and audit logging
WireGuard VPN Manager
- Create, enable, disable, and delete VPN clients
- QR code generation for mobile clients
- Download
.confconfiguration files - Real-time client status (connected, idle, data transfer)
- Client expiration support
- Auto-sync WireGuard configs
- Client isolation (block inter-client traffic)
- Encrypted per-client file storage
Forgejo Integration (optional)
- Self-hosted Git server on the same VPS
- Accessible only via domain through NPM proxy
- CI/CD via Forgejo Runner for automated Docker builds
Quick Start
curl -sSL https://src.d3v.ac/xtcnet/D3V-Server/raw/branch/master/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh
Menu options:
1Install D3V-NPMWG2Uninstall D3V-NPMWG3Uninstall D3V-NPMWG + Docker (Purge)4Reset Admin Password5Update D3V-NPMWG6Manage Custom Stream Ports7Toggle Admin Port 81 (Block/Unblock)8Forgejo → Install / Uninstall / Update / Install Runner / Uninstall Runner
You can also run commands directly:
sudo ./install.sh {install|uninstall|purge|reset|update|manage-ports|toggle-port|forgejo}
Manual Docker Compose
services:
d3v-npmwg:
image: src.d3v.ac/xtcnet/d3v-server:latest
container_name: d3v-npmwg
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
ports:
- "80:80"
- "81:81"
- "443:443"
- "51820-51830:51820-51830/udp"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
- ./wireguard:/etc/wireguard
environment:
WG_HOST: "your.server.ip" # REQUIRED
Environment Variables
| Variable | Default | Description |
|---|---|---|
WG_HOST |
(required) | Public IP or domain of your server |
WG_ENABLED |
true |
Enable/disable WireGuard |
WG_PORT |
51820 |
WireGuard UDP listen port |
WG_DEFAULT_ADDRESS |
10.8.0.0/24 |
VPN subnet CIDR |
WG_DNS |
1.1.1.1, 8.8.8.8 |
DNS servers for VPN clients |
WG_MTU |
1420 |
MTU value |
WG_ALLOWED_IPS |
0.0.0.0/0, ::/0 |
Default allowed IPs for clients |
WG_PERSISTENT_KEEPALIVE |
25 |
Keepalive interval in seconds |
Ports
| Port | Protocol | Description |
|---|---|---|
80 |
TCP | HTTP |
81 |
TCP | Admin Web UI |
443 |
TCP | HTTPS |
51820–51830 |
UDP | WireGuard Multi-Server |
Building from Source
git clone https://src.d3v.ac/xtcnet/D3V-Server.git
cd D3V-Server
cd frontend && yarn install && yarn locale-compile && yarn build && cd ..
docker build -t d3v-npmwg -f docker/Dockerfile .
CI/CD
Pushes to master that touch backend/, frontend/, or docker/ automatically build and push the Docker image to src.d3v.ac/xtcnet/d3v-server:latest via Forgejo Actions.
Requirements
- Docker with Linux containers
- Host kernel with WireGuard support (Linux 5.6+)
NET_ADMINandSYS_MODULEcapabilitiesnet.ipv4.ip_forward=1
Credits
License
MIT License