mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
Debian preinstall script for config and ffmpeg
This commit is contained in:
parent
784ffbc568
commit
d95689a078
95
build/debian/DEBIAN/preinst
Normal file
95
build/debian/DEBIAN/preinst
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
DEFAULT_AUDIOBOOK_PATH="/usr/share/audiobookshelf/audiobooks"
|
||||||
|
DEFAULT_DATA_PATH="/usr/share/audiobookshelf"
|
||||||
|
DEFAULT_PORT=7331
|
||||||
|
|
||||||
|
CONFIG_PATH="/etc/default/audiobookshelf"
|
||||||
|
|
||||||
|
install_ffmpeg() {
|
||||||
|
echo "Starting FFMPEG Install"
|
||||||
|
|
||||||
|
WGET="wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz"
|
||||||
|
TARGET_DIR="/usr/lib/audiobookshelf-ffmpeg/"
|
||||||
|
|
||||||
|
if ! cd "$TARGET_DIR"; then
|
||||||
|
echo "WARNING: can't access working directory ($TARGET_DIR) creating it" >&2
|
||||||
|
mkdir "$TARGET_DIR"
|
||||||
|
cd "$TARGET_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$WGET
|
||||||
|
tar xvf ffmpeg-git-amd64-static.tar.xz --strip-components=1
|
||||||
|
rm ffmpeg-git-amd64-static.tar.xz
|
||||||
|
|
||||||
|
chown -R 'audiobookshelf:audiobookshelf' "$TARGET_DIR"
|
||||||
|
|
||||||
|
echo "Good to go on Ffmpeg... hopefully"
|
||||||
|
}
|
||||||
|
|
||||||
|
should_build_config() {
|
||||||
|
if [ -f "$CONFIG_PATH" ]; then
|
||||||
|
echo "You already have a config file. Do you want to use it?"
|
||||||
|
|
||||||
|
options=("Yes" "No")
|
||||||
|
select yn in "${options[@]}"
|
||||||
|
do
|
||||||
|
case $yn in
|
||||||
|
"Yes")
|
||||||
|
false; return
|
||||||
|
;;
|
||||||
|
"No")
|
||||||
|
true; return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "No existing config found in $CONFIG_PATH"
|
||||||
|
true; return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_config() {
|
||||||
|
if should_build_config; then
|
||||||
|
echo "Alright then, let's setup a new config."
|
||||||
|
|
||||||
|
AUDIOBOOK_PATH=""
|
||||||
|
read -p "Enter path for your audiobooks [Default: $DEFAULT_AUDIOBOOK_PATH]: " AUDIOBOOK_PATH
|
||||||
|
|
||||||
|
if [[ -z "$AUDIOBOOK_PATH" ]]; then
|
||||||
|
AUDIOBOOK_PATH="$DEFAULT_AUDIOBOOK_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATA_PATH=""
|
||||||
|
read -p "Enter path for data files, i.e. streams, downloads, database [Default: $DEFAULT_DATA_PATH]: " DATA_PATH
|
||||||
|
|
||||||
|
if [[ -z "$DATA_PATH" ]]; then
|
||||||
|
DATA_PATH="$DEFAULT_DATA_PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
PORT=""
|
||||||
|
read -p "Port for the web ui [Default: $DEFAULT_PORT]: " PORT
|
||||||
|
|
||||||
|
if [[ -z "$PORT" ]]; then
|
||||||
|
PORT="$DEFAULT_PORT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
config_text="AUDIOBOOK_PATH=$AUDIOBOOK_PATH
|
||||||
|
METADATA_PATH=$DATA_PATH/metadata
|
||||||
|
CONFIG_PATH=$DATA_PATH/config
|
||||||
|
FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg
|
||||||
|
PORT=$PORT"
|
||||||
|
|
||||||
|
echo "$config_text"
|
||||||
|
|
||||||
|
echo "$config_text" > /etc/default/audiobookshelf;
|
||||||
|
|
||||||
|
echo "Config created"
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_config
|
||||||
|
|
||||||
|
install_ffmpeg
|
@ -1,4 +1,5 @@
|
|||||||
AUDIOBOOK_PATH=/usr/share/audiobookshelf/audiobooks
|
AUDIOBOOK_PATH=/usr/share/audiobookshelf/audiobooks
|
||||||
METADATA_PATH=/usr/share/audiobookshelf/metadata
|
METADATA_PATH=/usr/share/audiobookshelf/metadata
|
||||||
CONFIG_PATH=/usr/share/audiobookshelf/config
|
CONFIG_PATH=/usr/share/audiobookshelf/config
|
||||||
|
FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg
|
||||||
PORT=1337
|
PORT=1337
|
||||||
|
0
build/debian/usr/lib/audiobookshelf-ffmpeg/.gitkeep
Normal file
0
build/debian/usr/lib/audiobookshelf-ffmpeg/.gitkeep
Normal file
@ -14,7 +14,7 @@
|
|||||||
"build-prep": "npm run build-client && npm run build-server",
|
"build-prep": "npm run build-client && npm run build-server",
|
||||||
"build-win": "npm run build-prep && pkg -t node12-win-x64 -o ./dist/win/audiobookshelf .",
|
"build-win": "npm run build-prep && pkg -t node12-win-x64 -o ./dist/win/audiobookshelf .",
|
||||||
"build-linuxarm": "npm run build-prep && pkg -t node12-linux-arm64 -o ./dist/linuxarm/audiobookshelf .",
|
"build-linuxarm": "npm run build-prep && pkg -t node12-linux-arm64 -o ./dist/linuxarm/audiobookshelf .",
|
||||||
"build-linux": "npm run build-prep && pkg -t node12-linux-x64 -o dist/linux/audiobookshelf . && cp dist/linux/audiobookshelf build/debian/usr/share/audiobookshelf/ && chmod -R 775 build/debian/"
|
"build-linux": "npm run build-prep && pkg -t node12-linux-x64 -o dist/linux/audiobookshelf . && cp dist/linux/audiobookshelf build/debian/usr/share/audiobookshelf/ && chmod -R 775 build/debian/ && fakeroot dpkg-deb --build build/debian"
|
||||||
},
|
},
|
||||||
"bin": "prod.js",
|
"bin": "prod.js",
|
||||||
"pkg": {
|
"pkg": {
|
||||||
|
@ -263,7 +263,6 @@ class DownloadManager {
|
|||||||
var worker = null
|
var worker = null
|
||||||
try {
|
try {
|
||||||
var workerPath = Path.join(global.appRoot, 'server/utils/downloadWorker.js')
|
var workerPath = Path.join(global.appRoot, 'server/utils/downloadWorker.js')
|
||||||
Logger.info(`[${TAG}] Worker Path: ${workerPath}`)
|
|
||||||
worker = new workerThreads.Worker(workerPath, { workerData })
|
worker = new workerThreads.Worker(workerPath, { workerData })
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
Logger.error(`[${TAG}] Start worker thread failed`, error)
|
Logger.error(`[${TAG}] Start worker thread failed`, error)
|
||||||
|
Loading…
Reference in New Issue
Block a user