Breaking Changes in v15
Before migrating, be aware of these major changes:- Environment Variables: Almost all environment variables have been removed and moved to the Admin Panel in the Web UI
- Database: Now uses SQLite instead of file-based storage
- API: Changed API structure with Basic Authentication required
- Architecture Support: ARMv6 support has been removed
- Docker Volume: New
/lib/modulesvolume mount required - HTTP Access: Requires
INSECURE=trueenvironment variable for HTTP connections - License: Changed from CC BY-NC-SA 4.0 to AGPL-3.0-only
- Versioning: Switched from incrementing versions to Semantic Versioning
- Tag:
nightlytag replaced withedge
Prerequisites
Check Architecture Compatibility
Verify your system architecture is supported (amd64 or arm64):If the output shows
armv6 or armv7, you cannot proceed with the migration.Note Your Current Configuration
Document all environment variables you’re currently using:Save this information - you’ll need to reconfigure these settings in the Web UI.
Migration Process
Backup Your Configuration
There are two ways to backup your configuration:Option 1: Via Web UI (Recommended)
- Open the WireGuard Easy Web UI
- Click the Backup button in the interface
- This will download a
wg0.jsonfile to your computer - Store this file in a safe location
Stop and Remove Old Container
Stop your v14 container:For docker run installations:For docker compose installations:
Your Docker volumes are preserved when removing containers. Your configuration data is safe.
Update Docker Compose or Run Command
Update your deployment method with the v15 configuration:For docker compose:Create a new For docker run:
docker-compose.yml with the v15 configuration:The new
/lib/modules volume mount is required for proper WireGuard kernel module access.Start v15 Container
Start the new v15 container:For docker compose:For docker run:The container is already started from the previous step.Verify it’s running:
Complete Setup Wizard
- Open your browser and navigate to
http://your-server-ip:51821 - You’ll see the v15 setup wizard
- In the wizard, select “I already have a configuration file”
- Upload the
wg0.jsonfile you backed up in Step 1 - Create a new admin username and password
- Optionally set up 2FA (new feature in v15)
- Complete the setup wizard
- Import all your existing clients
- Migrate your WireGuard interface configuration
- Set up the new SQLite database
- Configure your interface settings
Reconfigure Settings from Environment Variables
In v14, most settings were configured via environment variables. In v15, these are managed through the Web UI.
- Log in to the Admin Panel
- Navigate to Settings or Configuration
- Configure the settings that were previously environment variables:
- WireGuard host/endpoint
- DNS servers
- MTU size
- Persistent keepalive
- Allowed IPs
- Post-up/post-down scripts
Post-Migration Configuration
Accessing the API
v15 introduces API Basic Authentication. To use the API:- Generate API credentials in the Admin Panel
- Use Basic Auth in your API requests:
Setting Up 2FA
v15 adds Two-Factor Authentication support:- Go to Admin Panel → Security Settings
- Enable 2FA
- Scan the QR code with your authenticator app
- Enter the verification code to confirm
Configuring Unattended Setup
If you need to automate future deployments, v15 supports unattended setup with environment variables:Rollback Procedure
If you encounter issues and need to rollback to v14:Restore Your Backup
If you used docker volumes, your v14 configuration should still be intact. If you moved or changed volumes, restore from backup:
Troubleshooting
Web UI Won’t Load
If you’re accessing via HTTP and the Web UI won’t load:Upload Fails During Setup
If the configuration upload fails:- Verify the
wg0.jsonfile is valid JSON - Check file permissions
- Try using a smaller batch - manually create clients if needed
- Check docker logs:
docker logs wg-easy
Clients Can’t Connect After Migration
- Verify the endpoint in Settings matches your v14 configuration
- Check firewall rules allow traffic on the WireGuard port
- Confirm the WireGuard interface is up:
- Regenerate client configs if needed
Missing Environment Variable Settings
If settings from your v14 environment variables aren’t applied:- These must be manually configured in the Admin Panel
- Go to Settings and configure each option
- The setup wizard only imports the
wg0.jsonconfiguration
Database Errors
If you see SQLite database errors:Additional Resources
- Getting Started Guide
- Docker Compose Installation
- Environment Variables
- Unattended Setup
- API Documentation
Support
If you encounter issues during migration:- Check the GitHub Issues
- Review the Changelog
- Join the community discussions
- Ensure you’re using the latest v15.x release