feat: ottimizzazione SBC e miglioramento documentazione
- Aggiunge limiti di memoria, CPU e swap al container per prevenire crash dell'host su SBC (la causa principale era log illimitati + OOM senza cgroup) - Aggiunge rotazione log (max 30 MB totali) per evitare riempimento SD card - Aggiunge health check con riavvio automatico in caso di blocco Node.js - Monta /tmp come tmpfs per ridurre scritture sulla SD card - Pinna l'immagine a 15.2.2 invece di latest - Semplifica README: unico metodo per generare la password, guida passo-passo - Aggiunge variabili opzionali WG_MEM_LIMIT / WG_MEMSWAP_LIMIT / WG_CPUS in .env.example Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+28
-2
@@ -1,9 +1,31 @@
|
||||
services:
|
||||
wg-easy:
|
||||
image: ghcr.io/wg-easy/wg-easy:latest
|
||||
image: ghcr.io/wg-easy/wg-easy:15.2.2 # Pinnato — aggiornare deliberatamente con compose pull
|
||||
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
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 30s
|
||||
|
||||
environment:
|
||||
PASSWORD_HASH: "${PASSWORD_HASH}"
|
||||
TZ: "${TZ}"
|
||||
@@ -14,8 +36,12 @@ services:
|
||||
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_PORT:-51820}:51820/udp" # Traffico VPN WireGuard
|
||||
- "${WG_UI_PORT:-51821}:51821/tcp" # Interfaccia web di gestione
|
||||
|
||||
cap_add:
|
||||
|
||||
Reference in New Issue
Block a user