diff --git a/containers/docker-compose.yaml b/containers/docker-compose.yaml index 469bed0..513942e 100644 --- a/containers/docker-compose.yaml +++ b/containers/docker-compose.yaml @@ -1,23 +1,46 @@ version: "3.8" services: - wg-easy: - environment: - - WG_HOST=home.marioverde.com.br - # ⚠️ Change this in Portainer configs, see README - #- PASSWORD=foobar123 - image: weejewel/wg-easy - container_name: wg-easy - hostname: wg-easy - volumes: - - ~/.wg-easy:/etc/wireguard - ports: - - "51820:51820/udp" - - "51821:51821/tcp" - restart: unless-stopped + wireguard: + image: linuxserver/wireguard:latest + container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE sysctls: - net.ipv4.ip_forward=1 - - net.ipv4.conf.all.src_valid_mark=1 \ No newline at end of file + - net.ipv4.conf.all.src_valid_mark=1 + volumes: + - ./config:/config + ports: + # port for wireguard-ui. this must be set here as the `wireguard-ui` container joins the network of this container and hasn't its own network over which it could publish the ports + - "5000:5000" + # port of the wireguard server + - "51821:51820/udp" + + wireguard-ui: + image: ngoduykhanh/wireguard-ui:latest + container_name: wireguard-ui + depends_on: + - wireguard + cap_add: + - NET_ADMIN + # use the network of the 'wireguard' service. this enables to show active clients in the status page + network_mode: service:wireguard + environment: + - SENDGRID_API_KEY + - EMAIL_FROM_ADDRESS + - EMAIL_FROM_NAME + - SESSION_SECRET + - WGUI_USERNAME=admin + - WGUI_PASSWORD=admin + - WG_CONF_TEMPLATE + - WGUI_MANAGE_START=true + - WGUI_MANAGE_RESTART=true + logging: + driver: json-file + options: + max-size: 50m + volumes: + - ./db:/app/db + - ./config:/etc/wireguard \ No newline at end of file