version: "3.8"

services:
  wireguard:
    image: linuxserver/wireguard:latest
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Tokyo
      - SERVERURL=auto  # 自動でサーバーのパブリックIPを検出
      - SERVERPORT=51820  # WireGuardのポート
      - PEERS=5  # 作成するクライアント設定の数
      - PEERDNS=auto  # 自動でDNSを設定
      - INTERNAL_SUBNET=10.13.13.0  # 内部ネットワークのサブネット
      - ALLOWEDIPS=0.0.0.0/0  # 全てのトラフィックをVPN経由にする
      - LOG_CONFS=true  # 設定ログを有効化
    volumes:
      - ./wireguard/config:/config
      - /lib/modules:/lib/modules:ro
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped 