Gateway/docker-compose.yml

61 lines
1.9 KiB
YAML
Raw Permalink Normal View History

version: "3.3"
services:
# Route via Traefik
router-traefik:
image: "traefik:v2.10"
env_file:
- .env
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--entrypoints.wireguard.address=:51820"
- "--certificatesresolvers.exitNode.acme.tlschallenge=true"
- "--certificatesresolvers.exitNode.acme.email=devops@lt.hn"
- "--certificatesresolvers.exitNode.acme.storage=/letsencrypt/acme.json"
- "--experimental.plugins.ldapAuth.modulename=github.com/wiltonsr/ldapAuth"
- "--experimental.plugins.ldapAuth.version=v0.0.22"
ports:
- "443:443"
- "80:8080"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
# Wireguard VPN
vpn-wireguard:
image: linuxserver/wireguard:latest
cap_add:
- NET_ADMIN
- SYS_MODULE #optional
env_file:
- .env
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- SERVERURL=$NODE_HOSTNAME #optional
- SERVERPORT=51820 #optional
#- PEERS=1 #uncomment if wishing to not set usernames and only set a random number of peers.
- PEERDNS=auto #optional
- INTERNAL_SUBNET=10.13.13.0 #optional
- ALLOWEDIPS=0.0.0.0/0 #optional
- PERSISTENTKEEPALIVE_PEERS= #optional
- LOG_CONFS=true #optional
volumes:
- ./config:/config
- /lib/modules:/lib/modules #optional
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
labels:
- "traefik.enable=true"
- "traefik.udp.routers.wireguard.rule=HostRegexp(`${SERVER_CNAME_NAMESPACE}`, `{subdomain:[a-z]+}.${SERVER_CNAME_NAMESPACE}`)"
- "traefik.udp.routers.wireguard.entrypoints=wireguard"
restart: unless-stopped