[Solved] Issues with 2023.01.8 and 2023.01.9?

I can't get Pi-Hole to start with the 2023.01.8 or 2023.01.9 Docker releases. 2023.01.6 still works fine. I see this repeating error in the log about lightttpd. Is this related?

No, shouldn't be related... (I'll split your reply out to another topic) Can we get some more information about your configuration please?

What does your compose file look like? Do you have any additional lighttpd configs? Could you run pihole -d inside your container and supply the debug token?

Here's my Docker compose files, which has been working fine until the last two container releases:

version: "3.8"

# More info at https://github.com/pi-hole/docker-pi-hole/ and https://docs.pi-hole.net/
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
    # (2023-01-18, WR) - removed ports, using network_mode host below
    #ports:
    #  - "53:53/tcp"
    #  - "53:53/udp"
    #  - "67:67/udp" # Only required if you are using Pi-hole as your DHCP server
    #  - "80:80/tcp"
    environment:
      - TZ=America/New_York
      - WEBPASSWORD=<redacted>
      - FTLCONF_LOCAL_IPV4=192.168.1.11
      - PIHOLE_UID=1029
      - PIHOLE_GID=100
      - WEB_UID=1029
      - WEB_GID=100
      - DNSMASQ_LISTENING=local
      - WEB_PORT=8111
      - DNSMASQ_USER=root
      - INTERFACE=bond0
      - TEMPERATUREUNIT=f
    # Volumes store your data between container upgrades
    volumes:
      - /volume1/docker/pihole/etc/pihole:/etc/pihole
      - /volume1/docker/pihole/etc/dnsmasq.d:/etc/dnsmasq.d
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    #cap_add:
    # - NET_ADMIN # Required if you are using Pi-hole as your DHCP server, else not needed
    network_mode: host
    restart: unless-stopped

I'm running Docker on my Synology NAS, no DHCP (handled separately). I'll try the debug mode next.

Thanks!

Have just tried this exact config on my Synology Nas (DSM7) and it is working fine (obviously I switched the IP address out for my own...)

A couple things to note, though, on the WEB/PIHOLE UID/GID per:

They should not be the same values. If you're having issues with permissions, you might have better luck with named volumes rather than host mounts. Permissions in named volumes generally "just work"

Also if you're setting DNSMASQ_USER to root, you probably don't need to be setting those PID/GID values separately.

Could you set the environment variable PH_VERBOSE to 1 and then start the container again? Should give us a bit more output.

Ah, geez. So I had set WEB/PIHOLE UID/GID based on my other containers which run as a limited user on the Synology. I commented those four lines out of my Docker compose file and the 2023.01.9 release started just fine. Not sure how/why that was working before but definitely user error on my part.

Thanks for the quick replies.

Worth looking into Portainer on the Syno, btw - I have found it a much nicer way to manage containers. And if you're not married to host networking, give macvlan a try - that way you can give the container it's own (real) address on your network.

My portainer stack yaml looks like:

version: '3.3'
services:

  pihole:
    container_name: pihole
    hostname: ${PIHOLE_HOSTNAME}
    image: pihole/pihole:${PIHOLE_TAG}
    environment:
      TZ: europe/London
      FTLCONF_LOCAL_IPV4: ${PIHOLE_IP}
      FTLCONF_PIHOLE_PTR: ${PIHOLE_PTR}
      REV_SERVER: 'true'
      REV_SERVER_DOMAIN: ${REV_SERVER_DOMAIN}
      REV_SERVER_TARGET: ${REV_SERVER_TARGET}
      REV_SERVER_CIDR: ${REV_SERVER_CIDR}
      SKIPGRAVITYONBOOT: ${SKIPGRAVITYONBOOT}
      PIHOLE_DNS_: ${PIHOLE_DNS_}
      WEBPASSWORD: ${WEBPASSWORD}
      DNSMASQ_USER: ${DNSMASQ_USER}
      VIRTUAL_HOST: ${VIRTUAL_HOST}
    volumes:
      - pihole_etc_pihole:/etc/pihole/
      - pihole_etc_dnsmasqd:/etc/dnsmasq.d/
    cap_add:
      - NET_ADMIN
    mac_address: ${PIHOLE_MAC}
    dns:
     - 8.8.8.8
    networks:
      home:
        ipv4_address: ${PIHOLE_IP}
    restart: always

networks:
  home:
    external: true

volumes:
  pihole_etc_pihole:
  pihole_etc_dnsmasqd:

And then I just set the variables in portainer's front end to correspond to the ones I want in the container

1 Like

Thanks. I'm relatively new to Docker and have been meaning to check out Portainer and the macvlan stuff. Guess that will be my next project. :slight_smile: