mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Enhancement]: Ignore file similar to .gitignore and .plexignore #1042
Open
opened 2026-04-24 23:29:45 +02:00 by adam
·
16 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#1042
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hypnotoad08 on GitHub (Apr 1, 2023).
Describe the feature/enhancement
This is a minor feature request as it doesn't affect functionality. I noticed that the Library files section for some of the audiobook files I have moved to my shared Audiobook folder on my Synology NAS are showing some hidden files/folders that are created by the NAS. Can the Library files section filter out these hidden files/folders?

@CLHatch commented on GitHub (Apr 2, 2023):
This is handled by Plex with
.plexignorefiles that can be created to specify patterns of files/folders to be ignored. Something similar could be created for ABS. https://support.plex.tv/articles/201381883-special-keyword-file-folder-exclusion/@CLHatch commented on GitHub (Apr 2, 2023):
SyncThing has a similar file you can use to set files/folders to ignore.
@advplyr commented on GitHub (Apr 2, 2023):
You can use a
.ignorefile@raphpa commented on GitHub (Apr 14, 2023):
It is a little bit more complicated with the
@eaDirfolder. The NAS creates it automatically in every folder with media in it. So if you have your library sorted in subfolders you would have to manually put the.ignorefile manually into every single one of them.A global ignore option would be great for this case, especially if you autopopulate your library.
@hypnotoad08 commented on GitHub (Apr 14, 2023):
Yes I was hoping for a global fix
@theolike commented on GitHub (Apr 24, 2023):
Agreed. It has to be a configurable global filter. While this one is specifically a Synology quirk, there are many other systems that use a similar process for indexing, thumbnails, etc. For example, Windows and it's thumbs.db files. I haven't been through the indexer code yet (and I guess I should do that), but is there already filter logic in it, even if for only a hard coded list?
(Also, no matter what kind of spoon you are, "Journey before destination", Radiant.)
@CLHatch commented on GitHub (Apr 24, 2023):
Yeah, I actually just had to add an "ignore" option for one other folder in my SyncThing shares. I noticed that
.@__thumbfolders kept appearing in folders. It contained thumbnails of various sizes. Ends up, someone else in the share has a QNAP, it creates them. Added(?d).@__thumb, and all good (the(?d)tells SyncThing it's ok to delete the files if it's needed to delete the parent folder. Obviously flags like that aren't needed for ABS.)@DDriggs00 commented on GitHub (Jul 10, 2023):
Additionally, when deleting an item from the library only (not filesystem), it would be useful to add an option to create an ignore file on the offending directory.
@iconoclasthero commented on GitHub (Sep 17, 2023):
mpd also has this and it would be useful to have .absignore similar to .mpdignore
@nichwall commented on GitHub (Dec 9, 2023):
Doing a bit of research tonight looks like
node-ignoremay be a useful package for adding an ignore list. Just putting this here for reference. I couldn't find many resources for creating ignore list functionality (just kept getting references of how to use gitignore, plexignore, etc, not actual implementations)https://github.com/kaelzhang/node-ignore
Edit to add: To add this to the UI, I think this would fit best as a new tab on library settings (so library specific ignores and only one set of ignores per library). There can either be a few default values with a "reset to defaults button", or a link to some documentation with some "good default values" that users need to manually enter. Similar to the SyncThing interface as mentioned before.
@rage1337 commented on GitHub (Dec 28, 2023):
Found a workaround for my use case (described here):
This approach helps me to exclude my workfolder: Stackoverflow
Added the line
- /audiobooks/_the to the volume config of my docker-compose.yml
The folder is there, but empty inside the container.
@iconoclasthero commented on GitHub (Apr 5, 2024):
I think i put a FR in for this. I don't know what's going on above, but I could use this right now. Also, I'd want to behave the way that .mpdignore behaves so I could put
tmpin .absignore in the root of the library and be done with it.@chinajuanbob commented on GitHub (Dec 31, 2024):
Any updates or solution for this? Thx!
@nichwall commented on GitHub (Feb 24, 2025):
2.19.5 updated the ignore list. There is still not a user configurable option, but the framework is there to more easily add vendor specific folders and extensions.
https://github.com/advplyr/audiobookshelf/pull/4031
@SAS-1 commented on GitHub (Feb 24, 2025):
Nice one kicked off a scan and all the eadir is gone.
@thrandale commented on GitHub (Mar 17, 2026):
It's better now, but I'd still love to see the ability to specify a
.ignorefile in the base library directory, with the contents being what I'd like to ignore. Following the format of something like a.gitignore. Some example usecases:#recyclenot.recycle, meaning it isn't ignored.temp....wavfiles that I would like to be able to ignore.