# Configuration for pihole-unbound setup

# Name of the big-bear-pihole-unbound application
name: big-bear-pihole-unbound
# Service definitions for the big-bear-pihole-unbound application
services:
  # Service name: app
  # The `app` service definition
  app:
    # Name of the container
    container_name: big-bear-pihole-unbound
    # Image to be used for the container
    image: bigbeartechworld/big-bear-pihole-unbound:2026.06.0
    # Container restart policy
    restart: unless-stopped
    # Environment variables
    environment:
      TZ: "America/Chicago"
      FTLCONF_webserver_api_password: "your_password"
      FTLCONF_dns_upstreams: "127.0.0.1#5353" # Use Unbound IPs delimited by ; ex: 8.8.8.8;8.8.4.4
    # Volumes to be mounted to the container
    volumes:
      # Mounting the local /DATA/AppData/$AppID/etc directory to /etc/pihole/ inside the container
      - /DATA/AppData/$AppID/etc:/etc/pihole/
      # Mounting the local /DATA/AppData/$AppID/dnsmasq.d directory to /etc/dnsmasq.d inside the container
      - /DATA/AppData/$AppID/dnsmasq.d:/etc/dnsmasq.d/
    # Ports mapping between host and container
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "67:67/udp"
      - "8080:80/tcp"
      - "10443:443/tcp"
    networks:
      # Define the network for pihole-unbound
      - pihole-unbound-network # Name of the network used by pihole-unbound
    x-casaos:
      envs:
        - container: TZ
          description:
            en_us: 'Container Variable: TZ'
        - container: FTLCONF_webserver_api_password
          description:
            en_us: 'Container Variable: FTLCONF_webserver_api_password'
        - container: FTLCONF_dns_upstreams
          description:
            en_us: 'Container Variable: FTLCONF_dns_upstreams'
      volumes:
        - container: /etc/pihole/
          description:
            en_us: 'Container Path: /etc/pihole/'
        - container: /etc/dnsmasq.d/
          description:
            en_us: 'Container Path: /etc/dnsmasq.d/'
      ports:
        - container: "53"
          description:
            en_us: 'Container Port: 53'
        - container: "53"
          description:
            en_us: 'Container Port: 53'
        - container: "67"
          description:
            en_us: 'Container Port: 67'
        - container: "80"
          description:
            en_us: 'Container Port: 80'
        - container: "443"
          description:
            en_us: 'Container Port: 443'
# Define the networks section
networks:
  # Define the pihole-unbound-network
  pihole-unbound-network:
    # Set the network driver to bridge
    driver: bridge
x-casaos:
  # Supported CPU architectures for this application
  architectures:
    - amd64
    - arm64
  # Main service for this application
  main: app
  # Detailed description for the application
  description:
    en_us: This is a custom pihole and unbound setup.
  # Brief tagline for the application
  tagline:
    en_us: Pi-hole and Unbound
  # Developer's information
  developer: bigbeartechworld
  # Author of this particular configuration
  author: BigBearTechWorld
  # Icon URL for the application
  icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/pi-hole-unbound.png
  # Thumbnail image for the application (if any)
  thumbnail: ""
  # Title for the application
  title:
    en_us: Pi-hole and Unbound
  # Category under which the application falls
  category: BigBearCasaOS
  # Default port mapping for the application
  port_map: "8080"
