OpenMediaVault Docker v4.1, not working

I have just installet it and it isen't working.
V4.0 worked just fine, am i the only one with that problem?

1 Like

Same here. Mine seems to be in a restart loop, according to docker ps:

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                                 PORTS               NAMES
a03c1ce61fca        pihole/pihole:latest                  "/s6-init"               4 minutes ago       Up About a minute (health: starting)                       pihole

What was your docker run command / arguments and what do docker logs say?

docker run:

docker run -d \
   --name pihole \
   --net=host \
    -v "${DOCKER_CONFIGS}/pihole/:/etc/pihole/" \
    -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" \
    -e ServerIP="${IP}" \
    -e TZ="America/Toronto" \
    -e WEBPASSWORD= \
    -e DNS1=1.1.1.1 \
    -e DNS2=1.1.1.1 \
    --restart=always \
    pihole/pihole:latest

docker logs pihole (I'm not sure where this starts and ends, but I grabbed what looked like a complete set):

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] 01-resolver-resolv: applying...
[fix-attrs.d] 01-resolver-resolv: exited 0.
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 20-start.sh: executing...
stty: 'standard input': Inappropriate ioctl for device
 ::: Starting docker specific setup for docker pihole/pihole
stty: 'standard input': Inappropriate ioctl for device
  [i] Existing PHP installation detected : PHP version 7.0.33-0+deb9u1

  [i] Installing configs from /etc/.pihole...
  [i] Existing dnsmasq.conf found... it is not a Pi-hole file, leaving alone!
  [✓] Copying 01-pihole.conf to /etc/dnsmasq.d/01-pihole.conf
chown: cannot access '/etc/pihole/dhcp.leases': No such file or directory

  [✓] Password Removed
Docker DNS variables not used
Existing DNS servers used
DNSMasq binding to default interface: eth0
Added ENV to php:
			"PHP_ERROR_LOG" => "/var/log/lighttpd/error.log",
			"ServerIP" => "192.168.0.3",
			"VIRTUAL_HOST" => "192.168.0.3",
Using IPv4 and IPv6
::: Preexisting ad list /etc/pihole/adlists.list detected ((exiting setup_blocklists early))
# The below list amalgamates several lists we used previously.
# See `https://github.com/StevenBlack/hosts` for details
##StevenBlack's list
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

##MalwareDomains
https://mirror1.malwaredomains.com/files/justdomains

##Cameleon
http://sysctl.org/cameleon/hosts

##Zeustracker
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist

##Disconnect.me Tracking
https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt

##Disconnect.me Ads
https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt

##Hosts-file.net
https://hosts-file.net/ad_servers.txt

::: Testing pihole-FTL DNS: FTL started!
::: Testing lighttpd config: Syntax OK
::: All config checks passed, cleared for startup ...
 ::: Docker start setup complete
  [i] Pi-hole blocking is enabled
  [✗] DNS service is not running
  [✗] DNS resolution is not available
[cont-init.d] 20-start.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Try adding --dns 127.0.0.1 --dns 1.1.1.1 (not to be confused with the -e DNS1/DNS2 args)

No change, it still seems to be looping:

CONTAINER ID        IMAGE                                 COMMAND                  CREATED             STATUS                                 PORTS               NAMES
af87c3e6ba91        pihole/pihole:latest                  "/s6-init"               4 minutes ago       Up About a minute (health: starting)                       pihole

There has to be something wrong with 4.1, as I cannot get it to install into a LXC container (regardless of the OS I choose) on a Turris Omnia router.

How can I revert to version 4.0 of the docker image until this gets resolved?

Edit: Found it -- docker pull pihole/pihole:4.0.0-1

@michaeldavie did you properly destroy your old container and re-create it with --dns 127.0.0.1 --dns 1.1.1.1 ? That is the fix to the issue which causes the error you had:

  [✗] DNS service is not running
  [✗] DNS resolution is not available

I don't recall seeing that error for any other reason.

Yes, I did. I typically use Watchtower to automatically update my containers, and it handles the teardown and recreation. In this case I also manually destroyed the old container with docker kill pihole && docker rm pihole and stood up a new one.

The problem appears to be specific the v4.1 release, and the --dns lines don't seem to have any effect. The v4.0 image works fine with our without them, while the v4.1 image is broken with or without them.

I usually add in a docker run -it --entrypoint=bash in front of the dockr run command and then manually run bash -ex /start.sh to see if that results in the same problem.

From there you can see if running pihole-FTL debug manually starts it up OK or has any errors/crashing. That's the top suspect since it says DNS is not running, but it could be running but just not detecting it properly too.

Another really simple debug step is remove your volume mounts to see if it is happier with stock /etc/pihole and /etc/dnsmasq.d

Has any body got it working? and if so, how?
I use watchtower also, and it messed it up

No, I just reverted to 4.0. There are a few threads pointing out problems with 4.1, but no resolutions yet.

I got it working now. I added dns to extra arguments and set it up to use port 90

--dns=127.0.0.1 --dns=1.1.1.1

I might add a check with a big fat "WARNING" if these settings aren't detected. At this point I feel like they're practically required.

I played around some more and got mine working by adding --dns=1.1.1.1 but leaving out --dns=127.0.0.1:

IP="192.168.0.3"
DOCKER_CONFIGS="/home/core/pihole"

docker run -d \
    --name pihole \
    --restart=always \
    --dns=1.1.1.1 \
    -p 53:53/tcp -p 53:53/udp \
    -p 80:80 \
    -p 443:443 \
    -v "${DOCKER_CONFIGS}/pihole/:/etc/pihole/" \
    -v "${DOCKER_CONFIGS}/dnsmasq.d/:/etc/dnsmasq.d/" \
    -e ServerIP="${IP}" \
    -e TZ="America/Toronto" \
    -e WEBPASSWORD= \
    -e DNS1=1.1.1.1 \
    -e DNS2=1.1.1.1 \
    pihole/pihole:latest

I can see that there is an update. I have watch tower installed, but it's not updating pi-hole. Others that have noticed that?

When I originally saw your post, it looked like there had been a new release for Pi-hole, but that the Docker image hadn't been updated yet, according to the tags list. There's sometimes a lag between the two.

However, it looks like there is a new Docker image now, and Watchtower correctly updated mine 38 hours ago so it seems to be on track.

It seems to have updated overnight, and now the GUI shows "Lost connection to API" and "FTL not running". I'm not sure what changed...are there any release notes?

The log shows this over and over again:

Starting pihole-FTL (no-daemon)
Stopping pihole-FTL
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
Starting pihole-FTL (no-daemon)
Stopping pihole-FTL
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]