Files
vpn/README.md
T
davide e177300864 docs: aggiorna documentazione per wg-easy v15
Rimuove le istruzioni per generare PASSWORD_HASH, aggiorna la tabella
variabili, descrive il wizard di setup al primo avvio e aggiunge
la raccomandazione di aggiornamento mensile per la sicurezza.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 23:58:36 +02:00

2.3 KiB

WireGuard VPN con wg-easy (Docker)

Una configurazione Docker pronta all'uso per eseguire un server VPN WireGuard con interfaccia web wg-easy, ideale per Raspberry Pi o qualsiasi server Linux.


Prerequisiti

  • Docker e Docker Compose installati sul server
  • Una porta UDP aperta sul router/firewall (default: 51820)
  • Un indirizzo IP pubblico statico oppure un hostname DDNS (es. DuckDNS, No-IP)

Configurazione rapida

1. Clona il repository

git clone https://santantonio.sytes.net/davide/vpn.git
cd vpn

2. Crea il file .env

cp .env.example .env

L'unica variabile obbligatoria è TZ (già precompilata con Europe/Rome). Le porte possono essere lasciate ai valori di default.

Variabile Descrizione Default
TZ Fuso orario (formato IANA) Europe/Rome
WG_PORT Porta UDP WireGuard 51820
WG_UI_PORT Porta TCP interfaccia web 51821

Nota v15: host VPN, password e DNS si configurano dalla web UI al primo avvio.

3. Apri la porta sul router

Inoltra la porta UDP 51820 (o quella scelta in WG_PORT) verso l'IP locale del server.

4. Avvia il container

docker compose up -d

5. Completa il setup dalla web UI

http://IP_DEL_TUO_SERVER:51821

Al primo avvio appare un wizard che guida nella configurazione di password, hostname DDNS e DNS per i client. Dopo il setup puoi aggiungere client, scaricare configurazioni e generare QR code per dispositivi mobili.


Struttura del progetto

vpn/
├── docker-compose.yml   # Definizione del servizio
├── .env.example         # Template variabili (committato)
├── .env                 # Variabili locali (NON committato)
├── .gitignore
├── README.md
└── wg-data/             # Generato automaticamente dal container (NON committato)
    ├── wg0.conf         # Configurazione WireGuard
    └── wg0.json         # Stato interno wg-easy (peer, chiavi)

Aggiornare wg-easy

Esegui mensilmente per ricevere patch di sicurezza:

docker compose pull
docker compose up -d

Sicurezza

  • wg-data/ contiene chiavi crittografiche private. Non committarla mai su Git.
  • .env contiene variabili locali specifiche del server. Non committarlo.
  • Entrambi sono esclusi da .gitignore.