name: phoboswg
volumes:
phobos_etc_wireguard:
phobos_sqlite_data:
phobos_caddy_data:
phobos_caddy_config:
services:
phobos:
image: ${WG_EASY_IMAGE:-ghcr.io/ground-zerro/phobos:latest}
container_name: phobos
environment:
- WG_HOST=${WG_HOST:-}
- TLS_TERMINATION=external
- INIT_ENABLED=${INIT_ENABLED:-false}
- INIT_USERNAME=${INIT_USERNAME:-}
- INIT_PASSWORD=${INIT_PASSWORD:-}
- INIT_HOST=${INIT_HOST:-}
networks:
wg:
ipv4_address: 10.42.42.42
ipv6_address: fdcc:ad94:bacf:61a3::2a
volumes:
- phobos_etc_wireguard:/etc/wireguard
- phobos_sqlite_data:/app/server/data
- /lib/modules:/lib/modules:ro
- ./certs:/app/certs:ro
ports:
- "51822-51921:51822-51921/udp"
- "51822-51921:51822-51921/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv6.conf.all.disable_ipv6=0
- net.ipv6.conf.all.forwarding=1
- net.ipv6.conf.default.forwarding=1
caddy:
image: caddy:2-alpine
container_name: phobos-caddy
restart: unless-stopped
depends_on:
- phobos
networks:
- wg
ports:
- "${HTTP_REDIRECT_PORT:-8080}:80"
- "${HTTPS_PORT:-8443}:443"
volumes:
- ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile:ro
- ./certs:/etc/caddy/certs:ro
- phobos_caddy_data:/data
- phobos_caddy_config:/config
networks:
wg:
driver: bridge
enable_ipv6: true
ipam:
driver: default
config:
- subnet: 10.42.42.0/24
- subnet: fdcc:ad94:bacf:61a3::/64