baa65b8155
Add tini as PID 1 handler in container image
...
This PR adds `tini` to the container image and uses it as PID 1 when
starting the container. This ensures that proper PID 1 signal-handling
is implemented and passed to the underlying node.js process, thereby
ensuring that the ABS process has a chance to receive and handle signals
other than `SIGKILL`, such as the important `SIGINT`.
This is somewhat related to #2445 . Without this, the signal handled by
2445 won't be received when running in a container.
Some background:
In linux, PID 1 has special duties involving signal handling that are
different than other processes. Node doesn't properly handle these
signals, which can lead to a number of problems ranging from annoying to
disruptive. PID 1 also has reaping duties that can lead to resource
exhaustion if not properly handled.
For example, the container ignores `SIGINT` (Ctrl+C) as well as `docker stop`,
which can be annoying in development as you have to kill or wait for
the timeout to be reached. In a production environment (such as Kubernetes)
this can lead to signal escalation and unnecessarily adds delays to
deployments and restarts as K8s has to wait for the timeout to be reached
before sending `SIGKILL`.
At best this is annoying and unnecessarily adds
delays. At worst this can lead to file/data corruption as the process
doesn't get a chance to clean anything up when it is sent `SIGKILL`.
Without a proper PID 1 to forward signals, only SIGKILL can be used to
terminate the running process.
2024-01-03 13:55:43 -07:00
12c6a1baa0
Fix log messages
2024-01-03 20:42:35 +01:00
5ea423072b
Small fixes
2024-01-03 20:40:36 +01:00
08a41e37b4
Add specification
2024-01-03 20:27:42 +01:00
8027c4a06f
Added support for custom metadata providers
...
WiP but already open to feedback
2024-01-03 20:25:34 +01:00
a1e321b153
Update fr.json
2024-01-03 20:16:21 +01:00
8c6a2ac5dd
Merge pull request #2391 from mikiher/binary-manager
...
Add a binary manager that finds ffmpeg and ffprobe and installs them if not found
2024-01-02 14:25:56 -06:00
b489bf9236
Restrict binary manager to Windows or development
2024-01-02 14:24:59 -06:00
aa63aa6cf3
Merge branch 'master' into binary-manager
2024-01-02 14:16:27 -06:00
9a2b93fb37
Version bump v2.7.1
v2.7.1
2023-12-31 15:37:23 -06:00
e8ea7efc98
Merge branch 'master' of https://github.com/advplyr/audiobookshelf
2023-12-31 15:36:37 -06:00
81a76593da
Fix:Merging chapters from multiple audio files with the same chapter titles #2461
2023-12-31 15:35:17 -06:00
5336864f7d
Merge pull request #2465 from thevoltagesource/getFileMtimeMs_Unhandled_Exception
...
Add try/catch to fileUtils.getFileMtimeMs
2023-12-31 15:34:43 -06:00
d38058e1d2
Fix:Podcast episode time remaining shown on button showing 0 seconds after toggling mark as finished
2023-12-31 15:32:44 -06:00
fececd4651
Fix:Playlists navigation button not showing on mobile screen #2469
2023-12-31 15:09:35 -06:00
021adf3104
Update:Podcast episode table is lazy loaded #1549
2023-12-31 14:51:01 -06:00
160c83df4a
Update:podcastEpisodes table index added for createdAt column #2073 #2075
2023-12-30 16:14:14 -06:00
456bb87a00
Update:Find one library item endpoint sequelize query split into two queries to improve performance #2073 #2075
2023-12-30 12:12:48 -06:00
707451309c
Merge branch 'master' of https://github.com/advplyr/audiobookshelf
2023-12-29 17:05:40 -06:00
269676e8a5
Update:CORS for /cover API endpoint for use in canvas in the mobile apps
2023-12-29 17:05:35 -06:00
e4effebc19
Add try/catch to fileutils.getFileMtimeMs
2023-12-29 10:04:59 -06:00
fbbceddba8
Merge pull request #2454 from mikiher/socket-authority-close
...
Add SocketAuthority.close()
2023-12-28 16:32:40 -06:00
9a634e0de5
Add JS docs for server stop
2023-12-28 16:32:21 -06:00
21d0d43edc
Add SocketAuthority.close()
2023-12-27 15:33:33 +02:00
3051b963ef
Merge branch 'advplyr:master' into binary-manager
2023-12-27 06:44:22 +02:00
0d0bdce337
Fix:Fetch RSS feed request accept header #2446
2023-12-25 13:15:55 -06:00
bdb5dc8c28
Merge pull request #2445 from mikiher/sigint-handler
...
Add a SIGINT handler for proper server shutdown
2023-12-25 12:51:22 -06:00
209847d98a
Add a SIGINT handler for proper server shutdown
2023-12-25 09:25:04 +02:00
14f42e15d1
Fix:Book scanner update book series sequence if changed
2023-12-24 11:53:57 -06:00
7402e4811d
Merge pull request #2444 from jedrus2000/opf-multiple-series-support
...
Add: OPF file supports multiple series as sequence of : calibre:series and calibre:series_index; including tests
2023-12-24 11:42:06 -06:00
6de0465b86
Update opf parser to ignore series with empty content and add tests
2023-12-24 11:41:27 -06:00
cd7c4baaaf
Add: OPF file supports multiple series as sequence of : calibre:series and calibre:series_index; including tests
2023-12-24 00:43:42 +01:00
a2db81bf7d
Fix share button for year in review short card
v2.7.0
2023-12-23 17:13:44 -06:00
b376f89ce5
Version bump v2.7.0
2023-12-23 17:05:44 -06:00
5633113f25
Update share buttons to not show an error on abort
2023-12-23 16:39:56 -06:00
669415cfbf
Merge pull request #2431 from pablojimenezmateo/comic-zoom
...
Add zoom controls to comic reader
2023-12-23 16:18:23 -06:00
9f366863a9
Update comic reader buttons for mobile screens, add left scrollBy
2023-12-23 16:16:24 -06:00
0d644fe0c9
Add:Year in review banner for user stats page #2373
2023-12-23 15:29:34 -06:00
72fa6b8200
Fix:Show cover size widget when audio player is open #2443
2023-12-23 10:50:04 -06:00
6d3f1d263a
Merge pull request #2442 from JBlond/master
...
Follow up Translations for 76119445a3
2023-12-23 08:55:28 -06:00
47bf9f7836
Follow up Translations for 76119445a3
...
* Update:Listening sessions table for multi-select, sorting and rows per page
- Updated get all sessions API endpoint to include sorting
- Added sessions API endpoint for batch deleting
2023-12-23 14:42:56 +01:00
2738402aac
Add:Year in review card for server stats #2373
2023-12-22 17:01:07 -06:00
68d36522b1
Update:Listening sessions table UI for mobile
2023-12-21 14:36:51 -06:00
24a587b944
Update:Remove playback sessions that are 3s or less on startup
2023-12-21 14:29:36 -06:00
76119445a3
Update:Listening sessions table for multi-select, sorting and rows per page
...
- Updated get all sessions API endpoint to include sorting
- Added sessions API endpoint for batch deleting
2023-12-21 13:52:42 -06:00
46ec59c74e
Update:Year in review card prevent text overflow for narrator, author and genre #2373
2023-12-21 09:44:37 -06:00
2b7122c744
Update:Year stats API endpoint & generate year in review image #2373
2023-12-20 17:18:21 -06:00
52f0a5432b
feat: enable zoom through the arrow buttons
2023-12-20 11:45:21 +01:00
7391b4d0ec
Add:User stats API for year stats
2023-12-19 17:19:33 -06:00
aa7ee3e8ff
fix: zoom buttons were showing when loading the image
2023-12-19 18:45:11 +01:00