Ground-Zerro / Phobos Public
Code Issues Pull requests Actions Releases View on GitHub ↗
1.7 KB yaml
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