mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Enhancement]: Update either documentation or docker file for audiobookshelf health test #2810
Open
opened 2026-04-25 00:10:50 +02:00 by adam
·
6 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
No Label
enhancement
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#2810
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 @heinrich-k on GitHub (May 30, 2025).
Type of Enhancement
Documentation
Describe the Feature/Enhancement
Hi,
there is documentation for audiobookshelf as docker container under
https://github.com/advplyr/audiobookshelf/pkgs/container/audiobookshelf
but it is insufficient.
There is no valid documentation on how to set up a health check in the compose.yml file to have docker check the audiobookshelf container.
Apparently there is something like http://localhost:13378/healthcheck but it can't be curl-ed since there is no curl in the official audiobookshelf container and no sufficient other documentation, on how to use it.
Please, elaborate.
Best regards
Heinrich
Why would this be helpful?
I want to setup the healthcheck for the docker container.
Future Implementation (Screenshot)
Something like this should work in the docker compose.yml
healthcheck:
test: "curl -f --fail http://localhost:13378/healthcheck || exit 1"
interval: 30s
timeout: 3s
retries: 3
Audiobookshelf Server Version
v2.23.0 (docker)
Current Implementation (Screenshot)
No response
@DieselTech commented on GitHub (May 30, 2025):
Blindly running health checks in docker without having a way to fix any issues isn't recommended. Just restarting the "failing" container over and over when the health check fails is not a proper solution.
curlis no longer included in the docker image because ABS does not use the program at all. It is more beneficial to trim out excess space from the image and shrink it so the greatest number of people get benefit from it.@jeffreyswiggins commented on GitHub (Jun 3, 2025):
While I get removing bloat or unused "things" from containers where ever possible, your assertion several times in comments is that this is a waste of time because someone uses a healthcheck but does not monitor it. You assume no one uses something to monitor those results.
Guess I will look into another product like LogForge to see if I can start using it, because if your "assertion" is the new normal then we need "waste" resources spinning up a container to monitor all the containers that we can no longer get a valid healthcheck from.
Not trying to be snarky, but your answer takes a lot of liberties with how other people run their docker containers and how they should or should not monitor them.
I love this container and use it a lot so most of the time I never see any problems with it, but noticed the unhealthy status myself as I have (now had) the healthcheck in my yaml compose and had not had time to see why it was stating that..... today I looked and found that "curl" failed and then found this thread....
Appreciate all the hard work that goes into this.
@advplyr commented on GitHub (Jun 3, 2025):
You can use
wgetto do the health check@DieselTech commented on GitHub (Jun 3, 2025):
Exactly that. It isn't that people are being prevented from doing health checks should they want to, is it that the default configuration out of the box (IMO) shouldn't be configured to do them when the vast majority of people don't use it. If it is something you want, you can add it yourself. Burning in the health check into the dockerfile forces it on people who don't have a way of using it. Whereas if you just add the health check on your own inside of your private compose file then it makes it a "you" thing. The project doesn't need to maintain or document features that it isn't using for services outside of its scope.
@andrey-kondratov commented on GitHub (Jun 6, 2025):
I am not an expert in reverse proxies set up, but it seems when you restart an upstream such as audiobookshelf running behind nginx, the latter would start responding with 502 Bad Gateway errors. And unless you want to reconfigure healthcheck on Nginx (which has its downsides), it helps to have a config like this:
This way both
audiobookshelfis checked (although not very often), and you don't have to reconfigure nginx defaults.If ABS docs mentions nginx in the docs, maybe there is a need to ensure the suggested nginx.conf is resilient?
@jeffreyswiggins commented on GitHub (Jun 6, 2025):
This makes sense and I like the setup, I do not personal use the “on premise” proxy server anymore and utilize Cloudflare Zero Trust Tunnels cause I like that security better…. I know it is no hosted and they could potentially “see the traffic” but the latter is no consequences to me for what I am doing.