Benjamin Porter
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
Barnabas Ratki
12c6a1baa0
Fix log messages
2024-01-03 20:42:35 +01:00
Barnabas Ratki
5ea423072b
Small fixes
2024-01-03 20:40:36 +01:00
Barnabas Ratki
08a41e37b4
Add specification
2024-01-03 20:27:42 +01:00
Barnabas Ratki
8027c4a06f
Added support for custom metadata providers
...
WiP but already open to feedback
2024-01-03 20:25:34 +01:00
Machou
a1e321b153
Update fr.json
2024-01-03 20:16:21 +01:00
advplyr
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
advplyr
b489bf9236
Restrict binary manager to Windows or development
2024-01-02 14:24:59 -06:00
advplyr
aa63aa6cf3
Merge branch 'master' into binary-manager
2024-01-02 14:16:27 -06:00
advplyr
9a2b93fb37
Version bump v2.7.1
2023-12-31 15:37:23 -06:00
advplyr
e8ea7efc98
Merge branch 'master' of https://github.com/advplyr/audiobookshelf
2023-12-31 15:36:37 -06:00
advplyr
81a76593da
Fix:Merging chapters from multiple audio files with the same chapter titles #2461
2023-12-31 15:35:17 -06:00
advplyr
5336864f7d
Merge pull request #2465 from thevoltagesource/getFileMtimeMs_Unhandled_Exception
...
Add try/catch to fileUtils.getFileMtimeMs
2023-12-31 15:34:43 -06:00
advplyr
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
advplyr
fececd4651
Fix:Playlists navigation button not showing on mobile screen #2469
2023-12-31 15:09:35 -06:00
advplyr
021adf3104
Update:Podcast episode table is lazy loaded #1549
2023-12-31 14:51:01 -06:00
advplyr
160c83df4a
Update:podcastEpisodes table index added for createdAt column #2073 #2075
2023-12-30 16:14:14 -06:00
advplyr
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
advplyr
707451309c
Merge branch 'master' of https://github.com/advplyr/audiobookshelf
2023-12-29 17:05:40 -06:00
advplyr
269676e8a5
Update:CORS for /cover API endpoint for use in canvas in the mobile apps
2023-12-29 17:05:35 -06:00
Jacob Southard
e4effebc19
Add try/catch to fileutils.getFileMtimeMs
2023-12-29 10:04:59 -06:00
advplyr
fbbceddba8
Merge pull request #2454 from mikiher/socket-authority-close
...
Add SocketAuthority.close()
2023-12-28 16:32:40 -06:00
advplyr
9a634e0de5
Add JS docs for server stop
2023-12-28 16:32:21 -06:00
mikiher
21d0d43edc
Add SocketAuthority.close()
2023-12-27 15:33:33 +02:00
mikiher
3051b963ef
Merge branch 'advplyr:master' into binary-manager
2023-12-27 06:44:22 +02:00
advplyr
0d0bdce337
Fix:Fetch RSS feed request accept header #2446
2023-12-25 13:15:55 -06:00
advplyr
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
mikiher
209847d98a
Add a SIGINT handler for proper server shutdown
2023-12-25 09:25:04 +02:00
advplyr
14f42e15d1
Fix:Book scanner update book series sequence if changed
2023-12-24 11:53:57 -06:00
advplyr
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
advplyr
6de0465b86
Update opf parser to ignore series with empty content and add tests
2023-12-24 11:41:27 -06:00
Andrzej Bargański
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
advplyr
a2db81bf7d
Fix share button for year in review short card
2023-12-23 17:13:44 -06:00
advplyr
b376f89ce5
Version bump v2.7.0
2023-12-23 17:05:44 -06:00
advplyr
5633113f25
Update share buttons to not show an error on abort
2023-12-23 16:39:56 -06:00
advplyr
669415cfbf
Merge pull request #2431 from pablojimenezmateo/comic-zoom
...
Add zoom controls to comic reader
2023-12-23 16:18:23 -06:00
advplyr
9f366863a9
Update comic reader buttons for mobile screens, add left scrollBy
2023-12-23 16:16:24 -06:00
advplyr
0d644fe0c9
Add:Year in review banner for user stats page #2373
2023-12-23 15:29:34 -06:00
advplyr
72fa6b8200
Fix:Show cover size widget when audio player is open #2443
2023-12-23 10:50:04 -06:00
advplyr
6d3f1d263a
Merge pull request #2442 from JBlond/master
...
Follow up Translations for 76119445a3
2023-12-23 08:55:28 -06:00
JBlond
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
advplyr
2738402aac
Add:Year in review card for server stats #2373
2023-12-22 17:01:07 -06:00
advplyr
68d36522b1
Update:Listening sessions table UI for mobile
2023-12-21 14:36:51 -06:00
advplyr
24a587b944
Update:Remove playback sessions that are 3s or less on startup
2023-12-21 14:29:36 -06:00
advplyr
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
advplyr
46ec59c74e
Update:Year in review card prevent text overflow for narrator, author and genre #2373
2023-12-21 09:44:37 -06:00
advplyr
2b7122c744
Update:Year stats API endpoint & generate year in review image #2373
2023-12-20 17:18:21 -06:00
Pablo
52f0a5432b
feat: enable zoom through the arrow buttons
2023-12-20 11:45:21 +01:00
advplyr
7391b4d0ec
Add:User stats API for year stats
2023-12-19 17:19:33 -06:00
Pablo
aa7ee3e8ff
fix: zoom buttons were showing when loading the image
2023-12-19 18:45:11 +01:00