はじめに
wg-easyをお試しで使ってみたく公式のDockerCompose設定を参考に立ててみようと思ったのですが、公式の設定はGUIへのアクセスをリバースプロキシを用いる方法のみの案内しかありませんでした。
GUIはローカルから参照できれば十分なので、わざわざリバースプロキシを使わずすぐに使用可能なDockerCompose.yamlを作りました。
動作環境
- Ubuntu Server 24.04
- Docker 29.5.2
- Docker Compose v5.1.4
- wg-easy v15.3.0
Docker Compose 設定
services:
wg-easy:
image: ghcr.io/wg-easy/wg-easy:15
container_name: wg-easy
environment:
- INSECURE=true
- INIT_ENABLED=true
- INIT_USERNAME={初期設定の管理者ユーザーネーム}
- INIT_PASSWORD={初期設定の管理者パスワード}
- INIT_HOST={コンテナが動いているマシンのあるグローバルIPアドレスorドメイン}
- INIT_PORT=51820
volumes:
- ./etc_wireguard:/etc/wireguard
- /lib/modules:/lib/modules:ro
ports:
- "51820:51820/udp"
- "{ループバックアドレスor自分自身のローカルIPアドレス}:51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
上記の設定を書き、docker compose up -dで起動するだけで動作します。
INIT_*の変数は初期設定用の変数なため、一度コンテナを起動すると別の場所に保管されます。
公式では設定完了後は削除することが推奨されています。
51820ポートはUFWなどのファイアウォールを貫通する(iptableを自動で直接書き換える)ので、UFWでの設定は不要です。
また、51821も同様に書いてしまうと貫通してしまうため、IPアドレスを指定することでUFWを通るようにしています。
$ sudo ufw allow 51821
UFWを使用している場合は上記の設定を投入することでマシンの外からGUIにアクセスすることができます。
コンテナ起動後
http://{マシンのIPアドレス}:51821でGUIにアクセス可能ですので、INIT_*変数で指定したユーザーでログインできます。
また、51820/udpポートは開けておかないと外からアクセスできないので、お使いのルーターのポートフォワーディング設定を行ってください。
一度設定を行ってしまえば、外部からVPN設定を発行したい場合もVPN経由でGUIにアクセスできるためセキュアで良いと思います。