Docker lost all stacks, all containers, all networks after reboot

First, let me explain the background. I run pihole and caddy as docker containers. Hence I have to add a macvlan with a post-init script as the following:

#!/usr/bin/bash

set -x
# creagte a mvlan0 interface
ip link add mvlan0 link bond0 type macvlan mode bridge
# add address for mvlan0
ip addr add 10.27.0.198/32 dev mvlan0
# bring it up
ip link set mvlan0 up
# add a route to the macvlan subnet via the mvlan0 interface
ip route add 10.27.0.192/29 dev mvlan0

And in order to use the macvlan created above, I have add a network in the docker with the following command:

docker network create \
	-d macvlan \
	-o parent=bond0 \
	--subnet 10.27.0.0/24 \
	--gateway 10.27.0.1 \
	--ip-range 10.27.0.192/29 \
	--aux-address 'host=10.27.0.198' \
	poker

Now every time TrueNAS machine reboot, the docker loses all stacks, all containers and all networks as demonstrated by the following commands:

$ sudo docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
$ sudo docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8787328c7df2   bridge    bridge    local
3d0cef1ad81a   host      host      local
9443873ae1bf   none      null      local

They come back after performing Unset Pool and Choose Pool on the Appsconfiguration via WebUI.

$ sudo docker ps -a
CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS                        PORTS     NAMES
76033d60199b   linuxserver/homeassistant:latest         "/init"                  29 minutes ago   Exited (137) 20 minutes ago             homeassistant
f4195f995b2a   plexinc/pms-docker:beta                  "/init"                  30 minutes ago   Exited (128) 20 minutes ago             plex
8b376a093a3d   linuxserver/tautulli:latest              "/init"                  30 minutes ago   Exited (128) 21 minutes ago             tautulli
dcf632195074   teddysun/v2ray:latest                    "/usr/bin/v2ray run …"   30 minutes ago   Exited (128) 21 minutes ago             v2ray
4ee01cc5818e   beatkind/watchtower:latest               "/watchtower"            31 minutes ago   Exited (1) 21 minutes ago               watchtower
fb23ecbb9210   portainer/agent:latest                   "./agent"                31 minutes ago   Exited (2) 21 minutes ago               portainer_agent
29f26eb9e905   nicolargo/glances:latest                 "/config/custom-entr…"   31 minutes ago   Up 2 minutes (healthy)                  glances
a5e957de188b   ghcr.io/blakeblackshear/frigate:stable   "/init"                  35 minutes ago   Exited (137) 20 minutes ago             frigate
674c3f34fa49   caddy:latest                             "caddy run --config …"   37 minutes ago   Exited (128) 21 minutes ago             caddy
b02d867e9e0c   pihole/pihole:latest                     "start.sh"               37 minutes ago   Exited (128) 20 minutes ago             pihole
a6302c85de31   portainer/portainer-ce:latest            "/portainer"             39 minutes ago   Exited (2) 21 minutes ago               portainer
600b5f3c453e   baneofserenity/dockge:latest             "/usr/bin/dumb-init …"   41 minutes ago   Exited (128) 21 minutes ago             dockge

However, the containers still fail to start due to the fact that the network id is different from they were composed.

I have to go through docker compose down and docker compose up for each container in order to get they up again.

What is the proper way to get them up properly?

Environment:

  • TrueNAS version: 25.04.2.4
  • CPU: Intel Core i3 1340P

docker journal:

$ sudo journalctl -xeu docker.service
░░ Subject: A stop job for unit docker.service has begun execution
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A stop job for unit docker.service has begun execution.
░░ 
░░ The job identifier is 1662.
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.486804920+01:00" level=info msg="Processing signal 'terminated'"
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.523812752+01:00" level=info msg="ignoring event" container=29f26eb9e905e1dd585e3265b49582ddc0bc8>
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.539956409+01:00" level=warning msg="ShouldRestart failed, container will not be restarted" conta>
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.792860525+01:00" level=info msg="stopping event stream following graceful shutdown" error="<nil>>
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.793636459+01:00" level=info msg="Daemon shutdown complete"
Oct 15 22:16:51 nuc13 dockerd[9340]: time="2025-10-15T22:16:51.793731790+01:00" level=info msg="stopping event stream following graceful shutdown" error="conte>
Oct 15 22:16:56 nuc13 dockerd[9340]: time="2025-10-15T22:16:56.794239761+01:00" level=error msg="Error shutting down http server" error="context canceled"
Oct 15 22:16:56 nuc13 systemd[1]: docker.service: Deactivated successfully.
░░ Subject: Unit succeeded
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit docker.service has successfully entered the 'dead' state.
Oct 15 22:16:56 nuc13 systemd[1]: Stopped docker.service - Docker Application Container Engine.
░░ Subject: A stop job for unit docker.service has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A stop job for unit docker.service has finished.
░░ 
░░ The job identifier is 1662 and the job result is done.
Oct 15 22:16:56 nuc13 systemd[1]: docker.service: Consumed 3.765s CPU time.
░░ Subject: Resources consumed by unit runtime
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit docker.service completed and consumed the indicated resources.
Oct 15 22:16:56 nuc13 systemd[1]: docker.service: Start request repeated too quickly.
Oct 15 22:16:56 nuc13 systemd[1]: docker.service: Failed with result 'start-limit-hit'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ The unit docker.service has entered the 'failed' state with result 'start-limit-hit'.
Oct 15 22:16:56 nuc13 systemd[1]: Failed to start docker.service - Docker Application Container Engine.
░░ Subject: A start job for unit docker.service has failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░ 
░░ A start job for unit docker.service has finished with a failure.
░░ 
░░ The job identifier is 1662 and the job result is failed.