Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] Audiobookshelf

Featured Replies

2 minutes ago, advplyr said:

 

Abs is using 744 for permissions. For me it's the rootshare to windows that is the issue, I need the rootshare to have owner permissions but haven't looked into that yet.

I decided to set my Media share public, and it fixed the issue when connecting via the guest account so It was an issue on my end.  I guess I need to figure out why permissions aren't being handed down recursively to new files that are created in the share.  At least it wasn't something on your end.

  • Replies 349
  • Views 137.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Hey,   I tried doing the same process and it's working fine now. It was definitely a cover issue as the web browser version showed invalid cover. The issue was the android app would crash in

  • Yes, this is because the scanner & folder watcher doesn't know for sure whether you deleted it or it got moved or maybe some random file system issue and it wasn't detected. In that case if it rem

  • I don't think this is the correct way to do this. Not sure what problems you were having with the standard config. This worked for me, just make sure you're on the same network as SWAG   ## Ve

Posted Images

On 11/1/2021 at 4:29 PM, Greygoose said:

If anyone is trying to get this working with SWAG i managed to get it working with the following config.  I adapted the one on the socket.io website to listen on 443 as SWAG wouldnt allow the HTTP set with the socket.io template.

 

Make sure to put your unraid IP address where i have put in caps below.  Also make sure you name your file as below and put in your SWAG proxy-confs folder

audiobookshelf.subdomain.conf


 

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    
    server_name audiobookshelf.*;
    
    include /config/nginx/ssl.conf;

    location / {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;

      proxy_pass http://YOURUNRAIDIPADDRESS:13378;

      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }
  }

 

 

I don't think this is the correct way to do this. Not sure what problems you were having with the standard config. This worked for me, just make sure you're on the same network as SWAG

 

## Version 2021/05/18

# make sure that your dns has a cname set for <container_name> and that your <container_name> container is not using a base url

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name audiobookshelf.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth, fill in ldap details in ldap.conf
    #include /config/nginx/ldap.conf;

    # enable for Authelia
    #include /config/nginx/authelia-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /ldaplogin;

        # enable for Authelia
        #include /config/nginx/authelia-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app audiobookshelf;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

 

Edited by jxjelly
a word

  • 4 weeks later...

I'm trying to get the Android app to work with the server and having a hard time. It works just fine from outside the network in a browser and I can login and everything behaves fine. I've also tried the iOS app and it works fine as well. 

If I try to connect the android app, it immediately says "Failed to ping server." 

I'm not really sure what to do at this point. This is on a Samsung S22U.

If I try to connect from inside the network to the IP directly, it works. Since everything else BUT the android app works from outside the network, I'm lost.

Edited by Naonak

  • 3 weeks later...

Is this working or is it half done? :) Dont want to waste time if it is not working.

1 minute ago, DanielPT said:

Is this working or is it half done? :) Dont want to waste time if it is not working.

 

Fully and working great at that. 
@Nanoak maybe your router is having trouble translating the external adresses to internal ones. At any rate, I'm using mine on a samsung and it works fine. I did have a router from my ISP which couldn't access anything local on a public address, since it couldn't keep track of the traffic. It's apparently not uncommon. 
When accessing it locally on your PC, do you use the local IP or the public DNS address? I'd suspect, if you are having this issue, that the public DNS address won't work from your PC, either. 

2 hours ago, Froberg said:

 

Fully and working great at that. 
@Nanoak maybe your router is having trouble translating the external adresses to internal ones. At any rate, I'm using mine on a samsung and it works fine. I did have a router from my ISP which couldn't access anything local on a public address, since it couldn't keep track of the traffic. It's apparently not uncommon. 
When accessing it locally on your PC, do you use the local IP or the public DNS address? I'd suspect, if you are having this issue, that the public DNS address won't work from your PC, either. 

Very nice!

 

Are there any "noob" guides for setting it up? :)

45 minutes ago, DanielPT said:

Very nice!

 

Are there any "noob" guides for setting it up? :)

The docker itself is fairly easy, you may want to look up SpadeInvaderOne for the NPM part of it, if you want to access it from a domain. 
Reading through this thread many snags have been addressed too. 

Hi, Does anyone has a clue why the listening session times are all over the place.

Picture attached for reference.

 

image.png.b446e862df659dfc92cc62a293145808.png

  • 2 weeks later...
  • Author
On 11/14/2022 at 1:06 PM, Shomil Saini said:

Hi, Does anyone has a clue why the listening session times are all over the place.

Picture attached for reference.

 

image.png.b446e862df659dfc92cc62a293145808.png

 

There is a bug in the iOS app. You can delete those bad sessions for now

On 11/14/2022 at 3:11 AM, Froberg said:

 

Fully and working great at that. 
@Nanoak maybe your router is having trouble translating the external adresses to internal ones. At any rate, I'm using mine on a samsung and it works fine. I did have a router from my ISP which couldn't access anything local on a public address, since it couldn't keep track of the traffic. It's apparently not uncommon. 
When accessing it locally on your PC, do you use the local IP or the public DNS address? I'd suspect, if you are having this issue, that the public DNS address won't work from your PC, either. 


Well, as I said, it works fine inside and outside of the network with everything (Browser, IOS) BUT the Android app, so that tells me everything is set up properly on the network side.

Edited by Naonak

On 10/4/2022 at 10:07 AM, jxjelly said:

 

I don't think this is the correct way to do this. Not sure what problems you were having with the standard config. This worked for me, just make sure you're on the same network as SWAG

 

## Version 2021/05/18

# make sure that your dns has a cname set for <container_name> and that your <container_name> container is not using a base url

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name audiobookshelf.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth, fill in ldap details in ldap.conf
    #include /config/nginx/ldap.conf;

    # enable for Authelia
    #include /config/nginx/authelia-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable the next two lines for ldap auth
        #auth_request /auth;
        #error_page 401 =200 /ldaplogin;

        # enable for Authelia
        #include /config/nginx/authelia-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app audiobookshelf;
        set $upstream_port 80;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

}

 

 

Thanks, worked for me! @advplyr, you might want to update your readme with this conf, it's much more Swag conformant

On 11/25/2022 at 11:17 PM, Naonak said:


Well, as I said, it works fine inside and outside of the network with everything (Browser, IOS) BUT the Android app, so that tells me everything is set up properly on the network side.

Oh, I misunderstood your post, then. 

Please check to see if you're using the latest version of the app, and that your container is updated too. I've found that version mismatches can cause it not to function on my android device as well. 

  • 4 weeks later...

I was able to resolve the 'socket failed to connect' error while using Swag/nginx using a proxy-conf file like this below. I was not successful when trying to use a site-conf

 

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name <YOURSUBDOMAIN>.*;

    include /config/nginx/ssl.conf;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
    add_header X-Content-Type-Options "nosniff" always;
    client_max_body_size 0;

    location / {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app <IPADDRESS>;
        set $upstream_port 13378;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

        proxy_hide_header X-Frame-Options;
        proxy_max_temp_file_size 2048m;
    }
}

 

  • 1 month later...

Is there a working fail2ban filter for audiobookshell behind swag?

Hello

 

My docker is constantly crashing with errors likes, any time something new is added (new audiobook, author, library etc): 

 

[Error: ENOENT: no such file or directory, mkdir '/metadata/items/li_tfyi9cajjicm2rmixj'] {

errno: -2,
code: 'ENOENT',
syscall: 'mkdir',
path: '/metadata/items/li_tfyi9cajjicm2rmixj'
}

 

 

or

 

[Error: ENOENT: no such file or directory, mkdir '/metadata/items/li_d6yt9cxpjkynla5wyb'] {
errno: -2,
code: 'ENOENT',
syscall: 'mkdir',
path: '/metadata/items/li_d6yt9cxpjkynla5wyb'
}

 

 

If I keep restarting the docker/rescanning the library it does eventually add new media, but anytime something new is added the same thing happens again. Like it basically fails every time it tries to process new data, and then upon restart it works for the one file. 

 

What could be causing this?

I've just recently found this and it's awesome. I'm excited to have an audiobook manager like this. Thanks for your work on this @advplyr!

 

Quick question: Where are the library backups stored and can that be mapped to a share? I tried to find them but wasn't able to (it looked like they'd be at /backups/). It also didn't seem to work to simply add another path to the container configuration. I'm probably missing something or just doing it wrong... TIA!

On 2/1/2023 at 6:22 PM, shooga said:

Quick question: Where are the library backups stored and can that be mapped to a share? I tried to find them but wasn't able to (it looked like they'd be at /backups/).

Answering my own question here in case it can help someone in the future: I spent a bit more time with the documentation (and google) and found the backups folder in appdata/audiobookshelf/metadata/backups. No need to map it beyond that as the my appdata is on a cache pool and I backup the appdata folder regularly. 

On 6/3/2022 at 8:24 AM, advplyr said:

You cannot use a subfolder yet, it is not supported. This is something being worked on now but you are limited to using a subdomain.

Hi @advplyr is this currently WIP? Just want to confirm before I try because all my apps are reverse proxied with subfolder.

  • Author
19 minutes ago, vurt said:

Hi @advplyr is this currently WIP? Just want to confirm before I try because all my apps are reverse proxied with subfolder.


This is currently not being worked on. I've made a few attempts at it but unfortunately the way I built the web client makes this very difficult to implement. Possibly may require a rewrite of the client so it hasn't taken priority. The issue to follow for this is https://github.com/advplyr/audiobookshelf/issues/385

2 hours ago, advplyr said:


This is currently not being worked on. I've made a few attempts at it but unfortunately the way I built the web client makes this very difficult to implement. Possibly may require a rewrite of the client so it hasn't taken priority. The issue to follow for this is https://github.com/advplyr/audiobookshelf/issues/385

Can we send you a few $$$ yet? You've saved my daily commute, must contribute beer or coffee or just discretionary funds. 

  • Author

Thanks for asking, I haven't set anything up yet.

On 2/4/2023 at 12:18 PM, advplyr said:


This is currently not being worked on. I've made a few attempts at it but unfortunately the way I built the web client makes this very difficult to implement. Possibly may require a rewrite of the client so it hasn't taken priority. The issue to follow for this is https://github.com/advplyr/audiobookshelf/issues/385

 

Thank you. I've already set up all my reverse proxying with subfolders unfortunately.

Does anybody experience cutouts, when I'm streaming audio to my phone using the app. It tends to cut out at random after random times (not much, but enough to be annoying), every time I have to go back to the app and start the stream again.

I'm using an android phone, and I'm not sure if the app is put to sleep or something. I also can't seem to find the app in Android setting for sleeping apps (It's literally not there)


In server logs, I have this:

 

:12:00] INFO: [PlaybackSessionManager] startSession: Closing open session "Defiance of the Fall 2" for user "root_account"
[2023-02-10 16:20:10] INFO: [Server] Socket y98IJNqnzqyK8mrhAABH disconnected from client "root_account" after 499083ms (Reason: ping timeout)
[2023-02-10 16:32:44] INFO: [Server] Socket Connected jkcZqDSmPA7QhEhEAABJ
[2023-02-10 16:38:07] INFO: [Server] Socket jkcZqDSmPA7QhEhEAABJ disconnected from client "root_account" after 322658ms (Reason: ping timeout)
[2023-02-10 16:41:36] INFO: [Server] Socket Connected RPl8raIdDfvdNI3nAABL

[2023-02-10 16:41:41] INFO: [PlaybackSessionManager] startSession: Closing open session "Defiance of the Fall 2" for user "root_account"
[2023-02-10 16:43:49] INFO: [Server] Socket RPl8raIdDfvdNI3nAABL disconnected from client "root_account" after 132948ms (Reason: transport close)
[2023-02-10 16:43:53] INFO: [Server] Socket Connected iuu3niqtJhara9xtAABN

 

I think it's happening only when I'm outside on mobile data.

  • Author
5 minutes ago, VladoPortos said:

Does anybody experience cutouts, when I'm streaming audio to my phone using the app. It tends to cut out at random after random times (not much, but enough to be annoying), every time I have to go back to the app and start the stream again.

I'm using an android phone, and I'm not sure if the app is put to sleep or something. I also can't seem to find the app in Android setting for sleeping apps (It's literally not there)


In server logs, I have this:

 

:12:00] INFO: [PlaybackSessionManager] startSession: Closing open session "Defiance of the Fall 2" for user "root_account"
[2023-02-10 16:20:10] INFO: [Server] Socket y98IJNqnzqyK8mrhAABH disconnected from client "root_account" after 499083ms (Reason: ping timeout)
[2023-02-10 16:32:44] INFO: [Server] Socket Connected jkcZqDSmPA7QhEhEAABJ
[2023-02-10 16:38:07] INFO: [Server] Socket jkcZqDSmPA7QhEhEAABJ disconnected from client "root_account" after 322658ms (Reason: ping timeout)
[2023-02-10 16:41:36] INFO: [Server] Socket Connected RPl8raIdDfvdNI3nAABL

[2023-02-10 16:41:41] INFO: [PlaybackSessionManager] startSession: Closing open session "Defiance of the Fall 2" for user "root_account"
[2023-02-10 16:43:49] INFO: [Server] Socket RPl8raIdDfvdNI3nAABL disconnected from client "root_account" after 132948ms (Reason: transport close)
[2023-02-10 16:43:53] INFO: [Server] Socket Connected iuu3niqtJhara9xtAABN

 

I think it's happening only when I'm outside on mobile data.

 

I haven't but you could try going into settings on your device and disabling battery optimization for the app. I think the battery optimization on some devices can kill the background process.

2 hours ago, advplyr said:

 

I haven't but you could try going into settings on your device and disabling battery optimization for the app. I think the battery optimization on some devices can kill the background process.

 

That's the thing where I looked first, but the app "audiobookshelf" is not there, even if I would like to put it to apps that are put in deep sleep I can't. Maybe I will try to reinstall.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.