Can't access PiHole locally

Hello everybody,

I have the following Problem.

I recently installed balenaOS on my Raspberry Pi 3 with CUPS and PiHole.
The CUPS interface is accessible at my local IP (192.168.2.103) with Port 8080.

The PiHole interface also works, but is only accessible from the public device URL.
I cannot access my Pi from its local IP.

I never touched the interface, only changed the password with pihole -a -p.

How can I access the interface? Because I really don’t want a Public URL.

Thanks previously.

PS: Sorry for bad english. I am german

Hi,
the public device URL reads HTTP input from the device’s port 80, could you please check whether you are able to access that one? Are there any other ports that you need to access (as I understand PiHole provides more) and are they exposed in your docker-compose?

Hi,
Sorry that I reply so late, had to do much.

When I go to my Pi’s IP, and try to connect to Port 80, nothing happens, I can only connect via the Public URL.

My docker-compose does not list more ports, except port 5053 for dnscrypt-proxy, do I need more?

As mentioned, the Public Device URL will tunnel to the device on port 80. I can only assume that something has caused the port to be bound to an interface which isn’t the LAN. Have you mixed the compose file to have CUPS and PiHole together? If so, could you share the compose file here so we can take a look.

Here is my docker-compose:

version: '2.1'

volumes: 
    cups:
    pihole_config:
    dnsmasq_config:
    dnscrypt_config:

services: 
    pihole:
        build: ./pihole
        privileged: true
        volumes: 
            - 'pihole_config:/etc/pihole'
            - 'dnsmasq_config:/etc/dnsmasq.d'
        dns: 
            - '127.0.0.1'
            - '1.1.1.1'
        network_mode: host

    dnscrypt-proxy:
        build: ./dnscrypt-proxy
        volumes: 
            - 'dnscrypt_config:/config'
        ports: 
            - '5053:5053/udp'

    cups:
        build: ./cups
        ports: 
            - '80'
        privileged: true
        restart: always
        network_mode: host
        volumes: 
            - 'cups:/etc/cups'
        labels: 
            io.balena.features.kernel-modules: '1'
            io.balena.features.firmware: '1'
            io.balena.features.dbus: '1'
            io.balena.features.supervisor-api: '1'
            io.balena.features.balena-api: '1'

However, I changed the port from cups using it’s configuration file.

Yeah, that’s not going to work.

Firstly, when using the host network mode, the ports definition isn’t active. So either drop the host network from CUPS or map the port correctly.

Your PiHole is also using the host network, so you probably have some conflict there on port 80 due to the way your CUPS is being defined. I would start there and sort out the compose first, then see what the situation is.

OK, I’ll try that out, when I am back from holiday, because I don’t think I can do it right now.

So what I have to do? Change that network mode?

I would advise you to read up on how networking in Docker works. I would suggest putting the CUPS service into the bridge and mapping the port you need to host.

So write network_mode: bridged into the cups service and port: 8080:8080 when I what the cups interface on port 8080?

you don’t need to the network mode.

Really, I urge you to read up on how networking works in docker/compose otherwise it will not make sense :+1: