- Wireguard VPN
- PiHole (DNS Sinkhole)
- Unbound (DNS Resolver)
- Restic Backup Server (Additional)
- Docker Registry (Additional)
-
Clone this repository
-
Copy
env.tmpl
to.env
and fill in the variablesWIREGUARD_SERVER_URL
should be the public IP address of your server (or the domain name if you have one)WIREGUARD_PEERS
comma separated list of peer names or just a number of peers to generatePIHOLE_WEBPASSWORD
is the password for the PiHole web interface (Optional - can be generated withopenssl rand -base64 32
)TIMEZONE
is the timezone for the server (Europe/Berlin)
-
Run
docker-compose up -d
-
Configure Wireguard client:
- Phone:
- Run
docker-compose logs
to see the qr code for your Wireguard client - Use the qr code to add the Wireguard client to your phone
- Run
- Computer:
- Use the config in
./wireguard/peer_<peer_name>/peer_<peer_name>.conf
- Import the config into your Wireguard client
- Use the config in
- Phone:
-
Run
docker-compose exec wireguard wg
to see the current status of your Wireguard server