Merge pull request #423 from Quietus/configurablehost

Allowed the configuration of a "HOST" parameter to enable ipv6 support.
This commit is contained in:
advplyr 2022-03-17 08:18:55 -05:00 committed by GitHub
commit 5ff4cd2c0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 8 deletions

View File

@ -6,6 +6,7 @@ FFMPEG_INSTALL_DIR="/usr/lib/audiobookshelf-ffmpeg/"
DEFAULT_AUDIOBOOK_PATH="/usr/share/audiobookshelf/audiobooks" DEFAULT_AUDIOBOOK_PATH="/usr/share/audiobookshelf/audiobooks"
DEFAULT_DATA_PATH="/usr/share/audiobookshelf" DEFAULT_DATA_PATH="/usr/share/audiobookshelf"
DEFAULT_PORT=7331 DEFAULT_PORT=7331
DEFAULT_HOST="0.0.0.0"
CONFIG_PATH="/etc/default/audiobookshelf" CONFIG_PATH="/etc/default/audiobookshelf"
@ -82,7 +83,8 @@ setup_config_interactive() {
CONFIG_PATH=$DATA_PATH/config CONFIG_PATH=$DATA_PATH/config
FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg
FFPROBE_PATH=/usr/lib/audiobookshelf-ffmpeg/ffprobe FFPROBE_PATH=/usr/lib/audiobookshelf-ffmpeg/ffprobe
PORT=$PORT" PORT=$PORT
HOST=$DEFAULT_HOST"
echo "$config_text" echo "$config_text"
@ -105,7 +107,8 @@ setup_config() {
CONFIG_PATH=$DEFAULT_DATA_PATH/config CONFIG_PATH=$DEFAULT_DATA_PATH/config
FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg
FFPROBE_PATH=/usr/lib/audiobookshelf-ffmpeg/ffprobe FFPROBE_PATH=/usr/lib/audiobookshelf-ffmpeg/ffprobe
PORT=$DEFAULT_PORT" PORT=$DEFAULT_PORT
HOST=$DEFAULT_HOST"
echo "$config_text" echo "$config_text"

View File

@ -16,6 +16,7 @@ if (isDev) {
} }
const PORT = process.env.PORT || 80 const PORT = process.env.PORT || 80
const HOST = process.env.HOST || '0.0.0.0'
const CONFIG_PATH = process.env.CONFIG_PATH || '/config' const CONFIG_PATH = process.env.CONFIG_PATH || '/config'
const AUDIOBOOK_PATH = process.env.AUDIOBOOK_PATH || '/audiobooks' const AUDIOBOOK_PATH = process.env.AUDIOBOOK_PATH || '/audiobooks'
const METADATA_PATH = process.env.METADATA_PATH || '/metadata' const METADATA_PATH = process.env.METADATA_PATH || '/metadata'
@ -24,5 +25,5 @@ const GID = process.env.AUDIOBOOKSHELF_GID || 100
console.log('Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) console.log('Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH)
const Server = new server(PORT, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) const Server = new server(PORT, HOST, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH)
Server.start() Server.start()

View File

@ -2,7 +2,8 @@ const optionDefinitions = [
{ name: 'config', alias: 'c', type: String }, { name: 'config', alias: 'c', type: String },
{ name: 'audiobooks', alias: 'a', type: String }, { name: 'audiobooks', alias: 'a', type: String },
{ name: 'metadata', alias: 'm', type: String }, { name: 'metadata', alias: 'm', type: String },
{ name: 'port', alias: 'p', type: String } { name: 'port', alias: 'p', type: String },
{ name: 'host', alias: 'h', type: String }
] ]
const commandLineArgs = require('command-line-args') const commandLineArgs = require('command-line-args')
@ -21,6 +22,7 @@ var inputAudiobook = options.audiobooks ? Path.resolve(options.audiobooks) : nul
var inputMetadata = options.metadata ? Path.resolve(options.metadata) : null var inputMetadata = options.metadata ? Path.resolve(options.metadata) : null
const PORT = options.port || process.env.PORT || 3333 const PORT = options.port || process.env.PORT || 3333
const HOST = options.host || process.env.HOST || "0.0.0.0"
const CONFIG_PATH = inputConfig || process.env.CONFIG_PATH || Path.resolve('config') const CONFIG_PATH = inputConfig || process.env.CONFIG_PATH || Path.resolve('config')
const AUDIOBOOK_PATH = inputAudiobook || process.env.AUDIOBOOK_PATH || Path.resolve('audiobooks') const AUDIOBOOK_PATH = inputAudiobook || process.env.AUDIOBOOK_PATH || Path.resolve('audiobooks')
const METADATA_PATH = inputMetadata || process.env.METADATA_PATH || Path.resolve('metadata') const METADATA_PATH = inputMetadata || process.env.METADATA_PATH || Path.resolve('metadata')
@ -29,5 +31,5 @@ const GID = 100
console.log(process.env.NODE_ENV, 'Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) console.log(process.env.NODE_ENV, 'Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH)
const Server = new server(PORT, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) const Server = new server(PORT, HOST, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH)
Server.start() Server.start()

View File

@ -31,9 +31,9 @@ const CoverController = require('./CoverController')
const CacheManager = require('./CacheManager') const CacheManager = require('./CacheManager')
class Server { class Server {
constructor(PORT, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) { constructor(PORT, HOST, UID, GID, CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) {
this.Port = PORT this.Port = PORT
this.Host = '0.0.0.0' this.Host = HOST
global.Uid = isNaN(UID) ? 0 : Number(UID) global.Uid = isNaN(UID) ? 0 : Number(UID)
global.Gid = isNaN(GID) ? 0 : Number(GID) global.Gid = isNaN(GID) ? 0 : Number(GID)
global.ConfigPath = Path.normalize(CONFIG_PATH) global.ConfigPath = Path.normalize(CONFIG_PATH)
@ -658,4 +658,4 @@ class Server {
}) })
} }
} }
module.exports = Server module.exports = Server