[Enhancement]: Customizing the placeholder/default cover image #3018

Open
opened 2026-04-25 00:13:00 +02:00 by adam · 8 comments
Owner

Originally created by @sinofski on GitHub (Sep 26, 2025).

Type of Enhancement

None

Describe the Feature/Enhancement

all default covers are red.

Why would this be helpful?

I hate the default red cover.

Future Implementation (Screenshot)

no screenshot

Audiobookshelf Server Version

v2.29

Current Implementation (Screenshot)

No response

Originally created by @sinofski on GitHub (Sep 26, 2025). ### Type of Enhancement None ### Describe the Feature/Enhancement all default covers are red. ### Why would this be helpful? I hate the default red cover. ### Future Implementation (Screenshot) no screenshot ### Audiobookshelf Server Version v2.29 ### Current Implementation (Screenshot) _No response_
adam added the enhancement label 2026-04-25 00:13:00 +02:00
Author
Owner

@advplyr commented on GitHub (Sep 26, 2025):

Do you have a suggestion? We're working on a new client and I agree that red cover does not fit the look of Abs anymore.

Ideally you set your own covers so I'm not sure we should make that customizable but we can find a more suitable alternative.

@advplyr commented on GitHub (Sep 26, 2025): Do you have a suggestion? We're working on a new client and I agree that red cover does not fit the look of Abs anymore. Ideally you set your own covers so I'm not sure we should make that customizable but we can find a more suitable alternative.
Author
Owner

@Vito0912 commented on GitHub (Sep 26, 2025):

Ideally you set your own covers so I'm not sure we should make that customizable but we can find a more suitable alternative.

Can't we just have a media directory with static files and reserve a dir for mountable media? It's more or less what Authentik does, and I think it's genius. You can't upload anything (so no logic there), but you can mount files directly to the "public" media e.g. via docker and reference them via a path (native would then have to put it there manually ofc ). Then it would just be a different path that is served on no-cover-books.
Just an idea to not have to setup new upload ui and api routes etc.
Edit: Or not even customize the path, but let users override the actual image via a mnt

@Vito0912 commented on GitHub (Sep 26, 2025): > Ideally you set your own covers so I'm not sure we should make that customizable but we can find a more suitable alternative. Can't we just have a media directory with static files and reserve a dir for mountable media? It's more or less what Authentik does, and I think it's genius. You can't upload anything (so no logic there), but you can mount files directly to the "public" media e.g. via docker and reference them via a path (native would then have to put it there manually ofc ). Then it would just be a different path that is served on no-cover-books. Just an idea to not have to setup new upload ui and api routes etc. Edit: Or not even customize the path, but let users override the actual image via a mnt
Author
Owner

@jmswangit commented on GitHub (Sep 26, 2025):

Or not even customize the path, but let users override the actual image via a mnt

I’m already doing this with the ABS logo, as seen below:
Image
Mounting files to the /app/client/dist/_nuxt/img/ works for now, but a supported solution would be even better.

@jmswangit commented on GitHub (Sep 26, 2025): > Or not even customize the path, but let users override the actual image via a mnt I’m already doing this with the ABS logo, as seen below: ![Image](https://github.com/user-attachments/assets/1d88ae77-8fdb-4f04-9874-86d8a33bbdbf) Mounting files to the `/app/client/dist/_nuxt/img/` works for now, but a supported solution would be even better.
Author
Owner

@Vito0912 commented on GitHub (Sep 26, 2025):

Ah I thought the file name is random for nuxt. But nice to know.

but a supported solution would be even better.

But if that's possible I think that could be made the "offical" solution. It's probably too small to add completely new routes if one can simply replace the file (which add the end uploading would be). I am not sure what @advplyr opinion is on that

(And that would the probably also work for authors. So no code needed for that too)

@Vito0912 commented on GitHub (Sep 26, 2025): Ah I thought the file name is random for nuxt. But nice to know. > but a supported solution would be even better. But if that's possible I think that could be made the "offical" solution. It's probably too small to add completely new routes if one can simply replace the file (which add the end uploading would be). I am not sure what @advplyr opinion is on that (And that would the probably also work for authors. So no code needed for that too)
Author
Owner

@jmswangit commented on GitHub (Sep 26, 2025):

While it works for Docker Compose, I assume it doesn’t work for all installations, like I would guess a windows installation. I think for that reason it can’t really be considered an official or supported solution, as much as I’d like it to be. Audiobookshelf doesn’t even currently have the ability to be adjusted with CSS or JS without massively breaking things. I think some moderate changes, like you were suggesting before, Vito, would be enormously beneficial.

@jmswangit commented on GitHub (Sep 26, 2025): While it works for Docker Compose, I assume it doesn’t work for all installations, like I would guess a windows installation. I think for that reason it can’t really be considered an official or supported solution, as much as I’d like it to be. Audiobookshelf doesn’t even currently have the ability to be adjusted with CSS or JS without massively breaking things. I think some moderate changes, like you were suggesting before, Vito, would be enormously beneficial.
Author
Owner

@Vito0912 commented on GitHub (Sep 26, 2025):

like I would guess a windows installation

As the Windows installation is only a wrapper and not ABS itself, there would need to be an option to access the underlying files within. This would be the same as allowing custom media to be mounted to a media directory (unless we allowed the whole file system to be used, but that was not what I meant).

This should not mean it's the best solution!

Offtopic regarding this:

Audiobookshelf doesn’t even currently have the ability to be adjusted with CSS or JS without massively breaking things

Yes ABS has no support for it, but why should adding a CSS sheet or JS break the functionality, unless overwriting some code. There are some css unfriedly HTML elements, but nothing that should "massivley break things". Or do I overlook something. If so I might try to fix

@Vito0912 commented on GitHub (Sep 26, 2025): > like I would guess a windows installation As the Windows installation is only a wrapper and not ABS itself, there would need to be an option to access the underlying files within. This would be the same as allowing custom media to be mounted to a media directory (unless we allowed the whole file system to be used, but that was not what I meant). This should not mean it's the best solution! Offtopic regarding this: > Audiobookshelf doesn’t even currently have the ability to be adjusted with CSS or JS without massively breaking things Yes ABS has no support for it, but why should adding a CSS sheet or JS break the functionality, unless overwriting some code. There are some css unfriedly HTML elements, but nothing that should "massivley break things". Or do I overlook something. If so I might try to fix
Author
Owner

@advplyr commented on GitHub (Sep 26, 2025):

Mounting files to the /app/client/dist/_nuxt/img/ works for now, but a supported solution would be even better.

Thanks for pointing this out.

I agree this is the official solution. We won't be making this customizable through the interface or any other way.

As I mentioned I think we are due for an update on that default cover image. I put that in the very first release when Abs looked much different than it does now. Let me know if you have suggestions.

Also note that we are working on an entirely new client. We are building that with theming in mind. Meaning that we'll try to put a lot of the styles into CSS variables.

@advplyr commented on GitHub (Sep 26, 2025): > Mounting files to the `/app/client/dist/_nuxt/img/` works for now, but a supported solution would be even better. Thanks for pointing this out. I agree this is the official solution. We won't be making this customizable through the interface or any other way. As I mentioned I think we are due for an update on that default cover image. I put that in the very first release when Abs looked much different than it does now. Let me know if you have suggestions. Also note that we are working on an entirely new client. We are building that with theming in mind. Meaning that we'll try to put a lot of the styles into CSS variables.
Author
Owner

@Vito0912 commented on GitHub (Sep 27, 2025):

I agree this is the official solution.

I would add this to a page in the new docs then, if nothing speaks against it?

@Vito0912 commented on GitHub (Sep 27, 2025): > I agree this is the official solution. I would add this to a page in the new docs then, if nothing speaks against it?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#3018