Update README files with enhanced descriptions and installation instructions

This commit is contained in:
Eduardo Silva
2026-03-18 22:31:12 -03:00
parent 5c1c34ca91
commit ea6ee51e32
5 changed files with 227 additions and 950 deletions

View File

@@ -7,200 +7,62 @@
✨ Wenn dir bei der Übersetzung Fehler auffallen oder du eine neue Sprache anfordern möchtest, öffne bitte ein [Issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** ist eine funktionsreiche und dennoch einfach zu konfigurierende Weboberfläche zur Verwaltung von WireGuardVPNInstanzen. Das Tool wurde entwickelt, um die Administration von WireGuardNetzwerken zu vereinfachen und bietet eine benutzerfreundliche Oberfläche mit Unterstützung für:
**Self-hosted VPN-Verwaltung und Zero-Trust-Zugangskontrolle — alles auf deiner eigenen Infrastruktur.**
- mehrere Benutzer mit unterschiedlichen Berechtigungsstufen,
- mehrere WireGuardInstanzen mit individueller PeerVerwaltung sowie
- CryptoKeyRouting für SitetoSiteVerbindungen.
Mehr als ein WireGuard-Panel: Verwalte Peers, Firewall-Regeln, DNS und Port-Weiterleitungen und veröffentliche interne Anwendungen mit echter Authentifizierung — ohne Abhängigkeit von Drittanbietern. Läuft auf jeder Linux-Maschine mit Docker. Kostenlos, open source, nichts verlässt deinen Server.
## Funktionen
- ⚙️ **Verwalten** — Mehrere WireGuard-Instanzen, Traffic-Graphen pro Peer, Firewall, DNS-Blacklists, VPN-Einladungen mit QR-Code
- 🔒 **Schützen** — Zero-Trust-Anwendungs-Gateway mit TOTP, IP-ACL und Brute-Force-Schutz (Altcha PoW)
-**Automatisieren** — Zeitgesteuerter Peer-Zugang, Routing-Templates, ablaufende Einladungslinks, REST API v2
- **Individuelle Transferhistorie pro Peer**: Verfolge Upload und DownloadVolumen jedes einzelnen Peers.
- **Erweiterte FirewallVerwaltung**: Mühelose, umfassende Verwaltung der VPNFirewall konzipiert für Einfachheit und Effektivität.
- **Portweiterleitung**: Leite TCP oder UDPPorts bequem an Peers oder an Netzwerke hinter diesen Peers weiter.
- **DNSServer**: Benutzerdefinierte Hosts und DNSBlacklists für höhere Sicherheit und verbesserten Datenschutz.
- **MehrbenutzerUnterstützung**: Verwalte den Zugriff mit unterschiedlichen Berechtigungsstufen für jeden Benutzer.
- **Mehrere WireGuardInstanzen**: Separate Verwaltung der Peers über mehrere Instanzen hinweg.
- **CryptoKeyRouting**: Vereinfacht die Konfiguration von SitetoSiteVerbindungen.
- **Einfaches Teilen von VPNEinladungen**: Erzeuge und verteile sofort sichere, zeitlich begrenzte VPNEinladungen per EMail oder WhatsApp inklusive QRCode und Konfigurationsdatei.
- **Routing-Vorlagen pro Peer**: Definieren Sie wiederverwendbare Routing-Vorlagen pro WireGuard-Instanz und wenden Sie diese auf Peers an, um ein konsistentes und vorhersehbares Routing-Verhalten zu gewährleisten.
- **Routenzwang mit automatischen Firewall-Regeln**: Erwingen Sie Routing-Richtlinien durch automatisches Erstellen von Firewall-Regeln, die Peers auf explizit erlaubte Routen beschränken.
### 📖 [Vollständige Dokumentation, Installationsanleitung und Tipps auf wireguard-webadmin.com](https://wireguard-webadmin.com/)
Dieses Projekt zielt darauf ab, eine intuitive und benutzerfreundliche Lösung für das WireGuardManagement bereitzustellen, ohne die Flexibilität und Leistung von WireGuard einzuschränken.
---
## Lizenz
## Schnellinstallation
Dieses Projekt steht unter der MITLizenz siehe [LICENSE](../LICENSE) für Details.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# .env mit deiner SERVER_ADDRESS bearbeiten
docker compose up -d
```
> Für detaillierte Anleitungen, Upgrade-Guide und Konfigurationstipps besuche **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## Screenshots
### PeerListe
Zeigt eine vollständige Liste der Peers inklusive Status und weiterer Details zur einfachen Überwachung und Verwaltung von WireGuardVerbindungen.
![WireGuard Peer List](../screenshots/peerlist.png)
### Peer-Liste
Echtzeit-Status und Live-Bandbreitengraphen für jeden Peer über alle WireGuard-Instanzen hinweg.
![Peer-Liste](images/peer_list_dark.png)
### PeerDetails
Zeigt wichtige PeerInformationen, detaillierte Metriken sowie eine vollständige TrafficHistorie. Enthält außerdem einen QRCode für die einfache Konfiguration.
![WireGuard Peer Details](../screenshots/peerinfo.png)
### Peer-Details
Traffic-Historie, letzter Handshake, erlaubte IPs und QR-Code — alles an einem Ort.
![Peer-Details](images/peer_details.png)
### VPNEinladung
Erstellt sichere, zeitlich begrenzte VPNEinladungen zum einfachen Teilen per EMail oder WhatsApp inklusive QRCode und Konfigurationsdatei.
![VPN Invite](../screenshots/vpninvite.png)
### Zero-Trust-Anwendungs-Gateway
Veröffentliche interne Apps wie Proxmox oder Grafana mit TOTP-Authentifizierung davor — ohne offene Ports.
![Zero-Trust-Gateway](images/zero_trust_app.png)
### Erweiterte DNSFilterung
Blockiere unerwünschte Inhalte mit integrierten DNSFilterlisten. Vorgefertigte Kategorien wie Pornografie, Glücksspiel, FakeNews, Adware und Malware sind enthalten; eigene Kategorien lassen sich hinzufügen, um die Sicherheit anzupassen.
![DNS Server](../screenshots/dns.png)
### Firewall-Verwaltung
iptables-Regeln pro Instanz, Port-Weiterleitungen und ausgehende ACLs direkt über die Oberfläche verwalten.
![Firewall](images/firewall.png)
### FirewallVerwaltung
Bietet eine umfassende Oberfläche zur Verwaltung von VPNFirewallRegeln. Regeln können mit iptablesähnlicher Syntax erstellt, bearbeitet und gelöscht werden und ermöglichen so eine präzise Steuerung des Datenverkehrs.
![Firewall Rule List](../screenshots/firewall-rule-list.png)
![Firewall Rule Manager](../screenshots/firewall-manage-rule.png)
### VPN-Einladung
Erstelle einen teilbaren Einladungslink mit QR-Code und Konfigurationsdatei. Der Nutzer scannt oder importiert ihn direkt in seinen WireGuard-Client.
![VPN-Einladung](images/vpn_invite.png)
### WireGuardInstanzEinstellungen
Zentrale Anlaufstelle für die Verwaltung der Einstellungen einer oder mehrerer WireGuardInstanzen.
![WireGuard Server Configuration](../screenshots/serverconfig.png)
---
### Konsole
Schneller Zugriff auf häufig genutzte DebuggingTools zur Diagnose und Lösung potenzieller Probleme in der WireGuardUmgebung.
![Console](../screenshots/console.png)
## Lizenz
### Benutzerverwaltung
Unterstützt MehrbenutzerUmgebungen durch Zuweisung unterschiedlicher Berechtigungsstufen von eingeschränktem Zugriff bis hin zu vollständigen Administratorrechten.
![User Manager](../screenshots/usermanager.png)
Auf Basis deiner Anforderungen wurden die folgenden DeployAnweisungen erstellt. Sie verwenden `wget`, um stets die aktuellste `docker-compose.yml` direkt aus deinem GitHubRepository abzurufen, und erläutern die Erstellung einer `.env`Datei für Umgebungsvariablen. So stellst du sicher, dass Nutzer immer mit der neuesten DeploymentKonfiguration arbeiten.
## DeployAnleitung
Folge diesen Schritten, um WireGuard WebAdmin bereitzustellen:
1. **Umgebung vorbereiten**
Erstelle zunächst ein Verzeichnis für WireGuard WebAdmin und wechsle hinein:
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **DockerComposeDatei herunterladen**
Wähle je nach Szenario einen der folgenden Befehle, um die passende Compose-Datei herunterzuladen. So nutzt du stets die aktuelle Version der Deployment-Datei.
### Option 1: Mit Caddy (empfohlen)
Für das empfohlene produktive Deployment mit Caddy als Reverse-Proxy:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Dies ist die empfohlene Methode zum Betrieb der Web-Administrationsoberfläche, da sie alle unterstützten Reverse-Proxy-Funktionen umfasst und eine automatische SSL-Zertifikatsverwaltung über Caddy bietet.
> [!IMPORTANT]
> Caddy benötigt einen gültigen DNS-Namen, intern oder öffentlich, der auf Ihren Server zeigt, damit SSL-Zertifikate korrekt ausgestellt und erneuert werden können.
### Option 2: Ohne Caddy
Wenn Sie Ihren eigenen Reverse-Proxy verwenden oder die Anwendung ohne Caddy betreiben möchten, nutzen Sie:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Wenn Sie die Anwendung ohne Caddy betreiben, verlieren Sie die integrierte sichere Veröffentlichung, einschließlich automatischer SSL-Zertifikate und des empfohlenen Reverse-Proxy-Setups. Wenn Sie diese Option wählen, müssen Sie selbst für eine sichere Veröffentlichung sorgen.
3. **.envDatei erstellen**
Erstelle eine `.env`Datei im selben Verzeichnis wie deine `docker-compose.yml` und passe `my_server_address` an die DNSAdresse oder IP deines Servers an:
```env
# SERVER_ADDRESS muss auf den Server zeigen. Ohne DNSNamen kann die IP genutzt werden.
# Ein falsch konfigurierter SERVER_ADDRESS führt zu CSRFFehlern.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Wähle eine Zeitzone aus https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=Europe/Berlin
# WireGuardStatusCachingEinstellungen
# Dies verbessert die Leistung, indem die Anzahl der Aufrufe des `wg`-Befehls reduziert und aktuelle Ergebnisse gespeichert werden.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Wie viele zwischengespeicherte WireGuard-Status-Snapshots beim Laden der Seite vorgeladen werden sollen.
# Dies ermöglicht es, dass Traffic-Diagramme bereits ausgefüllt angezeigt werden, anstatt leer zu beginnen.
# Verringern Sie diesen Wert, wenn sich die initiale Peer-Liste langsam anfühlt.
# 0 = Vorladen deaktivieren, 9 = Traffic-Diagramme vollständig ausfüllen.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# Wie oft (in Sekunden) der Cache aktualisiert werden soll.
# Erlaubte Werte: 30, 60, 150, 300. Standard: 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Wenn Sie zusätzliche erlaubte Hosts benötigen, können Sie diese hier angeben.
# Die SERVER_ADDRESS wird immer erlaubt sein.
# Beispiel: EXTRA_ALLOWED_HOSTS=app1.beispiel.com,app2.beispiel.com:8443,app3.beispiel.com
#EXTRA_ALLOWED_HOSTS=app1.beispiel.com,app2.beispiel.com:8443,app3.beispiel.com
```
4. **Docker Compose ausführen**
Führen Sie den Docker Compose-Befehl aus, um Ihr Deployment zu starten:
```bash
docker compose up -d
```
Öffnen Sie die Weboberfläche unter `https://yourserver.example.com`. Beim empfohlenen Deployment mit Caddy werden SSL-Zertifikate automatisch ausgestellt und erneuert.
Nach diesen Schritten sollte WireGuard WebAdmin laufen. Konfiguriere anschließend deine Instanzen über das WebInterface.
## UpgradeAnleitung
Regelmäßige Upgrades stellen sicher, dass du die neuesten Funktionen, Sicherheitsverbesserungen und Bugfixes erhältst.
### Vorbereitung
1. **In das Projektverzeichnis wechseln**
```bash
cd wireguard_webadmin
```
2. **Dienste stoppen**
```bash
docker compose down
```
3. **Aktuelle Images ziehen**
```bash
docker compose pull
```
4. **Daten sichern**
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Passe den Pfad zum Volume ggf. an.
5. **Neu deployen**
Folge anschließend der [DeployAnleitung](#deploy-anleitung) und lade dabei die aktuelle `docker-compose.yml` erneut herunter.
### Nach dem Upgrade
- **Funktion prüfen**: WebInterface aufrufen und Logs prüfen.
- **Unterstützung**: Bei Problemen siehe [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions).
Dieses Projekt steht unter der MIT-Lizenz siehe [LICENSE](../LICENSE) für Details.
## Beitragen
Beiträge machen die OpenSourceCommunity großartig. **Danke für jede Unterstützung!**
## Support
Bei Fragen oder Problemen eröffne bitte ein Issue auf GitHub.
Beiträge sind willkommen und sehr geschätzt. Öffne gerne Issues oder Pull Requests auf [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).

View File

@@ -7,214 +7,62 @@
✨ Si encuentra algún problema con la traducción o desea solicitar un nuevo idioma, por favor abra un [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** es una interfaz web completa y fácil de configurar para administrar instancias de WireGuard VPN. Diseñada para simplificar la administración de redes WireGuard, ofrece una interfaz intuitiva que admite múltiples usuarios con distintos niveles de acceso, varias instancias de WireGuard con gestión individual de peers y soporte para *cryptokey routing* en interconexiones *sitetosite*.
**Gestión de VPN self-hosted y control de acceso Zero Trust — todo en tu infraestructura.**
## Funcionalidades
Más que un panel de WireGuard: gestiona peers, reglas de firewall, DNS, redirección de puertos y publica aplicaciones internas con autenticación adecuada — sin depender de servicios de terceros. Funciona en cualquier máquina Linux con Docker. Gratuito, open source, nada sale de tu servidor.
- **Historial de Transferencia por Peer**: Controle los volúmenes de descarga y subida de cada peer individualmente.
- **Gestión Avanzada de Firewall**: Disfrute de una gestión de firewall de VPN integral y sencilla, diseñada para ser eficaz.
- **Redirección de Puertos**: Redirija puertos TCP o UDP a peers o redes detrás de esos peers con facilidad.
- **Servidor DNS**: Soporte para hosts personalizados y listas de bloqueo DNS para mayor seguridad y privacidad.
- **Soporte Multiusuario**: Gestione el acceso con diferentes niveles de permisos para cada usuario.
- **Múltiples Instancias de WireGuard**: Permite la gestión separada de peers en varias instancias.
- **CryptoKey Routing**: Simplifica la configuración de interconexiones *sitetosite*.
- **Compartir Invitaciones VPN Sin Esfuerzo**: Genere y distribuya al instante invitaciones VPN seguras y temporales por correo electrónico o WhatsApp, con código QR y archivo de configuración.
- **Plantillas de Enrutamiento por Peer**: Defina plantillas de enrutamiento reutilizables por instancia de WireGuard y aplíquelas a los pares, asegurando un comportamiento de enrutamiento consistente y predecible.
- **Cumplimiento de Rutas con Reglas de Firewall Automáticas**: Imponga políticas de enrutamiento generando automáticamente reglas de firewall que restrinjan los pares a las rutas explícitamente permitidas.
- ⚙️ **Gestionar** — Múltiples instancias WireGuard, gráficos de tráfico por peer, firewall, listas de bloqueo DNS, invitaciones VPN con código QR
- 🔒 **Proteger** — Gateway de aplicaciones Zero Trust con TOTP, ACL por IP y anti-fuerza-bruta (Altcha PoW)
- **Automatizar** — Acceso programado por peer, plantillas de enrutamiento, enlaces de invitación con expiración, API REST v2
Este proyecto tiene como objetivo ofrecer una solución intuitiva y fácil de usar para la gestión de VPN WireGuard sin comprometer la potencia y flexibilidad que proporciona WireGuard.
### 📖 [Documentación completa, guía de instalación y consejos en wireguard-webadmin.com](https://wireguard-webadmin.com/)
---
## Instalación Rápida
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# edite .env con su SERVER_ADDRESS
docker compose up -d
```
> Para instrucciones detalladas, guía de actualización y consejos de configuración visite **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## Capturas de Pantalla
### Lista de Peers
Estado en tiempo real y gráficos de ancho de banda en vivo para cada peer en todas las instancias WireGuard.
![Lista de Peers](images/peer_list_dark.png)
### Detalles del Peer
Historial de tráfico, último handshake, IPs permitidas y código QR — todo en un solo lugar.
![Detalles del Peer](images/peer_details.png)
### Gateway de Aplicaciones Zero Trust
Publique apps internas como Proxmox o Grafana con autenticación TOTP por delante — sin abrir puertos.
![Gateway Zero Trust](images/zero_trust_app.png)
### Gestión de Firewall
Reglas iptables por instancia, redirección de puertos y ACLs de salida gestionados desde la interfaz.
![Firewall](images/firewall.png)
### Invitación VPN
Genere un enlace de invitación con código QR y archivo de configuración. El usuario lo escanea o importa directamente en su cliente WireGuard.
![Invitación VPN](images/vpn_invite.png)
---
## Licencia
Este proyecto está bajo la licencia MIT. Consulte el archivo [LICENSE](../LICENSE) para más detalles.
## Capturas de Pantalla
### Lista de Peers
Muestra una lista completa de peers, incluido su estado y otros detalles, lo que permite supervisar y gestionar fácilmente las conexiones VPN de WireGuard.
![Lista de Peers de WireGuard](../screenshots/peerlist.png)
### Detalles del Peer
Presenta información clave del peer, métricas detalladas y un historial completo de volumen de tráfico. También incluye un código QR para una configuración sencilla.
![Detalles del Peer](../screenshots/peerinfo.png)
### Invitación VPN
Genera invitaciones VPN seguras y temporales para compartir fácilmente la configuración por correo electrónico o WhatsApp, con código QR y archivo de configuración.
![Invitación VPN](../screenshots/vpninvite.png)
### Filtrado DNS Avanzado
Bloquee contenido no deseado mediante listas de filtrado DNS integradas. Incluye categorías predefinidas como pornografía, juegos de azar, noticias falsas, adware y malware, con la posibilidad de agregar categorías personalizadas para una experiencia de seguridad adaptada.
![Servidor DNS](../screenshots/dns.png)
### Gestión de Firewall
Proporciona una interfaz completa para gestionar reglas de firewall de la VPN, permitiendo crear, editar y eliminar reglas con sintaxis estilo *iptables*. Esta característica garantiza un control preciso del tráfico de red, mejorando la seguridad y la conectividad de las instancias de WireGuard.
![Lista de Reglas de Firewall](../screenshots/firewall-rule-list.png)
![Gestor de Reglas de Firewall](../screenshots/firewall-manage-rule.png)
### Configuración de Instancias de WireGuard
Un centro de control para gestionar la configuración de una o varias instancias de WireGuard, permitiendo ajustes sencillos de la VPN.
![Configuración del Servidor WireGuard](../screenshots/serverconfig.png)
### Consola
Acceso rápido a herramientas comunes de depuración, lo que facilita el diagnóstico y la resolución de posibles problemas en el entorno VPN WireGuard.
![Consola](../screenshots/console.png)
### Gestor de Usuarios
Admite entornos multiusuario permitiendo asignar distintos niveles de permisos, desde acceso restringido hasta derechos administrativos completos, garantizando un control de acceso seguro y personalizado.
![Gestor de Usuarios](../screenshots/usermanager.png)
---
## Instrucciones de Despliegue
Siga estos pasos para desplegar WireGuard WebAdmin:
1. **Prepare el Entorno:**
Cree un directorio para el proyecto WireGuard WebAdmin y acceda a él. Este será el directorio de trabajo para el despliegue.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Obtenga el Archivo Docker Compose:**
Según su escenario de despliegue, elija uno de los siguientes comandos para descargar el archivo compose correspondiente directamente en su directorio de trabajo. Este método garantiza que utilice la versión más reciente de la configuración.
### Opción 1: Con Caddy (Recomendado)
Para el despliegue de producción recomendado con Caddy como *reverse proxy*, use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Esta es la forma recomendada de ejecutar la interfaz web de administración porque incluye todas las funciones compatibles del proxy inverso y proporciona gestión automática de certificados SSL mediante Caddy.
> [!IMPORTANT]
> Caddy requiere un nombre DNS válido, interno o público, apuntando a su servidor para poder obtener y renovar correctamente los certificados SSL.
### Opción 2: Sin Caddy
Si prefiere usar su propio proxy inverso o ejecutar la aplicación sin Caddy, use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Ejecutar sin Caddy significa perder la experiencia integrada de publicación segura, incluidos los certificados SSL automáticos y la configuración recomendada de proxy inverso. Si elige esta opción, asegúrese de proporcionar su propia capa segura de exposición.
3. **Cree el Archivo `.env`:**
Cree un archivo `.env` en el mismo directorio que su `docker-compose.yml` con el siguiente contenido, ajustando `my_server_address` al nombre DNS o IP de su servidor.
```env
# Configure SERVER_ADDRESS para que coincida con la dirección de su servidor. Puede usar la IP si no tiene DNS.
# Una SERVER_ADDRESS mal configurada provocará errores CSRF.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Elija una zona horaria de https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=America/Sao_Paulo
# Configuración de caché de estado de WireGuard
# Esto mejora el rendimiento al reducir el número de llamadas al comando `wg` y almacenar resultados recientes.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Cuántas instantáneas del estado de WireGuard almacenadas en caché deben precargarse al cargar la página.
# Esto permite que los gráficos de tráfico se muestren ya poblados en lugar de comenzar vacíos.
# Reduzca este valor si la lista inicial de pares parece lenta.
# 0 = desactivar precarga, 9 = completar totalmente los gráficos de tráfico.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# Con qué frecuencia (en segundos) se debe refrescar la caché.
# Valores permitidos: 30, 60, 150, 300. Predeterminado: 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Si necesita hosts adicionales permitidos, puede especificarlos aquí.
# El SERVER_ADDRESS siempre estará permitido.
# Ejemplo: EXTRA_ALLOWED_HOSTS=app1.ejemplo.com,app2.ejemplo.com:8443,app3.ejemplo.com
#EXTRA_ALLOWED_HOSTS=app1.ejemplo.com,app2.ejemplo.com:8443,app3.ejemplo.com
```
Sustituya `my_server_address` por la dirección real de su servidor.
4. **Ejecute Docker Compose:**
Ejecute el comando Docker Compose para iniciar su despliegue.
```bash
docker compose up -d
```
Acceda a la interfaz web en `https://suserver.ejemplo.com`. Al usar el despliegue recomendado con Caddy, los certificados SSL se obtienen y renuevan automáticamente.
Tras completar estos pasos, WireGuard WebAdmin estará en funcionamiento. Comience la configuración accediendo a la interfaz web de su servidor.
---
## Instrucciones de Actualización
Actualizar su instalación de WireGuard WebAdmin garantiza acceso a nuevas funciones, mejoras de seguridad y correcciones. Siga estas instrucciones para una actualización sin problemas:
### Preparación para la Actualización:
1. **Vaya al Directorio del Proyecto:**
Acceda al directorio `wireguard_webadmin`:
```bash
cd wireguard_webadmin
```
2. **Detenga los Servicios:**
Pare todos los servicios para evitar pérdida de datos durante la actualización.
```bash
docker compose down
```
3. **Descargue las Imágenes Más Recientes:**
Actualice sus imágenes locales:
```bash
docker compose pull
```
4. **Haga Copia de Seguridad de Sus Datos:**
Antes de cualquier cambio, realice una copia de seguridad de la base de datos y de datos importantes.
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Sustituya la ruta del volumen Docker si es diferente. El archivo se guardará en el directorio actual.
5. **Despliegue con Docker Compose:**
Siga las [Instrucciones de Despliegue](#instrucciones-de-despliegue) indicadas anteriormente.
> **Nota:** No olvide actualizar `docker-compose.yml` a la versión más reciente descargándolo de nuevo del repositorio.
### Verificaciones Posteriores a la Actualización:
- **Verifique el Funcionamiento:** Una vez iniciados los servicios, acceda a la interfaz web para comprobar que WireGuard WebAdmin funciona correctamente. Revise los registros de la aplicación para detectar problemas.
- **Soporte y Solución de Problemas:** Si surge alguna complicación, consulte la sección de [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) o la documentación relacionada.
Siguiendo estos pasos, actualizará WireGuard WebAdmin a la versión más reciente, incorporando todas las mejoras y correcciones de seguridad. Recuerde que realizar copias de seguridad periódicas y seguir estos pasos ayuda a mantener la salud y seguridad de su implementación.
---
## Contribuir
Las contribuciones hacen que la comunidad *opensource* sea un lugar increíble para aprender, inspirar y crear. Sus contribuciones son **muy apreciadas**.
## Soporte
Si encuentra problemas o necesita ayuda, abra un *issue* en la página de GitHub del proyecto.
Las contribuciones son bienvenidas y muy apreciadas. No dude en abrir issues o pull requests en [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).

View File

@@ -1,4 +1,4 @@
## 🌍 Lire ceci dans dautres langues:
## 🌍 Lire ceci dans d'autres langues:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
@@ -7,194 +7,62 @@
✨ Si vous constatez un problème dans la traduction ou souhaitez demander une nouvelle langue, veuillez ouvrir une [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
wireguard_webadmin est une interface web complète et facile à configurer pour gérer des instances WireGuard VPN. Conçue pour simplifier ladministration des réseaux WireGuard, elle fournit une interface conviviale prenant en charge plusieurs utilisateurs avec différents niveaux daccès, plusieurs instances WireGuard avec gestion individuelle des pairs, ainsi que le cryptokeyrouting pour les interconnexions siteàsite.
**Gestion de VPN self-hosted et contrôle d'accès Zero Trust — entièrement sur votre infrastructure.**
## Fonctionnalités
Plus qu'un simple panneau WireGuard : gérez les pairs, les règles de pare-feu, le DNS, la redirection de ports et publiez des applications internes avec une authentification appropriée — sans dépendre de services tiers. Fonctionne sur n'importe quelle machine Linux avec Docker. Gratuit, open source, rien ne quitte votre serveur.
- **Historique de transfert par pair**: suivez les volumes de téléchargement et denvoi pour chaque pair.
- **Gestion avancée du parefeu**: administration VPN simple et efficace des règles de parefeu.
- **Redirection de ports**: redirigez facilement des ports TCP ou UDP vers des pairs ou des réseaux situés derrière ces pairs.
- **Serveur DNS**: prise en charge dhôtes personnalisés et de listes de blocage pour une sécurité renforcée et une meilleure confidentialité.
- **Prise en charge multiutilisateur**: gérez laccès avec différents niveaux dautorisation.
- **Instances WireGuard multiples**: gérez séparément les pairs de plusieurs instances.
- **Crypto Key Routing**: simplifie la configuration des interconnexions siteàsite.
- **Partage dinvitations VPN**: générez et distribuez instantanément des invitations VPN sécurisées et limitées dans le temps par email ou WhatsApp, avec QR code et fichier de configuration.
- **Modèles de Routage par Peer**: Définissez des modèles de routage réutilisables par instance WireGuard et appliquez-les aux pairs, garantissant un comportement de routage cohérent et prévisible.
- **Application des Routes avec Règles de Firewall Automatiques**: Appliquez des politiques de routage en générant automatiquement des règles de pare-feu qui restreignent les pairs aux routes explicitement autorisées.
- ⚙️ **Gérer** — Plusieurs instances WireGuard, graphiques de trafic par pair, pare-feu, listes de blocage DNS, invitations VPN avec QR code
- 🔒 **Protéger** — Passerelle d'applications Zero Trust avec TOTP, ACL par IP et anti-force-brute (Altcha PoW)
- **Automatiser** — Accès planifié par pair, modèles de routage, liens d'invitation avec expiration, API REST v2
Ce projet vise à offrir une solution intuitive et conviviale pour ladministration de WireGuard, sans compromettre la puissance et la flexibilité du protocole.
### 📖 [Documentation complète, guide d'installation et conseils sur wireguard-webadmin.com](https://wireguard-webadmin.com/)
---
## Installation Rapide
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# éditez .env avec votre SERVER_ADDRESS
docker compose up -d
```
> Pour des instructions détaillées, un guide de mise à jour et des conseils de configuration, visitez **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## Captures d'écran
### Liste des pairs
Statut en temps réel et graphiques de bande passante en direct pour chaque pair sur toutes les instances WireGuard.
![Liste des pairs](images/peer_list_dark.png)
### Détails d'un pair
Historique du trafic, dernier handshake, IPs autorisées et QR code — le tout au même endroit.
![Détails d'un pair](images/peer_details.png)
### Passerelle d'applications Zero Trust
Publiez des applications internes comme Proxmox ou Grafana avec une authentification TOTP devant — sans ouvrir de ports.
![Passerelle Zero Trust](images/zero_trust_app.png)
### Gestion du pare-feu
Règles iptables par instance, redirection de ports et ACLs sortantes gérées depuis l'interface.
![Pare-feu](images/firewall.png)
### Invitation VPN
Générez un lien d'invitation avec QR code et fichier de configuration. L'utilisateur le scanne ou l'importe directement dans son client WireGuard.
![Invitation VPN](images/vpn_invite.png)
---
## Licence
Ce projet est distribué sous licence MIT consultez le fichier [LICENSE](../LICENSE) pour plus de détails.
## Captures décran
### Liste des pairs
Affiche une liste complète des pairs, y compris leur état et dautres détails, pour un suivi et une gestion aisés des connexions WireGuard.
![WireGuard Peer List](../screenshots/peerlist.png)
### Détails dun pair
Affiche les informations clés du pair, des métriques détaillées et un historique complet du volume de trafic. Comprend également un QR code pour une configuration facile.
![WireGuard Peer Details](../screenshots/peerinfo.png)
### Invitation VPN
Génère des invitations VPN sécurisées et limitées dans le temps pour un partage facile de la configuration via email ou WhatsApp, avec QR code et fichier de configuration.
![VPN Invite](../screenshots/vpninvite.png)
### Filtrage DNS avancé
Bloquez les contenus indésirables grâce aux listes de filtrage DNS intégrées. Des catégories prédéfinies comme pornographie, jeux dargent, fake news, adware et malware sont incluses, avec la possibilité dajouter des catégories personnalisées pour une sécurité adaptée.
![DNS Server](../screenshots/dns.png)
### Gestion du parefeu
Interface complète pour créer, modifier et supprimer des règles de parefeu avec une syntaxe de type iptables. Permet un contrôle précis du trafic réseau, améliorant la sécurité et la connectivité des instances WireGuard.
![Firewall Rule List](../screenshots/firewall-rule-list.png)
![Firewall Rule Manager](../screenshots/firewall-manage-rule.png)
### Paramètres de linstance WireGuard
Un hub centralisé pour gérer les paramètres dune ou plusieurs instances WireGuard, permettant des ajustements de configuration simples.
![WireGuard Server Configuration](../screenshots/serverconfig.png)
### Console
Accès rapide aux outils de débogage courants afin de diagnostiquer et résoudre les problèmes potentiels dans lenvironnement WireGuard.
![Console](../screenshots/console.png)
### Gestion des utilisateurs
Prend en charge les environnements multiutilisateur en permettant dassigner différents niveaux dautorisation, du simple accès restreint aux droits administrateur complets.
![User Manager](../screenshots/usermanager.png)
## Instructions de déploiement
Suivez ces étapes pour déployer WireGuard WebAdmin:
1. **Préparer lenvironnement**
Créez dabord un répertoire pour le projet et placezvous dedans:
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Télécharger le fichier Docker Compose**
Choisissez lune des commandes suivantes pour télécharger le fichier compose approprié directement dans votre répertoire de travail. Cela vous garantit dutiliser la version la plus récente de la configuration de déploiement.
### Option 1 : Avec Caddy (recommandé)
Pour le déploiement de production recommandé avec Caddy comme proxy inverse, utilisez :
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Cest la manière recommandée dexécuter linterface dadministration web, car elle inclut toutes les fonctionnalités prises en charge du proxy inverse et fournit une gestion automatique des certificats SSL via Caddy.
> [!IMPORTANT]
> Caddy nécessite un nom DNS valide, interne ou public, pointant vers votre serveur afin de pouvoir obtenir et renouveler correctement les certificats SSL.
### Option 2 : Sans Caddy
Si vous préférez utiliser votre propre proxy inverse ou exécuter lapplication sans Caddy, utilisez :
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Exécuter lapplication sans Caddy signifie perdre lexpérience intégrée de publication sécurisée, y compris les certificats SSL automatiques et la configuration de proxy inverse recommandée. Si vous choisissez cette option, assurez-vous de fournir votre propre couche dexposition sécurisée.
3. **Créer le fichier `.env`**
Dans le même répertoire que `docker-compose.yml`, créez un fichier `.env`:
```env
# Configurez SERVER_ADDRESS avec le nom DNS ou ladresse IP du serveur.
# Une mauvaise valeur provoquera des erreurs CSRF.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Choisissez un fuseau horaire parmi https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=Europe/Paris
# Paramètres de mise en cache de l'état WireGuard
# Cela améliore les performances en réduisant le nombre d'appels à la commande `wg` et en stockant les résultats récents.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Combien d'instantanés de statut WireGuard mis en cache doivent être préchargés lors du chargement de la page.
# Cela permet d'afficher les graphiques de trafic déjà remplis au lieu de commencer vides.
# Diminuez cette valeur si la liste initiale des pairs semble lente.
# 0 = désactiver le préchargement, 9 = pré-remplir complètement les graphiques de trafic.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# À quelle fréquence (en secondes) le cache doit être rafraîchi.
# Valeurs autorisées : 30, 60, 150, 300. Par défaut : 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Si vous avez besoin d'hôtes supplémentaires autorisés, vous pouvez les spécifier ici.
# Le SERVER_ADDRESS sera toujours autorisé.
# Exemple : EXTRA_ALLOWED_HOSTS=app1.exemple.com,app2.exemple.com:8443,app3.exemple.com
#EXTRA_ALLOWED_HOSTS=app1.exemple.com,app2.exemple.com:8443,app3.exemple.com
```
Remplacez `my_server_address` par ladresse réelle de votre serveur.
4. **Lancer Docker Compose**
Exécutez la commande Docker Compose pour démarrer votre déploiement.
```bash
docker compose up -d
```
Accédez à linterface via `https://votreserveur.exemple.com`. Avec le déploiement recommandé utilisant Caddy, les certificats SSL sont obtenus et renouvelés automatiquement.
Après ces étapes, WireGuard WebAdmin sera opérationnel.
## Instructions de mise à jour
Pour profiter des dernières fonctionnalités et correctifs:
1. **Allez dans le répertoire du projet**
```bash
cd wireguard_webadmin
```
2. **Arrêter les services**
```bash
docker compose down
```
3. **Mettre à jour les images**
```bash
docker compose pull
```
4. **Sauvegarder vos données**
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Adaptez le chemin si nécessaire.
5. **Déployer à nouveau**
Suivez les [instructions de déploiement](#instructions-de-déploiement) et récupérez la dernière version de `docker-compose.yml`.
### Vérifications postmise à jour
- Vérifiez linterface web et les journaux pour détecter déventuels problèmes.
- Besoin daide ? Consultez la section [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions).
## Contribuer
Les contributions sont **grandement appréciées**! Rejoigneznous pour améliorer ce projet opensource.
## Support
En cas de problème, ouvrez une *issue* sur la page GitHub du projet.
Les contributions sont les bienvenues et très appréciées. N'hésitez pas à ouvrir des issues ou des pull requests sur [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).

View File

@@ -7,214 +7,62 @@
✨ Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, por favor abra uma [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# wireguard_webadmin
**wireguard_webadmin** é uma interface web completa e fácil de configurar para gerenciar instâncias WireGuard VPN. Projetada para simplificar a administração de redes WireGuard, ela oferece uma interface amigável que suporta múltiplos usuários com diferentes níveis de acesso, várias instâncias WireGuard com gerenciamento individual de peers e suporte a *cryptokey routing* para interconexões *sitetosite*.
**Gerenciamento de VPN self-hosted e controle de acesso Zero Trust — tudo na sua infraestrutura.**
## Funcionalidades
Mais do que um painel WireGuard: gerencie peers, regras de firewall, DNS, redirecionamento de portas e publique aplicações internas com autenticação — sem depender de serviços de terceiros. Roda em qualquer máquina Linux com Docker. Gratuito, open source, nada sai do seu servidor.
- **Histórico de Transferência de Cada Peer**: Acompanhe individualmente os volumes de download e upload de cada peer.
- **Gerenciamento Avançado de Firewall**: Experimente um gerenciamento de firewall de VPN abrangente e sem complicações, projetado para ser simples e eficaz.
- **Redirecionamento de Portas**: Redirecione portas TCP ou UDP para peers ou redes além desses peers com facilidade!
- **Servidor DNS**: Suporte a hosts personalizados e listas de bloqueio DNS para maior segurança e privacidade.
- **Suporte Multiusuário**: Gerencie o acesso com diferentes níveis de permissão para cada usuário.
- **Múltiplas Instâncias WireGuard**: Permite o gerenciamento separado de peers em várias instâncias.
- **CryptoKey Routing**: Simplifica a configuração de interconexões *sitetosite*.
- **Compartilhamento de Convites VPN Sem Atrito**: Gere e distribua instantaneamente convites VPN seguros e com tempo de validade via email ou WhatsApp, contendo QR code e arquivo de configuração.
- **Modelos de Roteamento por Peer**: Defina modelos de roteamento reutilizáveis por instância do WireGuard e aplique-os aos peers, garantindo um comportamento de roteamento consistente e previsível.
- **Aplicação de Rota com Regras de Firewall Automáticas**: Imponha políticas de roteamento gerando automaticamente regras de firewall que restringem os peers às rotas explicitamente permitidas.
- ⚙️ **Gerenciar** — Múltiplas instâncias WireGuard, gráficos de tráfego por peer, firewall, listas de bloqueio DNS, convites VPN com QR code
- 🔒 **Proteger** — Gateway de aplicações Zero Trust com TOTP, ACL por IP e anti-força-bruta (Altcha PoW)
- **Automatizar** — Acesso agendado por peer, templates de roteamento, links de convite com expiração, API REST v2
Este projeto tem como objetivo oferecer uma solução intuitiva e fácil de usar para gerenciamento de VPN WireGuard sem comprometer o poder e a flexibilidade que o WireGuard oferece.
### 📖 [Documentação completa, guia de instalação e dicas em wireguard-webadmin.com](https://wireguard-webadmin.com/)
---
## Instalação Rápida
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
# edite o .env com seu SERVER_ADDRESS
docker compose up -d
```
> Para instruções detalhadas, guia de upgrade e dicas de configuração acesse **[wireguard-webadmin.com](https://wireguard-webadmin.com/)**.
---
## Capturas de Tela
### Lista de Peers
Status em tempo real e gráficos de banda ao vivo para cada peer em todas as instâncias WireGuard.
![Lista de Peers](images/peer_list_dark.png)
### Detalhes do Peer
Histórico de tráfego, último handshake, IPs permitidos e QR code — tudo em um só lugar.
![Detalhes do Peer](images/peer_details.png)
### Gateway de Aplicações Zero Trust
Publique apps internas como Proxmox ou Grafana com autenticação TOTP na frente — sem abrir portas.
![Gateway Zero Trust](images/zero_trust_app.png)
### Gerenciamento de Firewall
Regras iptables por instância, redirecionamento de portas e ACLs de saída gerenciados pela interface.
![Firewall](images/firewall.png)
### Convite VPN
Gere um convite compartilhável com QR code e arquivo de configuração. O usuário escaneia ou importa direto no cliente WireGuard.
![Convite VPN](images/vpn_invite.png)
---
## Licença
Este projeto é licenciado sob a licença MIT consulte o arquivo [LICENSE](../LICENSE) para detalhes.
## Capturas de Tela
### Lista de Peers
Exibe uma lista abrangente de peers, incluindo seu status e outros detalhes, permitindo monitorar e gerenciar facilmente as conexões VPN do WireGuard.
![Lista de Peers do WireGuard](../screenshots/peerlist.png)
### Detalhes do Peer
Mostra informações essenciais do peer, métricas detalhadas e um histórico completo de volume de tráfego. Inclui também um QR code para configuração fácil.
![Detalhes do Peer](../screenshots/peerinfo.png)
### Convite VPN
Gera convites VPN seguros e com tempo de validade para compartilhamento de configurações via email ou WhatsApp, com QR code e arquivo de configuração.
![Convite VPN](../screenshots/vpninvite.png)
### Filtragem DNS Avançada
Bloqueie conteúdo indesejado com listas de filtragem DNS integradas. Categorias predefinidas como pornografia, jogos de azar, fake news, adware e malware estão incluídas, com a possibilidade de adicionar categorias personalizadas para uma experiência de segurança sob medida.
![Servidor DNS](../screenshots/dns.png)
### Gerenciamento de Firewall
Oferece uma interface abrangente para gerenciar regras de firewall da VPN, permitindo criar, editar e excluir regras com sintaxe estilo *iptables*. Este recurso garante controle preciso do tráfego de rede, ampliando a segurança e a conectividade das instâncias WireGuard.
![Lista de Regras de Firewall](../screenshots/firewall-rule-list.png)
![Gerenciador de Regras de Firewall](../screenshots/firewall-manage-rule.png)
### Configurações da Instância WireGuard
Um hub central para gerenciar configurações de uma ou várias instâncias WireGuard, possibilitando ajustes de configuração de forma simples.
![Configuração do Servidor WireGuard](../screenshots/serverconfig.png)
### Console
Acesso rápido a ferramentas comuns de depuração, facilitando o diagnóstico e a resolução de possíveis problemas no ambiente VPN WireGuard.
![Console](../screenshots/console.png)
### Gerenciador de Usuários
Suporta ambientes multiusuário permitindo atribuir níveis de permissão variados, desde acesso restrito até direitos administrativos completos, garantindo controle de acesso seguro e personalizado.
![Gerenciador de Usuários](../screenshots/usermanager.png)
---
## Instruções de Implantação
Siga estes passos para implantar o WireGuard WebAdmin:
1. **Prepare o Ambiente:**
Primeiro, crie um diretório para o projeto WireGuard WebAdmin e navegue até ele. Este será o diretório de trabalho para a implantação.
```bash
mkdir wireguard_webadmin && cd wireguard_webadmin
```
2. **Obtenha o Arquivo Docker Compose:**
Dependendo do seu cenário de implantação, escolha um dos comandos a seguir para baixar o arquivo compose apropriado diretamente no seu diretório de trabalho. Esse método garante que você está usando a versão mais recente da configuração de implantação.
### Opção 1: Com Caddy (Recomendado)
Para a implantação recomendada em produção com Caddy como *reverse proxy*, use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-caddy.yml
```
Esta é a forma recomendada de executar a interface web de administração, pois inclui todos os recursos suportados de proxy reverso e oferece gerenciamento automático de certificados SSL através do Caddy.
> [!IMPORTANT]
> O Caddy precisa de um nome DNS válido, interno ou público, apontando para o seu servidor para obter e renovar os certificados SSL corretamente.
### Opção 2: Sem Caddy
Se você preferir usar seu próprio proxy reverso ou executar a aplicação sem o Caddy, use:
```bash
wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-caddy.yml
```
> [!CAUTION]
> Executar sem o Caddy significa perder a experiência integrada de publicação segura, incluindo certificados SSL automáticos e a configuração recomendada de proxy reverso. Se optar por esta opção, garanta sua própria camada segura de exposição.
3. **Crie o Arquivo `.env`:**
Crie um arquivo `.env` no mesmo diretório do seu `docker-compose.yml` com o conteúdo abaixo, ajustando `my_server_address` para o DNS ou endereço IP do seu servidor. Este passo é crucial para garantir o funcionamento correto da aplicação.
```env
# Configure SERVER_ADDRESS para coincidir com o endereço do servidor. Se não tiver um nome DNS, você pode usar o IP.
# Um SERVER_ADDRESS configurado incorretamente causará erros de CSRF na aplicação.
SERVER_ADDRESS=my_server_address
DEBUG_MODE=False
# Escolha um fuso horário em https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TIMEZONE=America/Sao_Paulo
# Configurações de cache de status do WireGuard
# Isso melhora o desempenho reduzindo o número de chamadas ao comando `wg` e armazenando resultados recentes.
# WIREGUARD_STATUS_CACHE_ENABLED=True
#
# Quantos instantâneos (snapshots) do status do WireGuard em cache devem ser pré-carregados ao carregar a página.
# Isso permite que os gráficos de tráfego sejam exibidos já preenchidos em vez de começarem vazios.
# Diminua este valor se a lista inicial de peers parecer lenta.
# 0 = desativar pré-carregamento, 9 = preencher totalmente os gráficos de tráfego.
# WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT=9
#
# Com que frequência (em segundos) o cache deve ser atualizado.
# Valores permitidos: 30, 60, 150, 300. Padrão: 60.
# WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL=60
# Se você precisar de hosts adicionais permitidos, pode especificá-los aqui.
# O SERVER_ADDRESS sempre será permitido.
# Exemplo: EXTRA_ALLOWED_HOSTS=app1.exemplo.com,app2.exemplo.com:8443,app3.exemplo.com
#EXTRA_ALLOWED_HOSTS=app1.exemplo.com,app2.exemplo.com:8443,app3.exemplo.com
```
Substitua `my_server_address` pelo endereço real do seu servidor.
4. **Execute o Docker Compose:**
Execute o comando Docker Compose para iniciar sua implantação.
```bash
docker compose up -d
```
Acesse a interface web em `https://seuservidor.exemplo.com`. Ao usar a implantação recomendada com Caddy, os certificados SSL são obtidos e renovados automaticamente.
Após concluir esses passos, o WireGuard WebAdmin deverá estar em execução. Inicie a configuração acessando a interface web do seu servidor.
---
## Instruções de Upgrade
Manter sua instalação do WireGuard WebAdmin atualizada garante acesso aos recursos mais recentes, melhorias de segurança e correções de bugs. Siga estas instruções para um upgrade tranquilo:
### Preparação para o Upgrade:
1. **Navegue até o Diretório do Projeto:**
Navegue até o diretório `wireguard_webadmin`:
```bash
cd wireguard_webadmin
```
2. **Desligue os Serviços:**
Pare todos os serviços em execução para evitar perda de dados durante o upgrade.
```bash
docker compose down
```
3. **Baixe as Imagens Mais Recentes:**
Atualize suas imagens locais:
```bash
docker compose pull
```
4. **Faça Backup dos Seus Dados:**
Antes de qualquer alteração, faça backup do banco de dados e de outros dados importantes. Este passo é essencial para restaurar sua configuração, se necessário.
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Substitua `/var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/` pelo caminho real do volume Docker, se diferente. O comando salva o backup no diretório atual.
5. **Implante Usando Docker Compose:**
Siga as [Instruções de Implantação](#instruções-de-implantação) descritas anteriormente.
> **Observação:** Não se esqueça de atualizar o arquivo `docker-compose.yml` para a versão mais recente, baixando-o novamente do repositório.
### Verificações PósUpgrade:
- **Verifique a Operação:** Após iniciar os serviços, acesse a interface web para garantir que o WireGuard WebAdmin esteja funcionando como esperado. Examine os logs da aplicação para possíveis problemas.
- **Suporte e Solução de Problemas:** Em caso de complicações ou para mais informações, consulte a página de [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) do projeto ou a documentação pertinente.
Seguindo estas instruções, você atualizará seu WireGuard WebAdmin para a versão mais recente, incorporando todas as melhorias e atualizações de segurança disponíveis. Lembrese, backups regulares e o cumprimento destes passos de upgrade ajudam a manter a saúde e a segurança da sua implantação.
---
## Contribuindo
Contribuições tornam a comunidade *opensource* um lugar incrível para aprender, inspirar e criar. Suas contribuições são **muito bemvindas**.
## Suporte
Se encontrar qualquer problema ou precisar de assistência, abra uma *issue* na página GitHub do projeto.
Contribuições são bem-vindas e muito apreciadas. Sinta-se à vontade para abrir issues ou pull requests no [GitHub](https://github.com/eduardogsilva/wireguard_webadmin).