✨ If you find any issues with the translation or would like to request a new language, please open an [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
wireguard_webadmin is a full-featured yet easy-to-configure web interface for managing WireGuard VPN instances. Designed to simplify the administration of WireGuard networks, it provides a user-friendly interface that supports multiple users with varying access levels, multiple WireGuard instances with individual peer management, and support for crypto key routing for site-to-site interconnections.
- **Seamless VPN Invite Sharing**: Instantly generate and distribute secure, time-sensitive VPN invites via email or WhatsApp, complete with QR code and configuration file options.
- **Routing Templates per Peer**: Define reusable routing templates per WireGuard instance and apply them to peers, ensuring consistent and predictable routing behavior.
- **Route Enforcement with Automatic Firewall Rules**: Enforce routing policies by automatically generating firewall rules that restrict peers to explicitly allowed routes.
This project aims to offer an intuitive and user-friendly solution for WireGuard VPN management without compromising the power and flexibility WireGuard provides.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Displays a comprehensive list of peers, including their status and other details, allowing for easy monitoring and management of WireGuard VPN connections.
Generates secure, time-sensitive VPN invites for easy configuration sharing via email or WhatsApp, complete with QR code and configuration file options.
Block unwanted content with built-in DNS filtering lists. Predefined categories such as porn, gambling, fakenews, adware, and malware are included, with the ability to add custom categories for a tailored security experience.
Offers a comprehensive interface for managing VPN firewall rules, enabling users to easily create, edit, and delete rules with iptables-style syntax. This feature ensures precise control over network traffic, enhancing security and connectivity for WireGuard VPN instances.
A central hub for managing settings across one or multiple WireGuard instances, enabling straightforward configuration adjustments for VPN interfaces.

### Console
Offers quick access to common debugging tools, facilitating the diagnosis and resolution of potential issues within the WireGuard VPN environment.

### User Manager
Supports multi-user environments by allowing the assignment of varying permission levels, from restricted access to full administrative rights, ensuring secure and tailored access control.
Depending on your deployment scenario, choose one of the following commands to download the appropriate compose file directly into your working directory. This approach ensures you're using the latest version of the deployment configuration.
This is the recommended way to run the web admin interface because it includes all supported reverse proxy features and provides automatic SSL certificate management through Caddy.
> Running without Caddy means you lose the built-in secure publishing experience, including automatic SSL certificates and the recommended reverse proxy setup. If you choose this option, make sure you provide your own secure exposure layer.
Create a `.env` file in the same directory as your `docker-compose.yml`, adjusting `my_server_address` to your server's DNS name or IP address. This step is crucial for ensuring the application functions correctly.
Access the web interface using `https://yourserver.example.com`. When using the recommended Caddy deployment, SSL certificates are obtained and renewed automatically.
Upgrading your WireGuard WebAdmin installation ensures you have access to the latest features, security improvements, and bug fixes. Follow these instructions for a smooth upgrade:
Before making any changes, back up your database and any other important data. This step is crucial for restoring your setup if needed.
- **Backup Database Command:**
```bash
tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
```
Replace `/var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/` with the actual path to your Docker volume data if it's different. This command saves the backup to the current directory.
- **Verify Operation:** After the services start, access the web interface to ensure WireGuard WebAdmin functions as expected. Examine the application logs for potential issues.
- **Support and Troubleshooting:** For any complications or need for further information, consult the project's [Discussions](https://github.com/eduardogsilva/wireguard_webadmin/discussions) page or relevant documentation.
By adhering to these instructions, you will update your WireGuard WebAdmin to the latest version, incorporating all available enhancements and security updates. Remember, regular backups and following these upgrade steps will help maintain your deployment's health and security.