Hello there,
Just want to preface that this is for selfhosted purposes, I may be routing my network in other way later.
I wanted to be able to setup a wireguard docker container with gluetun such that I can connect multiple devices to it at home, in order to minimize my "five device limit" with mullvad. I have the following docker compose:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun-wireguard
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- ./gluetun:/gluetun
environment:
- VPN_SERVICE_PROVIDER=#
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=#
- WIREGUARD_ADDRESSES=#
- SERVER_CITIES=#setup#setup
# Timezone for accurate log times
- TZ=#
# Server list updater
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
- UPDATER_PERIOD=24h
ports:
- 51820:51820/udp
wireguard-server:
image: linuxserver/wireguard
container_name: wireguard-server
network_mode: service:gluetun # << important
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- SERVERPORT=51820
- PEERS=iphone
- PEERDNS=auto
volumes:
- ./config:/config
- /lib/modules:/lib/modules
restart: unless-stopped
Whenever I try connecting to it by iphone, which is my first attempt for the peer, it doesn't quite work out. The packets are received by the container, and querying cloudflare as such works:
$ sudo docker exec -it wireguard-server ping -c 3 1.1.1.1
Is there any obvious error I've made?
If I'm making the XY Problem, please let me know. If there is a more apt community, please let me know.
Is there a reason not to use Tailscale for this?
I wanted to do it with pure wireguard. I like the headscale idea though. Might give that a shot.
Or https://github.com/juanfont/headscale.