[Support] Audiobookshelf


Recommended Posts

  • 3 weeks later...
On 12/22/2021 at 1:45 PM, Spinnich said:

Can anyone explain how I'm supposed to properly setup the "SSL certificate" and "SSL certificate key" paths while using Nginx? Do I make a copy of these files from my NPM-19 folder to a directory that audiobookshelf can access or something completely different?

 

If you haven't already solved this you should see this discussion https://github.com/advplyr/audiobookshelf/discussions/238

 

14 hours ago, wambo said:

Just installed and did a first start and wanted to leave this error here:
Quite possible that its a file created during the first run:
https://pastebin.com/zC9NxQqU

 

[Error: ENOENT: no such file or directory, access '/config/users/data/data.1.json'] {
 
errno: -2,
code: 'ENOENT',
syscall: 'access',
path: '/config/users/data/data.1.json'
}

 

 

Yeah this is an issue with the db. It doesn't have any impact so I haven't gotten to it yet.

Link to comment

I cannot seem to get the nginx proxy manager settings to work. I am using a Cloudflare DNS with strict SSL, meaning I need to use a custom cert provided by Cloudflare. When I set up the proxy host, I can use my browser to navigate to ABS just fine without using the code provided on the github, but the app does not connect to the server. Adding the code from the github makes Cloudflare say there is an invalid cert, and I can't figure out how to correct that. Any help would be much appreciated.

Link to comment
11 minutes ago, keitaro26 said:

I cannot seem to get the nginx proxy manager settings to work. I am using a Cloudflare DNS with strict SSL, meaning I need to use a custom cert provided by Cloudflare. When I set up the proxy host, I can use my browser to navigate to ABS just fine without using the code provided on the github, but the app does not connect to the server. Adding the code from the github makes Cloudflare say there is an invalid cert, and I can't figure out how to correct that. Any help would be much appreciated.

 

I know you said you checked github, but I just want to make sure you've seen other threads that may help:

https://github.com/advplyr/audiobookshelf/discussions/238

https://github.com/advplyr/audiobookshelf/discussions/126
https://github.com/advplyr/audiobookshelf-app/issues/36

Your best bet is to open an issue or start a discussion on the github page with your setup and config.

 

We really need to add a page on the website https://audiobookshelf.org/docs with all the details to help with setting up reverse proxy and ssl. If anyone seeing this wants to help contribute to the project, that would be a big help (website is open source also: https://github.com/advplyr/audiobookshelf-web)

Link to comment
19 minutes ago, advplyr said:

 

I know you said you checked github, but I just want to make sure you've seen other threads that may help:

https://github.com/advplyr/audiobookshelf/discussions/238

https://github.com/advplyr/audiobookshelf/discussions/126
https://github.com/advplyr/audiobookshelf-app/issues/36

Your best bet is to open an issue or start a discussion on the github page with your setup and config.

 

We really need to add a page on the website https://audiobookshelf.org/docs with all the details to help with setting up reverse proxy and ssl. If anyone seeing this wants to help contribute to the project, that would be a big help (website is open source also: https://github.com/advplyr/audiobookshelf-web)

 

I have looked through those discussions, but no luck. I think the issue is the part of the code for the SSL, but I'm not entirely sure. I'll see about opening a new issue/discussion on github, but if anyone here has ideas, it's much appreciated.

Link to comment
On 1/4/2022 at 11:06 AM, keitaro26 said:

 

I have looked through those discussions, but no luck. I think the issue is the part of the code for the SSL, but I'm not entirely sure. I'll see about opening a new issue/discussion on github, but if anyone here has ideas, it's much appreciated.

 

Sounds like your issue has to do with NGINX and not Audiobookshelf.

 

Cloudflare is issuing you a certificate to use. Does that include a private key? If not, then I am not sure how you would use this.

 

Any certificate has to two parts, the certificate it'self and the private key, which was used to generate the certificate. In the NGINX config you need to specify both parts like this:

 

        ssl_certificate      /path/to/certificate;
        ssl_certificate_key  /path/to/key;

 

Both of these are basically just plain text files, one with the cert in it, the other with the key. Your actual code should look something like this:

 

        ssl_certificate      /etc/nginx/ssl/domain.name.crt;
        ssl_certificate_key  /etc/nginx/ssl/domain.name.key;

 

Where domain.name.crt is the certificate file from Cloud flare, and domain.name.key is the private key used to generate the certificate.

 

If Cloud flair is issuing you a certificate used for authentication, without a key, then whatever service you are using from them probably won't work with this as a proxy.

 

This might help: https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-20-04

  • Like 1
Link to comment
14 hours ago, lutiana said:

 

Sounds like your issue has to do with NGINX and not Audiobookshelf.

 

Cloudflare is issuing you a certificate to use. Does that include a private key? If not, then I am not sure how you would use this.

 

Any certificate has to two parts, the certificate it'self and the private key, which was used to generate the certificate. In the NGINX config you need to specify both parts like this:

 

        ssl_certificate      /path/to/certificate;
        ssl_certificate_key  /path/to/key;

 

Both of these are basically just plain text files, one with the cert in it, the other with the key. Your actual code should look something like this:

 

        ssl_certificate      /etc/nginx/ssl/domain.name.crt;
        ssl_certificate_key  /etc/nginx/ssl/domain.name.key;

 

Where domain.name.crt is the certificate file from Cloud flare, and domain.name.key is the private key used to generate the certificate.

 

If Cloud flair is issuing you a certificate used for authentication, without a key, then whatever service you are using from them probably won't work with this as a proxy.

 

This might help: https://www.digitalocean.com/community/tutorials/how-to-host-a-website-using-cloudflare-and-nginx-on-ubuntu-20-04

 

I do have both a cert and a key, and I have set them to the correct path in the code:

 

server
{
        listen 443 ssl;
        server_name audiobooks.magi-plex.com;

        access_log /var/log/nginx/audiobookshelf.access.log;
        error_log /var/log/nginx/audiobookshelf.error.log;

        ssl_certificate      /config/magi-plex.com.pem;
        ssl_certificate_key  /config/magi-plex.com.key;

        location / {
                     proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
                     proxy_set_header  X-Forwarded-Proto $scheme;
                     proxy_set_header  Host              $host;
                     proxy_set_header Upgrade            $http_upgrade;
                     proxy_set_header Connection         "upgrade";

                     proxy_http_version                  1.1;

                     proxy_pass                          http://192.168.1.110:13378;
                     proxy_redirect                      http:// https://;
                   }
}

 

But I get the following when I navigate to my url:

 

image.thumb.png.79cac4e32f1a31fff18951a927c97413.png

 

Can you tell what I am doing wrong?

Link to comment
7 hours ago, keitaro26 said:

Can you tell what I am doing wrong?

 

See step 3 in the link I added that take you to the digital ocean instructions. You need to add the authenticated origin stuff in your config:

 

    ssl_certificate        /config/magi-plex.com.pem;
    ssl_certificate_key    /config/magi-plex.com.key;
    
    ssl_client_certificate /config/cloudflare.crt;
    ssl_verify_client      on;

 

Where cloudflare.crt is:

 

-----BEGIN CERTIFICATE-----
MIIGCjCCA/KgAwIBAgIIV5G6lVbCLmEwDQYJKoZIhvcNAQENBQAwgZAxCzAJBgNV
BAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMRQwEgYDVQQLEwtPcmln
aW4gUHVsbDEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UECBMKQ2FsaWZv
cm5pYTEjMCEGA1UEAxMab3JpZ2luLXB1bGwuY2xvdWRmbGFyZS5uZXQwHhcNMTkx
MDEwMTg0NTAwWhcNMjkxMTAxMTcwMDAwWjCBkDELMAkGA1UEBhMCVVMxGTAXBgNV
BAoTEENsb3VkRmxhcmUsIEluYy4xFDASBgNVBAsTC09yaWdpbiBQdWxsMRYwFAYD
VQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlhMSMwIQYDVQQD
ExpvcmlnaW4tcHVsbC5jbG91ZGZsYXJlLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBAN2y2zojYfl0bKfhp0AJBFeV+jQqbCw3sHmvEPwLmqDLqynI
42tZXR5y914ZB9ZrwbL/K5O46exd/LujJnV2b3dzcx5rtiQzso0xzljqbnbQT20e
ihx/WrF4OkZKydZzsdaJsWAPuplDH5P7J82q3re88jQdgE5hqjqFZ3clCG7lxoBw
hLaazm3NJJlUfzdk97ouRvnFGAuXd5cQVx8jYOOeU60sWqmMe4QHdOvpqB91bJoY
QSKVFjUgHeTpN8tNpKJfb9LIn3pun3bC9NKNHtRKMNX3Kl/sAPq7q/AlndvA2Kw3
Dkum2mHQUGdzVHqcOgea9BGjLK2h7SuX93zTWL02u799dr6Xkrad/WShHchfjjRn
aL35niJUDr02YJtPgxWObsrfOU63B8juLUphW/4BOjjJyAG5l9j1//aUGEi/sEe5
lqVv0P78QrxoxR+MMXiJwQab5FB8TG/ac6mRHgF9CmkX90uaRh+OC07XjTdfSKGR
PpM9hB2ZhLol/nf8qmoLdoD5HvODZuKu2+muKeVHXgw2/A6wM7OwrinxZiyBk5Hh
CvaADH7PZpU6z/zv5NU5HSvXiKtCzFuDu4/Zfi34RfHXeCUfHAb4KfNRXJwMsxUa
+4ZpSAX2G6RnGU5meuXpU5/V+DQJp/e69XyyY6RXDoMywaEFlIlXBqjRRA2pAgMB
AAGjZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgECMB0GA1Ud
DgQWBBRDWUsraYuA4REzalfNVzjann3F6zAfBgNVHSMEGDAWgBRDWUsraYuA4REz
alfNVzjann3F6zANBgkqhkiG9w0BAQ0FAAOCAgEAkQ+T9nqcSlAuW/90DeYmQOW1
QhqOor5psBEGvxbNGV2hdLJY8h6QUq48BCevcMChg/L1CkznBNI40i3/6heDn3IS
zVEwXKf34pPFCACWVMZxbQjkNRTiH8iRur9EsaNQ5oXCPJkhwg2+IFyoPAAYURoX
VcI9SCDUa45clmYHJ/XYwV1icGVI8/9b2JUqklnOTa5tugwIUi5sTfipNcJXHhgz
6BKYDl0/UP0lLKbsUETXeTGDiDpxZYIgbcFrRDDkHC6BSvdWVEiH5b9mH2BON60z
0O0j8EEKTwi9jnafVtZQXP/D8yoVowdFDjXcKkOPF/1gIh9qrFR6GdoPVgB3SkLc
5ulBqZaCHm563jsvWb/kXJnlFxW+1bsO9BDD6DweBcGdNurgmH625wBXksSdD7y/
fakk8DagjbjKShYlPEFOAqEcliwjF45eabL0t27MJV61O/jHzHL3dknXeE4BDa2j
bA+JbyJeUMtU7KMsxvx82RmhqBEJJDBCJ3scVptvhDMRrtqDBW5JShxoAOcpFQGm
iYWicn46nPDjgTU0bX1ZPpTpryXbvciVL5RkVBuyX2ntcOLDPlZWgxZCBp96x07F
AnOzKgZk4RzZPNAxCXERVxajn/FLcOhglVAKo5H0ac+AitlQ0ip55D2/mf8o72tM
fVQ6VpyjEXdiIXWUq/o=
-----END CERTIFICATE-----

 

 

Also, you definitely want to obfuscate your config files here, blank out the URL and the name/location of the certs (I recommend you rename them now).

Edited by lutiana
Link to comment
On 1/7/2022 at 5:41 PM, lutiana said:

 

See step 3 in the link I added that take you to the digital ocean instructions. You need to add the authenticated origin stuff in your config:

 

    ssl_certificate        /config/magi-plex.com.pem;
    ssl_certificate_key    /config/magi-plex.com.key;
    
    ssl_client_certificate /config/cloudflare.crt;
    ssl_verify_client      on;

 

Where cloudflare.crt is:

 

-----BEGIN CERTIFICATE-----
MIIGCjCCA/KgAwIBAgIIV5G6lVbCLmEwDQYJKoZIhvcNAQENBQAwgZAxCzAJBgNV
BAYTAlVTMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMRQwEgYDVQQLEwtPcmln
aW4gUHVsbDEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzETMBEGA1UECBMKQ2FsaWZv
cm5pYTEjMCEGA1UEAxMab3JpZ2luLXB1bGwuY2xvdWRmbGFyZS5uZXQwHhcNMTkx
MDEwMTg0NTAwWhcNMjkxMTAxMTcwMDAwWjCBkDELMAkGA1UEBhMCVVMxGTAXBgNV
BAoTEENsb3VkRmxhcmUsIEluYy4xFDASBgNVBAsTC09yaWdpbiBQdWxsMRYwFAYD
VQQHEw1TYW4gRnJhbmNpc2NvMRMwEQYDVQQIEwpDYWxpZm9ybmlhMSMwIQYDVQQD
ExpvcmlnaW4tcHVsbC5jbG91ZGZsYXJlLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQAD
ggIPADCCAgoCggIBAN2y2zojYfl0bKfhp0AJBFeV+jQqbCw3sHmvEPwLmqDLqynI
42tZXR5y914ZB9ZrwbL/K5O46exd/LujJnV2b3dzcx5rtiQzso0xzljqbnbQT20e
ihx/WrF4OkZKydZzsdaJsWAPuplDH5P7J82q3re88jQdgE5hqjqFZ3clCG7lxoBw
hLaazm3NJJlUfzdk97ouRvnFGAuXd5cQVx8jYOOeU60sWqmMe4QHdOvpqB91bJoY
QSKVFjUgHeTpN8tNpKJfb9LIn3pun3bC9NKNHtRKMNX3Kl/sAPq7q/AlndvA2Kw3
Dkum2mHQUGdzVHqcOgea9BGjLK2h7SuX93zTWL02u799dr6Xkrad/WShHchfjjRn
aL35niJUDr02YJtPgxWObsrfOU63B8juLUphW/4BOjjJyAG5l9j1//aUGEi/sEe5
lqVv0P78QrxoxR+MMXiJwQab5FB8TG/ac6mRHgF9CmkX90uaRh+OC07XjTdfSKGR
PpM9hB2ZhLol/nf8qmoLdoD5HvODZuKu2+muKeVHXgw2/A6wM7OwrinxZiyBk5Hh
CvaADH7PZpU6z/zv5NU5HSvXiKtCzFuDu4/Zfi34RfHXeCUfHAb4KfNRXJwMsxUa
+4ZpSAX2G6RnGU5meuXpU5/V+DQJp/e69XyyY6RXDoMywaEFlIlXBqjRRA2pAgMB
AAGjZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgECMB0GA1Ud
DgQWBBRDWUsraYuA4REzalfNVzjann3F6zAfBgNVHSMEGDAWgBRDWUsraYuA4REz
alfNVzjann3F6zANBgkqhkiG9w0BAQ0FAAOCAgEAkQ+T9nqcSlAuW/90DeYmQOW1
QhqOor5psBEGvxbNGV2hdLJY8h6QUq48BCevcMChg/L1CkznBNI40i3/6heDn3IS
zVEwXKf34pPFCACWVMZxbQjkNRTiH8iRur9EsaNQ5oXCPJkhwg2+IFyoPAAYURoX
VcI9SCDUa45clmYHJ/XYwV1icGVI8/9b2JUqklnOTa5tugwIUi5sTfipNcJXHhgz
6BKYDl0/UP0lLKbsUETXeTGDiDpxZYIgbcFrRDDkHC6BSvdWVEiH5b9mH2BON60z
0O0j8EEKTwi9jnafVtZQXP/D8yoVowdFDjXcKkOPF/1gIh9qrFR6GdoPVgB3SkLc
5ulBqZaCHm563jsvWb/kXJnlFxW+1bsO9BDD6DweBcGdNurgmH625wBXksSdD7y/
fakk8DagjbjKShYlPEFOAqEcliwjF45eabL0t27MJV61O/jHzHL3dknXeE4BDa2j
bA+JbyJeUMtU7KMsxvx82RmhqBEJJDBCJ3scVptvhDMRrtqDBW5JShxoAOcpFQGm
iYWicn46nPDjgTU0bX1ZPpTpryXbvciVL5RkVBuyX2ntcOLDPlZWgxZCBp96x07F
AnOzKgZk4RzZPNAxCXERVxajn/FLcOhglVAKo5H0ac+AitlQ0ip55D2/mf8o72tM
fVQ6VpyjEXdiIXWUq/o=
-----END CERTIFICATE-----

 

 

Also, you definitely want to obfuscate your config files here, blank out the URL and the name/location of the certs (I recommend you rename them now).

 

 

Good to know, I will definitely rename them.

 

As for the added authenticated origin stuff, adding that had no effect on the error.

Link to comment
On 1/8/2022 at 9:57 PM, keitaro26 said:

 

 

Good to know, I will definitely rename them.

 

As for the added authenticated origin stuff, adding that had no effect on the error.

 

Then you'll need to reach to Cloud flare to work out what's missing and/or where to get the correct client connection certificate.

 

Link to comment
  • 2 weeks later...

[RESOLVED]

Loving the application, great progress.  I'm having issues saving backups as root.

 

[2022-01-24T01:59:25.274Z] ERROR: [BackupManager] Invalid user attempting to create backup

There was one initial backup that worked, once I deleted it I was able to start creating additional backups.

Edited by Grrrreg
resolved issue
Link to comment

So here's a question... Let's say I use the recommended file structure (which I have spent the last 8 hours reorganizing to😆), but have a series that is composed by different authors (the first 11 Wheel of Time books for example were written by Robert Jordan, but Brandon Sanderson wrote the final 3 books after Jordan's death.) If I have that series under different authors, but the Series name is identical between the two, will they show up in the same series in the app? If so, that would be an awesome solution to the conundrums I typically have with naming conventions anyway! That would solve some other issues I run into with other media types (thinking comic story-arcs) as well.

Link to comment
5 minutes ago, snowmangoh said:

So here's a question... Let's say I use the recommended file structure (which I have spent the last 8 hours reorganizing to😆), but have a series that is composed by different authors (the first 11 Wheel of Time books for example were written by Robert Jordan, but Brandon Sanderson wrote the final 3 books after Jordan's death.) If I have that series under different authors, but the Series name is identical between the two, will they show up in the same series in the app? If so, that would be an awesome solution to the conundrums I typically have with naming conventions anyway! That would solve some other issues I run into with other media types (thinking comic story-arcs) as well.

 

Yes, if you name the series folder the exact same in multiple author folders then they will be in the same series. There is a thread open to discuss how to improve this https://github.com/advplyr/audiobookshelf/issues/320, but still haven't landed on the best way to handle this.

Link to comment
15 minutes ago, advplyr said:

 

Yes, if you name the series folder the exact same in multiple author folders then they will be in the same series. There is a thread open to discuss how to improve this https://github.com/advplyr/audiobookshelf/issues/320, but still haven't landed on the best way to handle this.

I might just cry with joy... That is freaking amazing. I'll go check that discussion out. Now I'm going to go reorganize all of my ebooks in the hopeful expectation you continue to be awesome. Thanks!!

  • Thanks 1
Link to comment

After reading that discussion, I feel everyone's pain (because I just did the work), but I believe the way you have it now just makes sense... It will also make grabbing future things and automating the organization WAY simpler... Everything has an author/s, but not everything has a series. The kind of fuzzy logic needed just to organize that way doesn't make sense if you're trying to automate... Only now am I realizing how much mental work deciding how to organize and name files in the past was.

Link to comment
Just now, snowmangoh said:

After reading that discussion, I feel everyone's pain (because I just did the work), but I believe the way you have it now just makes sense... It will also make grabbing future things and automating the organization WAY simpler... Everything has an author/s, but not everything has a series. The kind of fuzzy logic needed just to organize that way doesn't make sense if you're trying to automate... Only now am I realizing how much mental work deciding how to organize and name files in the past was.

 

Yeah there is a lot of different edge cases, like books belonging to multiple series. I think the way to go is to allow users to rely less on their directory structure if they choose. In that thread you can see several people are choosing to prefer using their OPF files over directory structure.

  • Like 1
Link to comment
4 minutes ago, advplyr said:

I'm not sure how many audiobooks you have to do remove, but it may be easier to go to Issues then batch remove them.

You can remove all audiobooks though on the first config page, there is a button that deletes and re-creates the audiobooks db.

Holy crap... I've only looked at that page a few times trying to find other things. Thanks!

 

I have about 1400 audiobooks, lol

  • 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";
    }
  }

 

Is there an example for subdirectories?  I tried a few things but seems to still be fighting me.

 

Link to comment
  • 3 weeks later...
On 2/17/2022 at 2:12 PM, Bryans1981 said:

Is there an example for subdirectories?  I tried a few things but seems to still be fighting me.

 

 

Same issue here.

location ^~ /audiobookshelf {
    # 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, also customize and enable ldap.conf in the default conf
    #auth_request /auth;
    #error_page 401 =200 /ldaplogin;

    # enable for Authelia, also enable authelia-server.conf in the default site config
    #include /config/nginx/authelia-location.conf;

    include /config/nginx/proxy.conf;
    include /config/nginx/resolver.conf;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_pass http://<INTERNAL_IP>:13378

}

 

Returns

Cannot GET /audiobookshelf

 

I've seen a config online saying to set a container variable CONTEXT_PATH to '/audiobookshelf' or presumably whatever you want the subfolder to be however that does not change the outcome. I think the problem likely lies with audiobookshelf itself not supporting a subfolder in the address.

Link to comment
2 minutes ago, UncleBacon said:

 

Same issue here.

location ^~ /audiobookshelf {
    # 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, also customize and enable ldap.conf in the default conf
    #auth_request /auth;
    #error_page 401 =200 /ldaplogin;

    # enable for Authelia, also enable authelia-server.conf in the default site config
    #include /config/nginx/authelia-location.conf;

    include /config/nginx/proxy.conf;
    include /config/nginx/resolver.conf;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_pass http://<INTERNAL_IP>:13378

}

 

Returns

Cannot GET /audiobookshelf

 

I've seen a config online saying to set a container variable CONTEXT_PATH to '/audiobookshelf' or presumably whatever you want the subfolder to be however that does not change the outcome. I think the problem likely lies with audiobookshelf itself not supporting a subfolder in the address.

 

Subfolder in address is not supported yet. It's going to be a big task to add support for this so still trying to think of the best way.

Link to comment
  • advplyr changed the title to [Support] Audiobookshelf

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.