Задать вопрос
MrTNTminer
@MrTNTminer
Пишет какую-то фигню на PHP

Как сделать домен с SSL вместо IP для WG-Easy (реп. DigneZzZ/dwg)?

Привет. Использую данный репозиторий с GitHub для VPN WireGuard --> ссылка.
Он автоматически устанавливает WireGuard + AdGuard Home (и другие компоненты), самому практически ничего не приходится делать (он скачивает старую версию WG-Easy, и поэтому в docker-compose.yml надо указывать вместо image: weejewel/wg-easy --> image: ghcr.io/wg-easy/wg-easy).

Сама суть проблемы такая: Смотря инструкцию (она в самом низу репозитория WG-Easy) с GitHub по установке SSL на домен для WG-Easy (репозиторий), я пробовал использовать Nginx (также Caddy), но потерпел поражение, и ничего не получалось. То падали контейнеры, то не запускались, или вообще ничего не происходило с ними.

Те, кто понимает и знает, как сделать доступ к панели WG-Easy не с IP, а с домена (к примеру vpn.site.com; желательно поддомен) и прикрутить к нему SSL от Let’s Encrypt, пожалуйста, помогите, я никак не могу понять, как это сделать.

Заранее спасибо за помощь ❤
  • Вопрос задан
  • 1310 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@dronmaxman
VoIP Administrator
Не забудь поменять MYEMAIL@gmail.com на свой.
version: "3"
services:
  traefik:
    image: "traefik:v2.10"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.myresolver.acme.httpchallenge=true"
      - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
      #- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
      - "--certificatesresolvers.myresolver.acme.email=MYEMAIL@gmail.com"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
#      - "8080:8080"
    volumes:
      - "./letsencrypt:/letsencrypt"
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    networks:
      private_network:
        ipv4_address: 10.2.0.120

  unbound:
    image: "mvance/unbound:1.17.0"
    container_name: unbound
    restart: unless-stopped
    hostname: "unbound"
    volumes:
      - "./unbound:/opt/unbound/etc/unbound/"
    networks:
      private_network:
        ipv4_address: 10.2.0.200

  wg-easy:
    depends_on: [unbound, adguardhome]
    environment:
      - WG_HOST=MYHOST_IP
      - PASSWORD=openode
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.10.10.x
      - WG_DEFAULT_DNS=10.2.0.100
      - WG_ALLOWED_IPS=10.2.0.0/24, 0.0.0.0/0, ::/0
      - WG_PERSISTENT_KEEPALIVE=25
      - WG_MTU=1280
    #image: ditek/wg-easy
    image: weejewel/wg-easy
    container_name: wg-easy
    volumes:
      - .:/etc/wireguard
    ports:
      - "51820:51820/udp"
#      - "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
    dns:
      - 10.2.0.100
      - 10.2.0.200
    networks:
      private_network:
        ipv4_address: 10.2.0.3
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.vpn.rule=Host(`vpn.site.com`)"
      - "traefik.http.routers.vpn.entrypoints=websecure"
      - 'traefik.http.routers.vpn.tls=true'
      - "traefik.http.routers.vpn.tls.certresolver=myresolver"
      - "traefik.http.services.vpn.loadbalancer.server.port=51821"

  adguardhome:
    depends_on: [unbound]
    image: adguard/adguardhome
    container_name: adguardhome
    restart: unless-stopped
    environment:
      - TZ=America/Los_Angeles
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    networks:
      private_network:
        ipv4_address: 10.2.0.100

networks:
  private_network:
    ipam:
      driver: default
      config:
        - subnet: 10.2.0.0/24
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы