Navidrome container does not auto restart when my PC reboots

During the last couple of weeks, I started noticing there is a single container that does not automatically restart when my PC reboots. Is this going to be a container issue (i.e. I need to contact the devs of the container) or is this a Docker issue? I am unsure of how to begin troubleshooting this. Are there logs I can look for somewhere to see what’s going on?

Below is the compose file I have been using, which previously had no issues. I’ve also tried changing the restart value to unless-stopped and that does not work either.

name: music
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: always
    ports:
      - "4533:4533"

You can try

docker desktop logs

Or using the troubleshooting guide which can help to generate many log files including daemon logs

If you have any way to test the image in a separate virtual machine, that could also help to identify if it is a Docker Desktop issue or not. It could still be a Docker issue, if not Docker Desktop issue, but you could be one step closer.

If we can find out what happens with your single container from that specific image, that could also help with many other reports, but so far, we could not reproduce restart policy issues.

If we can’t solve it and it turns out to be a bug, you could also report it the way the Troubleshooting guide recommends.

Thanks! I appreciate your help and this thread almost auto closed because I never got any notification of your response.

While I was unable to specifically find anything in the docker logs, your suggestion lead me to clicking around in the right places that eventually lead me to my problem.

I am mounting a network drive to Navidrome which I did not include in the original config. Honestly didn’t think it was the issue. This is the error I am seeing in Docker when I click on the “Inspect” tab of the container. I originally assumed this section was blank unless the container loads. Apparently not the case.

"State": {
		"Status": "exited",
		"Running": false,
		"Paused": false,
		"Restarting": false,
		"OOMKilled": false,
		"Dead": false,
		"Pid": 0,
		"ExitCode": 255,
		"Error": "error while mounting volume '/var/lib/docker/volumes/navidrome_[redacted]/_data': failed to mount local volume: mount //192.168.x.x/e/music:/var/lib/docker/volumes/navidrome_[redacted]/_data, data: addr=192.168.x.x,username=[redacted],password=********: interrupted system call",
		"StartedAt": "2025-12-12T20:59:05.260453123Z",
		"FinishedAt": "2025-12-12T21:01:24.580831Z"
	},

The container starts just fine when I manually restart it. Also to test and confirm my issue, I removed this volume mount and restarted my PC to test and the container auto started just fine. Seems like the issue is potentially being caused because Docker Desktop has not fully booted. Are there any configs I can include in my yaml to fix this issue?

Here is my entire config, apologies for not showing it in entirety before.

name: navidrome
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    restart: always
    ports:
      - "4533:4533"
    environment:
      ND_LOGLEVEL: debug
      ND_REVERSEPROXYWHITELIST: [redacted]
    volumes:
      - ./data:/data       
      - music_box:/music/music_box:ro

volumes:
  music_box:
    driver_opts:
      type: cifs
      o: "addr=192.168.x.x,username=[redacted],password=[redacted]"
      device: "//Musicpc/e/music"
1 Like

I am not sure why, but you could check “preferences / Emails” on your profile. Or maybe it was a temporary error. In any case, good that you came back.

To be honest, I didn’t even remember this field at all.

Do you assume that when Docker Desktop starts, its networking-related components are not started yet? Possible, but I would think that rebooting the machine nd restarting Docker Desktop would have the same affect. If it happens only when you restart your PC, my first guess would be that Docker Desktop starts before the network on Windows or related services are fully available. But you could also be right if Docker Desktop needs any Windows service before initializing its network components.

How does Docker Desktop start when you restart your PC? Normally it would start when you log in to your account. If you managed to start it before logging in, it could happen so quickly that the network is not ready yet.

Your config seems correct, and I don’t think you can fix this with a changed compose file if the issue happens only when restarting your PC.

Thanks got the email notification fixed.

If I navigate into the container, this is what I was referring to.

Continuing to troubleshoot this, with your mention of network in mind, I dug a little deeper into the logs and found entries which lead me to believe what’s going on is the Docker Desktop DNS resolver is not yet functional when the container tries to start. There’s way too many entries to post here but these are some of the things I’m seeing in the logs

[2025-12-12T20:58:29.112534300Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":">> GET /v1.44/volumes/navidrome_music_box","time":"2025-12-12T20:58:29.146447233Z","user_agent":"Go-http-client/1.1"}
[2025-12-12T20:58:29.113535000Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":"<< GET /v1.44/volumes/navidrome_music_box","time":"2025-12-12T20:58:29.147149744Z","user_agent":"Go-http-client/1.1"}
[2025-12-12T20:58:29.113535000Z][com.docker.backend.exe.volumesharer] noopApprover.Approve([host=,VM=/run/desktop/mnt/host/f/Home Lab/Navidrome/data,dst=/data,option=rw host=,VM=navidrome_music_box,dst=/music/music_box,option=ro])
[2025-12-12T20:58:29.113535000Z][com.docker.backend.exe.ports] exposer.Approve(db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6, /navidrome, [TCP 0.0.0.0:4533])
[2025-12-12T20:58:29.114536500Z][com.docker.backend.exe.ports] exposer.Add(db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6, /navidrome, [TCP 0.0.0.0:4533 -> 127.0.0.1:0])
[2025-12-12T20:58:29.119532400Z][com.docker.backend.exe.vpnkitcontrol] adding docker-proxy-port-approver/db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6 tcp forward from 0.0.0.0:4533 to 127.0.0.1:0
[2025-12-12T20:58:29.119532400Z][com.docker.backend.exe.ports] exposer.Remove(db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6)
[2025-12-12T20:58:29.120531500Z][com.docker.backend.exe.vpnkitcontrol] removing docker-proxy-port-approver/db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6 tcp forward from 0.0.0.0:4533 to 127.0.0.1:0
[2025-12-12T20:58:29.121533300Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":">> POST /v1.51/containers/db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6/start","time":"2025-12-12T20:58:29.155971677Z","user_agent":"compose/v2.40.3-desktop.1"}
[2025-12-12T20:58:29.124531200Z][com.docker.backend.exe.wsl] {"component":"volume","level":"warning","msg":"hostPathOfVolume navidrome_music_box failed, skipping bind","time":"2025-12-12T20:58:29.158312909Z"}
[2025-12-12T20:58:29.137533900Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"[;Musicpc.\tIN\t AAAA] = []","time":"2025-12-12T20:58:29.171328326Z"}
[2025-12-12T20:58:29.143535000Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"Add       192.168.1.9 for Musicpc.","time":"2025-12-12T20:58:29.177640391Z"}
[2025-12-12T20:58:29.143535000Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"[;Musicpc.\tIN\t A] = [192.168.1.9]","time":"2025-12-12T20:58:29.177721263Z"}
[2025-12-12T20:58:29.151533800Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"... 6 messages dropped ...","time":"2025-12-12T20:58:29.185789809Z"}
[2025-12-12T20:58:29.151533800Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"Key type dns_resolver registered","time":"2025-12-12T20:58:29.185864398Z"}
[2025-12-12T20:58:29.168044200Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":"<< GET /containers/json?all=true","time":"2025-12-12T20:58:29.202718799Z","user_agent":"DockerDesktopUI"}
[2025-12-12T20:58:29.168044200Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":"<< GET /containers/json?all=true","time":"2025-12-12T20:58:29.202721637Z","user_agent":"DockerDesktopUI"}
[2025-12-12T20:58:29.178044900Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":">> GET /containers/db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6/json","time":"2025-12-12T20:58:29.212913933Z","user_agent":"DockerDesktopUI"}
[2025-12-12T20:58:29.234059600Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":">> HEAD /_ping","time":"2025-12-12T20:58:29.269916388Z","user_agent":"Docker-Desktop"}
[2025-12-12T20:58:29.235059200Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":"<< HEAD /_ping","time":"2025-12-12T20:58:29.270668862Z","user_agent":"Docker-Desktop"}
[2025-12-12T20:58:29.239055400Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":">> GET /v1.51/images/deluan/navidrome:latest/json","time":"2025-12-12T20:58:29.275027940Z","user_agent":"Docker-Desktop"}
[2025-12-12T20:58:29.240056900Z][com.docker.backend.exe.wsl] [2025-12-12T20:58:29.275243599Z][initd.ipc] (0d6fd0e8) afaf1441-volume-contents S->C Docker-Desktop/4.51.0 (Windows; x64; GUI) GET /volumes (154.738524ms): {"contents":[{"atime":"2025-12-12T.....
[2025-12-12T20:58:29.304646300Z][com.docker.backend.exe.wsl] {"component":"apiproxy","level":"info","msg":"<< GET /v1.51/images/deluan/navidrome:latest/json","time":"2025-12-12T20:58:29.340654302Z","user_agent":"Docker-Desktop"}
[2025-12-12T20:58:29.305643600Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"Key type cifs.spnego registered","time":"2025-12-12T20:58:29.341682835Z"}
[2025-12-12T20:58:29.305643600Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"Key type cifs.idmap registered","time":"2025-12-12T20:58:29.341744756Z"}
[2025-12-12T20:58:29.305643600Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3.1.1), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3.1.1 (or even SMB3 or SMB2.1) specify vers=1.0 on mount.","time":"2025-12-12T20:58:29.341851065Z"}
[2025-12-12T20:58:29.305643600Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: Attempting to mount //192.168.1.9/e/music","time":"2025-12-12T20:58:29.341909236Z"}

...
[2025-12-12T20:58:35.614275000Z][com.docker.backend.exe.wsl] {"component":"dockerd","level":"info","msg":"{\"level\":\"error\",\"msg\":\"Handler for POST /v1.51/containers/db67599e5094c2182765fa1c1410285525466ef45f20a7b846bf44a72373e2a6/start returned error: error while mounting volume '/var/lib/docker/volumes/navidrome_music_box/_data': failed to mount local volume: mount //192.168.1.9/e/music:/var/lib/docker/volumes/navidrome_music_box/_data, data: addr=192.168.1.9,username=[Redacted],password=********: host is down\",\"spanID\":\"b47b43bbf01380eb\",\"time\":\"2025-12-12T20:58:35.526721447Z\",\"traceID\":\"159bca52a9eac4272fc4d6636d45e82b\"}","time":"2025-12-12T20:58:35.527031765Z"}
...
...


[2025-12-12T21:01:28.288197100Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.370036560Z][docker-desktop-user-distro] creating symlink for /usr/share/bash-completion/completions/docker
[2025-12-12T21:01:28.289197600Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.371131298Z][docker-desktop-user-distro] creating symlink for /usr/share/fish/vendor_completions.d/docker.fish
[2025-12-12T21:01:28.290197900Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.372377223Z][docker-desktop-user-distro] creating symlink for /usr/share/zsh/vendor-completions/_docker
[2025-12-12T21:01:28.290197900Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.372851395Z][docker-desktop-user-distro] cli tools successfully installed
[2025-12-12T21:01:28.291195800Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.373184887Z][docker-desktop-user-distro] creating symlink for /usr/bin/docker-compose
[2025-12-12T21:01:28.292200100Z][com.docker.backend.exe.wsldistroproxy] [2025-12-12T21:01:28.374087119Z][docker-desktop-user-distro] docker-desktop-user-distro proxy has started
[2025-12-12T21:01:28.292200100Z][com.docker.backend.exe.wsldistroproxy] docker-desktop-user-distro proxy has started
[2025-12-12T21:01:28.292200100Z][com.docker.backend.exe.wsldistroproxy] starting distro cli api server on /home/cuong/.docker/run/docker-cli-api.sock
[2025-12-12T21:01:28.292200100Z][com.docker.backend.exe.wsldistroproxy] wsl.exe -d Ubuntu-24.04 -e docker serve --address unix:///home/cuong/.docker/run/docker-cli-api.sock
[2025-12-12T21:01:28.317707800Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"Key type cifs.spnego registered","time":"2025-12-12T21:01:28.400550363Z"}
[2025-12-12T21:01:28.317707800Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"Key type cifs.idmap registered","time":"2025-12-12T21:01:28.400621672Z"}
[2025-12-12T21:01:28.322184100Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3.1.1), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3.1.1 (or even SMB3 or SMB2.1) specify vers=1.0 on mount.","time":"2025-12-12T21:01:28.404282631Z"}
[2025-12-12T21:01:28.322184100Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: Attempting to mount //192.168.1.9/e/music","time":"2025-12-12T21:01:28.404371385Z"}
[2025-12-12T21:01:28.609049700Z][com.docker.backend.exe.ipc] (0cbc939f-22) 6c81718e-otelmgr C->S BackendAPI GET /backend/state
[2025-12-12T21:01:28.610050600Z][com.docker.backend.exe.ipc] (0cbc939f-22) eaa534a8-BackendAPI S<-C 6c81718e-otelmgr GET /backend/state
[2025-12-12T21:01:28.610050600Z][com.docker.backend.exe.ipc] (0cbc939f-22) eaa534a8-BackendAPI S->C 6c81718e-otelmgr GET /backend/state (0s): {"docker":"starting","dockerAPI":"starting","idle":"running","mode":"linux","sessionID":"...","state":"starting"}
[2025-12-12T21:01:28.610050600Z][com.docker.backend.exe.ipc] (0cbc939f-22) 6c81718e-otelmgr C<-S eaa534a8-BackendAPI GET /backend/state (1.0009ms): {"docker":"starting","dockerAPI":"starting","idle":"running","mode":"linux","sessionID":"...","state":"starting"}
[2025-12-12T21:01:28.969065800Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"... 128 messages dropped ...","time":"2025-12-12T21:01:29.064219513Z"}
[2025-12-12T21:01:28.969080000Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: VFS: Error connecting to socket. Aborting operation.","time":"2025-12-12T21:01:29.064268665Z"}
[2025-12-12T21:01:28.969080000Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"... 1 messages dropped ...","time":"2025-12-12T21:01:29.064301637Z"}
[2025-12-12T21:01:28.969080000Z][com.docker.backend.exe.wsl] {"component":"kmsg","level":"info","msg":"CIFS: VFS: cifs_mount failed w/return code = -4","time":"2025-12-12T21:01:29.064315070Z"}

Found an error that says Docker believes the “host is down” while trying to connect the CIFS network mount, which is not true. Idk how Docker Desktop handles DNS but towards the end of my posted logs, you can see that right before the CIFS connection decides to stop retrying and abort, the logs mention the docker-desktop-user-distro proxy, symlink, and docker-cli-api.sock completing it’s start up. This is way over my head but I bit of research lead me to find someone having a similar issue as me. The solution for them seems to be to add x-systemd.automount to their fstab.

I tried adding this to my options config

volumes:
  music_box:
    driver_opts:
      type: cifs
      o: "addr=192.168.x.x,username=[redacted],password=[redacted],x-systemd.automount"
      device: "//Musicpc/e/music"

but got a syntax error x-systemd.automount: invalid argument. Since I’m using Windows and WSL, I don’t think I’m leveraging fstab (nor do I have any idea what this is). I tried to search for x-systemd.automount windows and found this, but have no idea how to implement because I’m not seeing any /etc/systemd folder in the docker-desktop WSL.

It does sound like this is something fixable, just no idea how to implement. Do you have any idea?

There is no systemd in Docker Desktop where the docker daemon is running. The fact that you are using Windows, is not relevant here, since Docker is still running in the Linux virtual machine. Since there is no systemd there, no systemd-specific options will work.

I don’t see any DNS-related error. Can you quote the one line that you mean?
I am not even sure how DNS would be relevant when you are using an IP address.

It still seems like you start Docker Desktop before logging in to your account. Cany ou confirm that?
Docker Desktop is for development. People still want to start it without interactively logging in, but it is not an officially supported use case as far as I know.

If you want to start Docker Desktop right after starting Windows, you will probably need to implement your own way to delay starting Docker Desktop.

If you are starting Docker Desktop when you logged in, you can report the connection issue on GitHub

Sorry, you’re right, there is no DNS error specifically. I think I confused myself because of some other things I was reading. There were these lines I was also see in the log which mentions the “component” being the “dns.lease”.

[2025-12-12T20:58:29.137533900Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"[;Musicpc.\tIN\t AAAA] = []","time":"2025-12-12T20:58:29.171328326Z"}
[2025-12-12T20:58:29.143535000Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"Add       192.168.1.9 for Musicpc.","time":"2025-12-12T20:58:29.177640391Z"}
[2025-12-12T20:58:29.143535000Z][com.docker.backend.exe.wsl] {"component":"dns.leases","level":"info","msg":"[;Musicpc.\tIN\t A] = [192.168.1.9]","time":"2025-12-12T20:58:29.177721263Z"}

I am just using the Start Docker Desktop when you sign in to your computer option under the “General” settings. I log in and then all the programs will start after I’ve logged in. I am not starting Docker Desktop before logging in.

I will try GitHub thanks.

Thanks for clarifying that. Then it should indeed work. I think I found your new issue on GitHub, so I share it here for others who are interested