[Support] Audiobookshelf


Recommended Posts

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.

  • Like 1
Link to comment
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
  • Like 2
Link to comment
  • 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
Link to comment
  • 3 weeks later...
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. 

  • Like 1
Link to comment
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? :)

Link to comment
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. 

Link to comment
  • 2 weeks later...
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
Link to comment
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

  • Thanks 1
Link to comment
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. 

Link to comment
  • 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;
    }
}

 

Link to comment
  • 1 month later...

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?

Link to comment

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!

Link to comment
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. 

Link to comment
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

Link to comment
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. 

Link to comment
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.

  • Like 1
Link to comment

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.

Link to comment
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.

Link to comment
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.

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.