Using a userspace wireguard-go implementation
FROM golang:1.24.6-alpine AS builder
RUN apk add --no-cache git make
RUN git clone https://git.zx2c4.com/wireguard-go /src/wireguard-go \
&& cd /src/wireguard-go \
&& make
# Specify the desired Gateway's version here
FROM ghcr.io/defguard/gateway:latest
COPY --from=builder /src/wireguard-go/wireguard-go /usr/local/bin/wireguard-go
RUN chmod +x /usr/local/bin/wireguard-go# Docker compose
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun