version: "3" services: pihole: container_name: pihole image: pihole/pihole:latest expose: - "53/udp" - "53/tcp" - "80/tcp" - "443/tcp" volumes: - '${LOCAL_STACK_DIR}/etc-pihole/:/etc/pihole/' - '${LOCAL_STACK_DIR}/etc-dnsmasq.d/:/etc/dnsmasq.d/' dns: - 127.0.0.1 - ${PHOLE_DNS1} restart: unless-stopped networks: - default - piholenetwork environment: TZ: ${TZ} WEBPASSWORD: ${PHOLE_WEBPASSWORD} DNS1: ${PHOLE_DNS1} DNS2: ${PHOLE_DNS2} openvpn-dns: build: . container_name: openvpn-dns restart: unless-stopped depends_on: - pihole volumes: - ${LOCAL_STACK_DIR}/openvpn-dns/etc/openvpn:/etc/openvpn - ${LOCAL_STACK_DIR}/openvpn-dns/root:/root ports: - "${ODNS_PORT}:${ODNS_PORT}/${ODNS_PROTOCOL}" networks: - piholenetwork cap_add: - NET_ADMIN environment: PUBLICIP: ${PUBLIC_IP} PORT: ${ODNS_PORT} PROTOCOL: ${ODNS_PROTOCOL} IPV6_SUPPORT: ${ODNS_IPV6} DNS_ONLY: ${ODNS_DNS_ONLY} DNS1: ${ODNS_DNS1} # Add an IPv4 Address or a container name openvpn-general: build: . container_name: openvpn-general restart: unless-stopped depends_on: - pihole volumes: - ${LOCAL_STACK_DIR}/openvpn-general/etc/openvpn:/etc/openvpn - ${LOCAL_STACK_DIR}/openvpn-general/root:/root ports: - "${OGEN_PORT}:${OGEN_PORT}/${OGEN_PROTOCOL}" networks: - default - piholenetwork cap_add: - NET_ADMIN environment: PUBLICIP: ${PUBLIC_IP} PORT: ${OGEN_PORT} PROTOCOL: ${OGEN_PROTOCOL} IPV6_SUPPORT: ${OGEN_IPV6} DNS_ONLY: ${OGEN_DNS_ONLY} DNS1: ${OGEN_DNS1} # Add an IPv4 Address or a container name networks: default: piholenetwork: internal: true