62 lines
1.3 KiB
Nix
62 lines
1.3 KiB
Nix
|
{ stdenv, ffmpeg-full, tone, pname, nodejs }: ''
|
||
|
#!${stdenv.shell}
|
||
|
|
||
|
port=8000
|
||
|
host=0.0.0.0
|
||
|
config=$(pwd)/config
|
||
|
metadata=$(pwd)/metadata
|
||
|
|
||
|
LONGOPTS=host:,port:,config:,metadata:,help
|
||
|
args=$(getopt -l "$LONGOPTS" -o h -- "$@")
|
||
|
|
||
|
eval set -- "$args"
|
||
|
|
||
|
while [ $# -ge 1 ]; do
|
||
|
case "$1" in
|
||
|
--)
|
||
|
# No more options left.
|
||
|
shift
|
||
|
break
|
||
|
;;
|
||
|
--host)
|
||
|
host="$2"
|
||
|
shift
|
||
|
;;
|
||
|
--port)
|
||
|
port="$2"
|
||
|
shift
|
||
|
;;
|
||
|
--config)
|
||
|
if [[ "''${2:0:1}" = "/" ]]; then
|
||
|
config="$2"
|
||
|
else
|
||
|
config="$(pwd)/$2"
|
||
|
fi
|
||
|
shift
|
||
|
;;
|
||
|
--metadata)
|
||
|
if [[ "''${2:0:1}" = "/" ]]; then
|
||
|
metadata="$2"
|
||
|
else
|
||
|
metadata="$(pwd)/$2"
|
||
|
fi
|
||
|
shift
|
||
|
;;
|
||
|
--help|-h)
|
||
|
echo "Usage: audiobookshelf [--host <host>] [--port <port>] [--metadata <dir>] [--config <dir>]"
|
||
|
shift
|
||
|
;;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
|
NODE_ENV=production \
|
||
|
SOURCE=nixpkgs \
|
||
|
FFMPEG_PATH=${ffmpeg-full}/bin/ffmpeg \
|
||
|
FFPROBE_PATH=${ffmpeg-full}/bin/ffprobe \
|
||
|
TONE_PATH=${tone}/bin/tone \
|
||
|
CONFIG_PATH="$config" \
|
||
|
METADATA_PATH="$metadata" \
|
||
|
PORT="$port" \
|
||
|
HOST="$host" \''
|