From 2b381271560e39011b8db3d1fe00042f90f67a97 Mon Sep 17 00:00:00 2001 From: Davide Grilli Date: Mon, 4 May 2026 23:58:30 +0200 Subject: [PATCH] migrate: aggiorna configurazione a wg-easy v15 Rimuove le variabili d'ambiente obsolete (WG_HOST, PASSWORD_HASH, WG_DEFAULT_DNS) ora gestite dalla web UI. Aggiunge INSECURE=true per accesso HTTP locale. Pulisce i commenti superflui dal compose. Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 16 +++------------- docker-compose.yml | 25 ++++++++----------------- 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/.env.example b/.env.example index 88b9ad1..573ddc4 100644 --- a/.env.example +++ b/.env.example @@ -3,16 +3,6 @@ # Copia .env.example in .env e compila i valori richiesti. # ============================================================ -# --- OBBLIGATORI --- - -# IP pubblico o hostname DDNS del server (es. mio-host.duckdns.org) -WG_HOST=your-ddns-hostname.example.com - -# Hash bcrypt della password per la web UI. -# Vedi README.md per come generarlo. -# ATTENZIONE: incolla il valore esatto, senza aggiungere $$ o escape. -PASSWORD_HASH=$2a$12$replacethiswithyourrealbcrypthash - # Fuso orario (formato IANA) # Lista completa: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones TZ=Europe/Rome @@ -25,9 +15,6 @@ WG_PORT=51820 # Porta TCP interfaccia web WG_UI_PORT=51821 -# DNS inviati ai client -WG_DEFAULT_DNS=1.1.1.1,8.8.8.8 - # --- OPZIONALI — Limiti risorse container (SBC) --- # Decommenta e adatta alla RAM disponibile: # 512 MB RAM → WG_MEM_LIMIT=128m @@ -38,3 +25,6 @@ WG_DEFAULT_DNS=1.1.1.1,8.8.8.8 # WG_MEM_LIMIT=256m # WG_MEMSWAP_LIMIT=256m # WG_CPUS=1.0 + +# NOTA: host VPN, password e DNS si configurano dalla web UI al primo avvio — +# non servono variabili d'ambiente per questi valori (comportamento v15+). diff --git a/docker-compose.yml b/docker-compose.yml index 7dbf2d3..9482bc0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,19 @@ services: wg-easy: - image: ghcr.io/wg-easy/wg-easy:15.2.2 # Pinnato — aggiornare deliberatamente con compose pull + image: ghcr.io/wg-easy/wg-easy:15.2.2 container_name: wg-easy restart: unless-stopped - # --- Limiti risorse (SBC con 1 GB RAM) --- - # mem_limit = memswap_limit disabilita lo swap per il container: - # se supera 256 MB Docker lo riavvia pulito invece di mandare in OOM l'host. mem_limit: "${WG_MEM_LIMIT:-256m}" memswap_limit: "${WG_MEMSWAP_LIMIT:-256m}" cpus: "${WG_CPUS:-1.0}" - # --- Rotazione log: evita che i log riempiano la SD card --- logging: driver: json-file options: max-size: "10m" max-file: "3" - # --- Health check: riavvio automatico se Node.js si blocca --- healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:51821/"] interval: 60s @@ -27,27 +22,23 @@ services: start_period: 30s environment: - PASSWORD_HASH: "${PASSWORD_HASH}" TZ: "${TZ}" - WG_HOST: "${WG_HOST}" - WG_DEFAULT_DNS: "${WG_DEFAULT_DNS:-1.1.1.1,8.8.8.8}" + INSECURE: "true" - # Chiavi e configurazione WireGuard persistite fuori dal container volumes: - ./wg-data:/etc/wireguard - # File temporanei in RAM invece che sulla SD card tmpfs: - /tmp:size=32m,mode=1777 ports: - - "${WG_PORT:-51820}:51820/udp" # Traffico VPN WireGuard - - "${WG_UI_PORT:-51821}:51821/tcp" # Interfaccia web di gestione + - "${WG_PORT:-51820}:51820/udp" + - "${WG_UI_PORT:-51821}:51821/tcp" cap_add: - - NET_ADMIN # Necessario per gestire le interfacce di rete (wg0) e le route - - SYS_MODULE # Necessario per caricare il modulo kernel wireguard + - NET_ADMIN + - SYS_MODULE sysctls: - - net.ipv4.ip_forward=1 # Abilita il routing dei pacchetti IPv4 tra i client VPN e internet - - net.ipv6.conf.all.forwarding=1 # Abilita il routing IPv6 (richiesto anche se non si usa IPv6) + - net.ipv4.ip_forward=1 + - net.ipv6.conf.all.forwarding=1