[Bug]: Audiobookshelf doesn't work after reboot until manually shutting down and starting up container again #2960

Open
opened 2026-02-20 03:03:33 -05:00 by deekerman · 24 comments
Owner

Originally created by @syriaz on GitHub (May 18, 2025).

What happened?

Installed audiobookshelf via docker compose. Then visited the URL at localhost:13378/audiobookshelf and set up the user and libraries. It worked fine.

Now after I reboot the raspberry pi 4b+ (arm64) with headless ubuntu 24.04, the container shows to be running. but for some reason the web UI loads endlessly and is not accessible.

The files are on an attached hard drive. Only if I do "docker compose down; docker compose up -d" it starts working again.

What did you expect to happen?

I expected audiobookshelf to actually work even after I reboot the raspberry pi 4b+ running headless ubuntu 24.04.

Steps to reproduce the issue

  1. Reboot the raspberry pi 4b+ running headless ubuntu 24.04

Audiobookshelf version

2.23.0

How are you running audiobookshelf?

Docker

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

Chrome

Logs

Running in production mode.
Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=0.0.0.0, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf
[2025-05-18 17:31:44.885] INFO: === Starting Server ===
[2025-05-18 17:31:44.917] INFO: [Server] Init v2.23.0
[2025-05-18 17:31:44.918] INFO: [Server] Node.js Version: v20.19.2
[2025-05-18 17:31:44.920] INFO: [Server] Platform: linux
[2025-05-18 17:31:44.921] INFO: [Server] Arch: arm64
[2025-05-18 17:31:44.964] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2025-05-18 17:31:45.212] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2025-05-18 17:31:45.224] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2025-05-18 17:31:45.225] INFO: [Database] Db supports unaccent and unicode foldings
[2025-05-18 17:31:45.228] INFO: [Database] Db connection was successful
[2025-05-18 17:31:45.299] INFO: [MigrationManager] Database is already up to date.
[2025-05-18 17:31:46.085] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
[2025-05-18 17:31:46.278] INFO: [Database] running ANALYZE
[2025-05-18 17:31:46.294] INFO: [Database] ANALYZE completed
[2025-05-18 17:31:46.310] INFO: [LogManager] Init current daily log filename: 2025-05-18.txt
[2025-05-18 17:31:46.363] INFO: [BackupManager] 0 Backups Found
[2025-05-18 17:31:46.366] INFO: [BackupManager] Auto Backups are disabled
[2025-05-18 17:31:46.459] INFO: [Watcher] Initializing watcher for "Audiobooks".
[2025-05-18 17:31:46.513] INFO: Listening on http://0.0.0.0:80
[2025-05-18 17:31:46.716] INFO: [Watcher] "Audiobooks" Ready

Additional Notes

I have tried delaying the docker containers start up in multiple ways, because I thought my attached hard drive wasn't ready when the container starts but that didn't fix the problem.

Originally created by @syriaz on GitHub (May 18, 2025). ### What happened? Installed audiobookshelf via docker compose. Then visited the URL at localhost:13378/audiobookshelf and set up the user and libraries. It worked fine. Now after I reboot the raspberry pi 4b+ (arm64) with headless ubuntu 24.04, the container shows to be running. but for some reason the web UI loads endlessly and is not accessible. The files are on an attached hard drive. Only if I do "docker compose down; docker compose up -d" it starts working again. ### What did you expect to happen? I expected audiobookshelf to actually work even after I reboot the raspberry pi 4b+ running headless ubuntu 24.04. ### Steps to reproduce the issue 1. Reboot the raspberry pi 4b+ running headless ubuntu 24.04 ### Audiobookshelf version 2.23.0 ### How are you running audiobookshelf? Docker ### What OS is your Audiobookshelf server hosted from? Linux ### If the issue is being seen in the UI, what browsers are you seeing the problem on? Chrome ### Logs ```shell Running in production mode. Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=0.0.0.0, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf [2025-05-18 17:31:44.885] INFO: === Starting Server === [2025-05-18 17:31:44.917] INFO: [Server] Init v2.23.0 [2025-05-18 17:31:44.918] INFO: [Server] Node.js Version: v20.19.2 [2025-05-18 17:31:44.920] INFO: [Server] Platform: linux [2025-05-18 17:31:44.921] INFO: [Server] Arch: arm64 [2025-05-18 17:31:44.964] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" [2025-05-18 17:31:45.212] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so [2025-05-18 17:31:45.224] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so [2025-05-18 17:31:45.225] INFO: [Database] Db supports unaccent and unicode foldings [2025-05-18 17:31:45.228] INFO: [Database] Db connection was successful [2025-05-18 17:31:45.299] INFO: [MigrationManager] Database is already up to date. [2025-05-18 17:31:46.085] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare [2025-05-18 17:31:46.278] INFO: [Database] running ANALYZE [2025-05-18 17:31:46.294] INFO: [Database] ANALYZE completed [2025-05-18 17:31:46.310] INFO: [LogManager] Init current daily log filename: 2025-05-18.txt [2025-05-18 17:31:46.363] INFO: [BackupManager] 0 Backups Found [2025-05-18 17:31:46.366] INFO: [BackupManager] Auto Backups are disabled [2025-05-18 17:31:46.459] INFO: [Watcher] Initializing watcher for "Audiobooks". [2025-05-18 17:31:46.513] INFO: Listening on http://0.0.0.0:80 [2025-05-18 17:31:46.716] INFO: [Watcher] "Audiobooks" Ready ``` ### Additional Notes I have tried delaying the docker containers start up in multiple ways, because I thought my attached hard drive wasn't ready when the container starts but that didn't fix the problem.
Author
Owner

@Vito0912 commented on GitHub (May 18, 2025):

Does it load in your browser, or do you see a spinning indicator?

@Vito0912 commented on GitHub (May 18, 2025): Does it load in your browser, or do you see a spinning indicator?
Author
Owner

@syriaz commented on GitHub (May 18, 2025):

Does it load in your browser, or do you see a spinning indicator?

No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode." All of which is fine by me. I click "Continue to Site" and then it says "This site can’t be reached: MYIP took too long to respond".

@syriaz commented on GitHub (May 18, 2025): > Does it load in your browser, or do you see a spinning indicator? No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode." All of which is fine by me. I click "Continue to Site" and then it says "This site can’t be reached: MYIP took too long to respond".
Author
Owner

@nichwall commented on GitHub (May 18, 2025):

Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy?

@nichwall commented on GitHub (May 18, 2025): Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy?
Author
Owner

@syriaz commented on GitHub (May 18, 2025):

Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy?

It's from after rebooting the raspberry pi. I just type in my IP without https and yes, I dont have a reverse proxy (which I want to keep that way).

@syriaz commented on GitHub (May 18, 2025): > Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy? It's from after rebooting the raspberry pi. I just type in my IP without https and yes, I dont have a reverse proxy (which I want to keep that way).
Author
Owner

@Vito0912 commented on GitHub (May 18, 2025):

As nichwall said, you have to use http if you don't use a reverse proxy.
If you use a proxy make sure you add the certificate

@Vito0912 commented on GitHub (May 18, 2025): As nichwall said, you have to use http if you don't use a reverse proxy. If you use a proxy make sure you add the certificate
Author
Owner

@syriaz commented on GitHub (May 18, 2025):

As nichwall said, you have to use http if you don't use a reverse proxy. If you use a proxy make sure you add the certificate

I am using http://MYIP:13378/audiobookshelf.

Within 10 seconds of visiting the URL it still shows me:
This site can’t be reached. MYIP took too long to respond.
Try:
Checking the connection
ERR_CONNECTION_TIMED_OUT

@syriaz commented on GitHub (May 18, 2025): > As nichwall said, you have to use http if you don't use a reverse proxy. If you use a proxy make sure you add the certificate I am using http://MYIP:13378/audiobookshelf. Within 10 seconds of visiting the URL it still shows me: This site can’t be reached. MYIP took too long to respond. Try: Checking the connection ERR_CONNECTION_TIMED_OUT
Author
Owner

@nichwall commented on GitHub (May 18, 2025):

No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode."

This means you are trying to connect over https.

Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy?

It's from after rebooting the raspberry pi. I just type in my IP without https and yes, I dont have a reverse proxy (which I want to keep that way).

Is this your local IP or your public IP?

@nichwall commented on GitHub (May 18, 2025): > No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode." This means you are trying to connect over https. > > Is that the log from after booting or restarting the docker container? Are you trying to access it over https without a reverse proxy? > > It's from after rebooting the raspberry pi. I just type in my IP without https and yes, I dont have a reverse proxy (which I want to keep that way). Is this your local IP or your public IP?
Author
Owner

@syriaz commented on GitHub (May 18, 2025):

No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode."

This means you are trying to connect over https.

Before I just typed in MYIP without the http:// part. And then I tried it with http:// as well. Both are not working.

Is this your local IP or your public IP?

Its my public ip.

@syriaz commented on GitHub (May 18, 2025): > > No, it tries to load the address for 30 seconds and then says the MYIP doesnt support a secure connection and "You are seeing this warning because this site does not support HTTPS and you are in Private mode." > > This means you are trying to connect over https. > Before I just typed in MYIP without the http:// part. And then I tried it with http:// as well. Both are not working. > Is this your local IP or your public IP? Its my public ip.
Author
Owner

@frauhottelmann commented on GitHub (Jul 3, 2025):

I have the same problem.
I am on a AMD 5600G with docker compose.

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - 13378:80
    volumes:
      - /media/samba/audiobooks:/audiobooks
      - /media/samba/podcasts:/podcasts
      - ./config:/config
      - ./metadata:/metadata
    environment:
      - TZ=Europe/Berlin
    labels:
      - diun.enable=true
    restart: unless-stopped

After a reboot the container is started:

audiobookshelf  | Running in production mode.
audiobookshelf  | Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf
audiobookshelf  | [2025-07-03 15:46:13.404] INFO: === Starting Server ===
audiobookshelf  | [2025-07-03 15:46:13.406] INFO: [Server] Init v2.25.1
audiobookshelf  | [2025-07-03 15:46:13.406] INFO: [Server] Node.js Version: v20.19.2
audiobookshelf  | [2025-07-03 15:46:13.406] INFO: [Server] Platform: linux
audiobookshelf  | [2025-07-03 15:46:13.407] INFO: [Server] Arch: x64
audiobookshelf  | [2025-07-03 15:46:13.409] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
audiobookshelf  | [2025-07-03 15:46:13.427] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so
audiobookshelf  | [2025-07-03 15:46:13.433] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so
audiobookshelf  | [2025-07-03 15:46:13.434] INFO: [Database] Db supports unaccent and unicode foldings
audiobookshelf  | [2025-07-03 15:46:13.434] INFO: [Database] Db connection was successful
audiobookshelf  | [2025-07-03 15:46:13.439] INFO: [MigrationManager] Database is already up to date.
audiobookshelf  | [2025-07-03 15:46:13.511] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
audiobookshelf  | [2025-07-03 15:46:13.533] INFO: [Database] running ANALYZE
audiobookshelf  | [2025-07-03 15:46:13.546] INFO: [Database] ANALYZE completed
audiobookshelf  | [2025-07-03 15:46:13.548] INFO: [LogManager] Removed daily log: 2025-06-03.txt
audiobookshelf  | [2025-07-03 15:46:13.548] INFO: [LogManager] Init current daily log filename: 2025-07-03.txt
audiobookshelf  | [2025-07-03 15:46:13.553] INFO: [BackupManager] 0 Backups Found
audiobookshelf  | [2025-07-03 15:46:13.553] INFO: [BackupManager] Auto Backups are disabled
audiobookshelf  | [2025-07-03 15:46:13.562] INFO: [Watcher] Initializing watcher for "Audiobooks".
audiobookshelf  | [2025-07-03 15:46:13.567] INFO: Listening on port :80
audiobookshelf  | [2025-07-03 15:46:13.586] INFO: [Watcher] "Audiobooks" Ready

But the container is stopped at that point. I have to restart the compose stack. Then it's working indefinately.

Any way to debug this further?

@frauhottelmann commented on GitHub (Jul 3, 2025): I have the same problem. I am on a AMD 5600G with docker compose. ```yaml services: audiobookshelf: image: ghcr.io/advplyr/audiobookshelf:latest container_name: audiobookshelf ports: - 13378:80 volumes: - /media/samba/audiobooks:/audiobooks - /media/samba/podcasts:/podcasts - ./config:/config - ./metadata:/metadata environment: - TZ=Europe/Berlin labels: - diun.enable=true restart: unless-stopped ``` After a reboot the container is started: ``` audiobookshelf | Running in production mode. audiobookshelf | Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=undefined, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf audiobookshelf | [2025-07-03 15:46:13.404] INFO: === Starting Server === audiobookshelf | [2025-07-03 15:46:13.406] INFO: [Server] Init v2.25.1 audiobookshelf | [2025-07-03 15:46:13.406] INFO: [Server] Node.js Version: v20.19.2 audiobookshelf | [2025-07-03 15:46:13.406] INFO: [Server] Platform: linux audiobookshelf | [2025-07-03 15:46:13.407] INFO: [Server] Arch: x64 audiobookshelf | [2025-07-03 15:46:13.409] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" audiobookshelf | [2025-07-03 15:46:13.427] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so audiobookshelf | [2025-07-03 15:46:13.433] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so audiobookshelf | [2025-07-03 15:46:13.434] INFO: [Database] Db supports unaccent and unicode foldings audiobookshelf | [2025-07-03 15:46:13.434] INFO: [Database] Db connection was successful audiobookshelf | [2025-07-03 15:46:13.439] INFO: [MigrationManager] Database is already up to date. audiobookshelf | [2025-07-03 15:46:13.511] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare audiobookshelf | [2025-07-03 15:46:13.533] INFO: [Database] running ANALYZE audiobookshelf | [2025-07-03 15:46:13.546] INFO: [Database] ANALYZE completed audiobookshelf | [2025-07-03 15:46:13.548] INFO: [LogManager] Removed daily log: 2025-06-03.txt audiobookshelf | [2025-07-03 15:46:13.548] INFO: [LogManager] Init current daily log filename: 2025-07-03.txt audiobookshelf | [2025-07-03 15:46:13.553] INFO: [BackupManager] 0 Backups Found audiobookshelf | [2025-07-03 15:46:13.553] INFO: [BackupManager] Auto Backups are disabled audiobookshelf | [2025-07-03 15:46:13.562] INFO: [Watcher] Initializing watcher for "Audiobooks". audiobookshelf | [2025-07-03 15:46:13.567] INFO: Listening on port :80 audiobookshelf | [2025-07-03 15:46:13.586] INFO: [Watcher] "Audiobooks" Ready ``` But the container is stopped at that point. I have to restart the compose stack. Then it's working indefinately. Any way to debug this further?
Author
Owner

@nichwall commented on GitHub (Jul 3, 2025):

Can you enable Debug logs? What happens when it stops responding, like were you actively using it or just letting it sit? If you were using ABS when it froze, what were you doing?

@nichwall commented on GitHub (Jul 3, 2025): Can you enable Debug logs? What happens when it stops responding, like were you actively using it or just letting it sit? If you were using ABS when it froze, what were you doing?
Author
Owner

@frauhottelmann commented on GitHub (Jul 4, 2025):

I wasn't using it actively at the time of reboot.

Of course now it's not happening when I reboot. I have one suspicion: I usually only reboot after updates and at least last time it happens there was a docker engine update before the reboot. I'll try to capture logs next time I update docker.

@frauhottelmann commented on GitHub (Jul 4, 2025): I wasn't using it actively at the time of reboot. Of course now it's not happening when I reboot. I have one suspicion: I usually only reboot after updates and at least last time it happens there was a docker engine update before the reboot. I'll try to capture logs next time I update docker.
Author
Owner

@advplyr commented on GitHub (Jul 8, 2025):

Is this issue resolved?

@advplyr commented on GitHub (Jul 8, 2025): Is this issue resolved?
Author
Owner

@syriaz commented on GitHub (Jul 9, 2025):

Is this issue resolved?

No, this is still happening as described

@syriaz commented on GitHub (Jul 9, 2025): > Is this issue resolved? No, this is still happening as described
Author
Owner

@frauhottelmann commented on GitHub (Jul 9, 2025):

Is this issue resolved?

No, this is still happening as described

If it's still happening to you: can you enable debug logs?

@frauhottelmann commented on GitHub (Jul 9, 2025): > > Is this issue resolved? > > No, this is still happening as described If it's still happening to you: can you enable debug logs?
Author
Owner

@syriaz commented on GitHub (Jul 9, 2025):

Is this issue resolved?

No, this is still happening as described

If it's still happening to you: can you enable debug logs?

Yes. As you can see there's an error the first time a book is being requested. And then I run "docker compose down" and "docker compose up -d" and then it works.

~/hdd/audiobookshelf
docker logs -f� audiobookshelf
Running in production mode.
Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=0.0.0.0, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf
[2025-07-09 09:31:56.554] INFO: === Starting Server ===
[2025-07-09 09:31:56.560] INFO: [Server] Init v2.25.1
[2025-07-09 09:31:56.561] INFO: [Server] Node.js Version: v20.19.2
[2025-07-09 09:31:56.562] INFO: [Server] Platform: linux
[2025-07-09 09:31:56.563] INFO: [Server] Arch: arm64
[2025-07-09 09:31:56.582] INFO: [Database] Initializing db at "/config/absdatabase.sqlite"
[2025-07-09 09:31:56.700] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2025-07-09 09:31:56.703] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so
[2025-07-09 09:31:56.704] INFO: [Database] Db supports unaccent and unicode foldings
[2025-07-09 09:31:56.706] INFO: [Database] Db connection was successful
[2025-07-09 09:31:56.732] INFO: [MigrationManager] Database is already up to date.
[2025-07-09 09:31:57.262] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare
[2025-07-09 09:31:57.377] INFO: [Database] running ANALYZE
[2025-07-09 09:31:57.387] INFO: [Database] ANALYZE completed
[2025-07-09 09:31:57.393] INFO: [LogManager] Init current daily log filename: 2025-07-09.txt
[2025-07-09 09:31:57.426] INFO: [BackupManager] 0 Backups Found
[2025-07-09 09:31:57.428] INFO: [BackupManager] Auto Backups are disabled
[2025-07-09 09:31:57.490] INFO: [Watcher] Initializing watcher for "Audiobooks".
[2025-07-09 09:31:57.528] INFO: Listening on http://0.0.0.0:80
[2025-07-09 09:31:57.605] INFO: [Watcher] "Audiobooks" Ready
[2025-07-09 09:32:05.902] INFO: [LibraryItemController] User "admin" requested download for item "Book - 002.mp3"
[2025-07-09 09:32:05.946] INFO: [LibraryItemController] Downloaded file "/Book - 002.mp3"
[2025-07-09 09:32:06.108] INFO: [LibraryItemController] User "admin" requested download for item "Book" file at "/Book - 002.mp3"
[2025-07-09 09:32:06.279] ERROR: [LibraryItemController] Failed to download file "/Book - 002.mp3" Error: write EPIPE
at afterWriteDispatched (node:internal/stream_base_commons:161:15)
at writeGeneric (node:internal/stream_base_commons:152:3)
at Socket._writeGeneric (node:net:958:11)
at Socket._write (node:net:970:8)
at doWrite (node:internal/streams/writable:598:12)
at clearBuffer (node:internal/streams/writable:783:7)
at Writable.uncork (node:internal/streams/writable:531:7)
at connectionCorkNT (node:_http_outgoing:981:8)
at process.processTicksAndRejections (node:internal/process/task_queues:81:21) {
errno: -32,
code: 'EPIPE',
syscall: 'write'
}
[2025-07-09 09:32:06.470] INFO: [LibraryItemController] User "admin" requested download for item "Book" file at "/Book - 002.mp3"
[2025-07-09 09:32:08.410] INFO: [LibraryItemController] Downloaded file "/Book - 002.mp3"

@syriaz commented on GitHub (Jul 9, 2025): > > > Is this issue resolved? > > > > No, this is still happening as described > > If it's still happening to you: can you enable debug logs? Yes. As you can see there's an error the first time a book is being requested. And then I run "docker compose down" and "docker compose up -d" and then it works. > ~/hdd/audiobookshelf docker logs -f� audiobookshelf Running in production mode. Options: CONFIG_PATH=/config, METADATA_PATH=/metadata, PORT=80, HOST=0.0.0.0, SOURCE=docker, ROUTER_BASE_PATH=/audiobookshelf [2025-07-09 09:31:56.554] INFO: === Starting Server === [2025-07-09 09:31:56.560] INFO: [Server] Init v2.25.1 [2025-07-09 09:31:56.561] INFO: [Server] Node.js Version: v20.19.2 [2025-07-09 09:31:56.562] INFO: [Server] Platform: linux [2025-07-09 09:31:56.563] INFO: [Server] Arch: arm64 [2025-07-09 09:31:56.582] INFO: [Database] Initializing db at "/config/absdatabase.sqlite" [2025-07-09 09:31:56.700] INFO: [Database] Loading extension /usr/local/lib/nusqlite3/libnusqlite3.so [2025-07-09 09:31:56.703] INFO: [Database] Successfully loaded extension /usr/local/lib/nusqlite3/libnusqlite3.so [2025-07-09 09:31:56.704] INFO: [Database] Db supports unaccent and unicode foldings [2025-07-09 09:31:56.706] INFO: [Database] Db connection was successful [2025-07-09 09:31:56.732] INFO: [MigrationManager] Database is already up to date. [2025-07-09 09:31:57.262] INFO: [Database] Db initialized with models: user, library, libraryFolder, book, podcast, podcastEpisode, libraryItem, mediaProgress, series, bookSeries, author, bookAuthor, collection, collectionBook, playlist, playlistMediaItem, device, playbackSession, feed, feedEpisode, setting, customMetadataProvider, mediaItemShare [2025-07-09 09:31:57.377] INFO: [Database] running ANALYZE [2025-07-09 09:31:57.387] INFO: [Database] ANALYZE completed [2025-07-09 09:31:57.393] INFO: [LogManager] Init current daily log filename: 2025-07-09.txt [2025-07-09 09:31:57.426] INFO: [BackupManager] 0 Backups Found [2025-07-09 09:31:57.428] INFO: [BackupManager] Auto Backups are disabled [2025-07-09 09:31:57.490] INFO: [Watcher] Initializing watcher for "Audiobooks". [2025-07-09 09:31:57.528] INFO: Listening on http://0.0.0.0:80 [2025-07-09 09:31:57.605] INFO: [Watcher] "Audiobooks" Ready [2025-07-09 09:32:05.902] INFO: [LibraryItemController] User "admin" requested download for item "Book - 002.mp3" [2025-07-09 09:32:05.946] INFO: [LibraryItemController] Downloaded file "/Book - 002.mp3" [2025-07-09 09:32:06.108] INFO: [LibraryItemController] User "admin" requested download for item "Book" file at "/Book - 002.mp3" [2025-07-09 09:32:06.279] ERROR: [LibraryItemController] Failed to download file "/Book - 002.mp3" Error: write EPIPE at afterWriteDispatched (node:internal/stream_base_commons:161:15) at writeGeneric (node:internal/stream_base_commons:152:3) at Socket._writeGeneric (node:net:958:11) at Socket._write (node:net:970:8) at doWrite (node:internal/streams/writable:598:12) at clearBuffer (node:internal/streams/writable:783:7) at Writable.uncork (node:internal/streams/writable:531:7) at connectionCorkNT (node:_http_outgoing:981:8) at process.processTicksAndRejections (node:internal/process/task_queues:81:21) { errno: -32, code: 'EPIPE', syscall: 'write' } [2025-07-09 09:32:06.470] INFO: [LibraryItemController] User "admin" requested download for item "Book" file at "/Book - 002.mp3" [2025-07-09 09:32:08.410] INFO: [LibraryItemController] Downloaded file "/Book - 002.mp3"
Author
Owner

@nichwall commented on GitHub (Jul 9, 2025):

Your file system may not be available/mounted before the docker container starts when booting the raspberry pi. The file system needs to be ready before the docker container starts, or else the files don't exist in the container. This can happen with external drives.

This also explains why manually restarting the container after booting fixes the problem.

@nichwall commented on GitHub (Jul 9, 2025): Your file system may not be available/mounted before the docker container starts when booting the raspberry pi. The file system needs to be ready before the docker container starts, or else the files don't exist in the container. This can happen with external drives. This also explains why manually restarting the container after booting fixes the problem.
Author
Owner

@syriaz commented on GitHub (Jul 9, 2025):

Your file system may not be available/mounted before the docker container starts when booting the raspberry pi.

Do you know how to set this up with an external hdd so the mounted hdd is available before the docker container starts?

@syriaz commented on GitHub (Jul 9, 2025): > Your file system may not be available/mounted before the docker container starts when booting the raspberry pi. Do you know how to set this up with an external hdd so the mounted hdd is available before the docker container starts?
Author
Owner

@nichwall commented on GitHub (Jul 9, 2025):

Your file system may not be available/mounted before the docker container starts when booting the raspberry pi.

Do you know how to set this up with an external hdd so the mounted hdd is available before the docker container starts?

You can look at systemd rules to prevent docker from starting before all filesystems are mounted.

@nichwall commented on GitHub (Jul 9, 2025): > > Your file system may not be available/mounted before the docker container starts when booting the raspberry pi. > > Do you know how to set this up with an external hdd so the mounted hdd is available before the docker container starts? You can look at systemd rules to prevent docker from starting before all filesystems are mounted.
Author
Owner

@syriaz commented on GitHub (Jul 10, 2025):

You can look at systemd rules to prevent docker from starting before all filesystems are mounted.

I tried multiple ways of systemd solutions with the help of chatgpt but it still does not work.

@syriaz commented on GitHub (Jul 10, 2025): > You can look at systemd rules to prevent docker from starting before all filesystems are mounted. I tried multiple ways of systemd solutions with the help of chatgpt but it still does not work.
Author
Owner

@nichwall commented on GitHub (Jul 10, 2025):

You can look at systemd rules to prevent docker from starting before all filesystems are mounted.

I tried multiple ways of systemd solutions with the help of chatgpt but it still does not work.

What have you tried?

@nichwall commented on GitHub (Jul 10, 2025): > > You can look at systemd rules to prevent docker from starting before all filesystems are mounted. > > I tried multiple ways of systemd solutions with the help of chatgpt but it still does not work. What have you tried?
Author
Owner

@syriaz commented on GitHub (Jul 10, 2025):

What have you tried?

Lots of systemd stuff to delay the docker container at reboot and even etc/fstab edits. Does it matter if the hdd is formatted as exfat?

@syriaz commented on GitHub (Jul 10, 2025): > What have you tried? Lots of systemd stuff to delay the docker container at reboot and even etc/fstab edits. Does it matter if the hdd is formatted as exfat?
Author
Owner

@advplyr commented on GitHub (Jul 21, 2025):

Did you resolve this?

@advplyr commented on GitHub (Jul 21, 2025): Did you resolve this?
Author
Owner

@syriaz commented on GitHub (Jul 21, 2025):

Did you resolve this?

No since I dont know the exact steps to delay the container

@syriaz commented on GitHub (Jul 21, 2025): > Did you resolve this? No since I dont know the exact steps to delay the container
Author
Owner

@mhofer2011 commented on GitHub (Feb 15, 2026):

I had the same problem: Pi 4B, mounted partition of a SSD (exfat) besides the system file system.
I found the solution here:
https://davejansen.com/systemctl-delay-start-docker-service-until-mounts-available/

By adding the mount point after the next reboot everything worked as expected!

@mhofer2011 commented on GitHub (Feb 15, 2026): I had the same problem: Pi 4B, mounted partition of a SSD (exfat) besides the system file system. I found the solution here: [https://davejansen.com/systemctl-delay-start-docker-service-until-mounts-available/](https://davejansen.com/systemctl-delay-start-docker-service-until-mounts-available/) By adding the mount point after the next reboot everything worked as expected!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/audiobookshelf#2960
No description provided.