gluon-supernode-docker/docker-compose.yml

110 lines
2.1 KiB
YAML

version: '2.4'
services:
batman:
build: batman/
env_file: .env
cap_add:
- NET_ADMIN
sysctls:
- net.ipv6.conf.default.disable_ipv6=0
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.forwarding=1
- net.ipv6.conf.all.forwarding=1
- net.ipv4.conf.all.src_valid_mark=1
volumes:
- type: bind
source: ./wg0.conf
target: /wireguard.conf
read_only: true
ports:
- 10000:10000/udp
#privileged: true
wireguard:
build: wireguard/
env_file: .env
cap_add:
- NET_ADMIN
sysctls:
- net.ipv6.conf.default.disable_ipv6=0
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.forwarding=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0
volumes:
- type: bind
source: ./wg0.conf
target: /wireguard.conf
read_only: true
networks:
vpn_frontend:
ipv4_address: 172.28.0.2
ipv6_address: fc00:172:28::2
fastd:
build: fastd/
env_file: .env
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
network_mode: service:batman
depends_on:
- batman
dhcpd_v4:
build: dhcpd/
env_file: .env
environment:
DHCPD_MODE: 4
cap_add:
- NET_ADMIN
network_mode: service:batman
volumes:
- dhcpd_v4_leases:/var/lib/dhcp
depends_on:
- batman
dhcpd_v6:
build: dhcpd/
env_file: .env
environment:
DHCPD_MODE: 6
cap_add:
- NET_ADMIN
network_mode: service:batman
volumes:
- dhcpd_v6_leases:/var/lib/dhcp
depends_on:
- batman
radvd:
build: radvd/
env_file: .env
cap_add:
- NET_ADMIN
network_mode: service:batman
debug:
build: debug/
cap_add:
- NET_ADMIN
- SYS_ADMIN
network_mode: service:batman
privileged: true
volumes:
dhcpd_v4_leases:
dhcpd_v6_leases:
networks:
vpn_frontend:
enable_ipv6: yes
ipam:
driver: default
config:
- subnet: "172.28.0.0/24"
- subnet: "fc00:172:28::/64"