mirror of https://github.com/wg-easy/wg-easy
committed by
GitHub
1 changed files with 46 additions and 12 deletions
@ -1,16 +1,47 @@ |
|||||
|
#--- |
||||
|
# wg-easy-ip-tls - docker-compose.yml |
||||
|
# TLS certificate modes: |
||||
|
# AUTO: Set LEGO_EMAIL + LEGO_IP to have lego obtain certs |
||||
|
# automatically inside the container. |
||||
|
# MANUAL: Pre-provision certs on the host and mount them. |
||||
|
# Add a lego_data volume for cert persistence (AUTO). |
||||
|
# See README.md for full usage instructions. |
||||
|
#--- |
||||
volumes: |
volumes: |
||||
etc_wireguard: |
etc_wireguard: |
||||
|
lego_data: # Persists lego account + cert data across restarts |
||||
|
|
||||
services: |
services: |
||||
wg-easy: |
wg-easy: |
||||
#environment: |
image: ghcr.io/platon47/wg-easy-ip-tls:latest |
||||
# Optional: |
# build: . # uncomment to build locally instead |
||||
# - PORT=51821 |
# image: ghcr.io/platon47/wg-easy-ip-tls:stable # use stable tag as rollback |
||||
# - HOST=0.0.0.0 |
|
||||
# - INSECURE=false |
|
||||
|
|
||||
image: ghcr.io/wg-easy/wg-easy:15 |
|
||||
container_name: wg-easy |
container_name: wg-easy |
||||
|
environment: |
||||
|
# -- Core settings --- |
||||
|
- PORT=51821 |
||||
|
- HOST=0.0.0.0 |
||||
|
- INSECURE=false |
||||
|
- LEGO_ENABLED=true # enables TLS |
||||
|
|
||||
|
# -- AUTO cert mode (lego obtains cert inside container) --- |
||||
|
# Uncomment and fill in to enable automatic cert issuance: |
||||
|
# - [email protected] |
||||
|
# - LEGO_IP=YOUR_SERVER_PUBLIC_IP |
||||
|
# - LEGO_CHALLENGE=http # or: tls-alpn (needs port 443) |
||||
|
# - LEGO_DATA_DIR=/root/lego-data # default |
||||
|
# - LEGO_RENEW_INTERVAL=432000 # renewal check in seconds (5 days) |
||||
|
|
||||
|
# -- MANUAL cert mode (mount certs from host) --- |
||||
|
# Pre-provision certs: chmod 600 /root/cert/ip/privkey.pem |
||||
|
# Then mount: /root/cert/ip:/root/cert/ip:ro (see volumes below) |
||||
|
|
||||
|
# -- Optional: WireGuard settings --- |
||||
|
# - WG_HOST=111.22.3.4 # set via Web UI (v15+) |
||||
|
# - PASSWORD_HASH= # set via Web UI (v15+) |
||||
|
# - WG_DEFAULT_DNS=1.1.1.1 |
||||
|
# - WG_DEFAULT_ADDRESS=10.8.0.x |
||||
|
# - WG_MTU=1420 |
||||
networks: |
networks: |
||||
wg: |
wg: |
||||
ipv4_address: 10.42.42.42 |
ipv4_address: 10.42.42.42 |
||||
@ -18,14 +49,18 @@ services: |
|||||
volumes: |
volumes: |
||||
- etc_wireguard:/etc/wireguard |
- etc_wireguard:/etc/wireguard |
||||
- /lib/modules:/lib/modules:ro |
- /lib/modules:/lib/modules:ro |
||||
|
# MANUAL mode: mount pre-provisioned cert (read-only) |
||||
|
# - /root/cert/ip:/root/cert/ip:ro |
||||
|
# AUTO mode: persist lego account and cert data |
||||
|
- lego_data:/root/lego-data |
||||
ports: |
ports: |
||||
- "51820:51820/udp" |
- "51820:51820/udp" # WireGuard VPN |
||||
- "51821:51821/tcp" |
- "51821:51821/tcp" # wg-easy admin UI (HTTPS) |
||||
|
- "80:80/tcp" # Required for LEGO http-01 challenge (AUTO mode) |
||||
restart: unless-stopped |
restart: unless-stopped |
||||
cap_add: |
cap_add: |
||||
- NET_ADMIN |
- NET_ADMIN |
||||
- SYS_MODULE |
- SYS_MODULE |
||||
# - NET_RAW # ⚠️ Uncomment if using Podman |
|
||||
sysctls: |
sysctls: |
||||
- net.ipv4.ip_forward=1 |
- net.ipv4.ip_forward=1 |
||||
- net.ipv4.conf.all.src_valid_mark=1 |
- net.ipv4.conf.all.src_valid_mark=1 |
||||
@ -35,10 +70,9 @@ services: |
|||||
|
|
||||
networks: |
networks: |
||||
wg: |
wg: |
||||
driver: bridge |
|
||||
enable_ipv6: true |
enable_ipv6: true |
||||
|
driver: bridge |
||||
ipam: |
ipam: |
||||
driver: default |
|
||||
config: |
config: |
||||
- subnet: 10.42.42.0/24 |
- subnet: 10.42.42.0/24 |
||||
- subnet: fdcc:ad94:bacf:61a3::/64 |
- subnet: fdcc:ad94:bacf:61a3::/64 |
||||
|
|||||
Loading…
Reference in new issue