Skip to content

Commit d410b13

Browse files
committed
Merge prod.js into index.js
1 parent 0eed38b commit d410b13

File tree

5 files changed

+36
-44
lines changed

5 files changed

+36
-44
lines changed

Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,10 @@ RUN apk del make python3 g++
4646

4747
EXPOSE 80
4848

49+
ENV PORT=80
50+
ENV CONFIG_PATH="/config"
51+
ENV METADATA_PATH="/metadata"
52+
ENV SOURCE="docker"
53+
4954
ENTRYPOINT ["tini", "--"]
5055
CMD ["node", "index.js"]

index.js

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
const optionDefinitions = [
2+
{ name: 'config', alias: 'c', type: String },
3+
{ name: 'metadata', alias: 'm', type: String },
4+
{ name: 'port', alias: 'p', type: String },
5+
{ name: 'host', alias: 'h', type: String },
6+
{ name: 'source', alias: 's', type: String },
7+
{ name: 'dev', alias: 'd', type: Boolean }
8+
]
9+
10+
const commandLineArgs = require('./server/libs/commandLineArgs')
11+
const options = commandLineArgs(optionDefinitions)
12+
13+
const Path = require('path')
14+
process.env.NODE_ENV = options.dev ? 'development' : process.env.NODE_ENV || 'production'
15+
116
const server = require('./server/Server')
217
global.appRoot = __dirname
318

@@ -17,14 +32,19 @@ if (isDev) {
1732
process.env.ROUTER_BASE_PATH = devEnv.RouterBasePath || ''
1833
}
1934

20-
const PORT = process.env.PORT || 80
21-
const HOST = process.env.HOST
22-
const CONFIG_PATH = process.env.CONFIG_PATH || '/config'
23-
const METADATA_PATH = process.env.METADATA_PATH || '/metadata'
24-
const SOURCE = process.env.SOURCE || 'docker'
35+
const inputConfig = options.config ? Path.resolve(options.config) : null
36+
const inputMetadata = options.metadata ? Path.resolve(options.metadata) : null
37+
38+
const PORT = options.port || process.env.PORT || 3333
39+
const HOST = options.host || process.env.HOST
40+
const CONFIG_PATH = inputConfig || process.env.CONFIG_PATH || Path.resolve('config')
41+
const METADATA_PATH = inputMetadata || process.env.METADATA_PATH || Path.resolve('metadata')
42+
const SOURCE = options.source || process.env.SOURCE || 'debian'
43+
2544
const ROUTER_BASE_PATH = process.env.ROUTER_BASE_PATH || ''
2645

27-
console.log('Config', CONFIG_PATH, METADATA_PATH)
46+
console.log(`Running in ${process.env.NODE_ENV} mode.`)
47+
console.log(`Options: CONFIG_PATH=${CONFIG_PATH}, METADATA_PATH=${METADATA_PATH}, PORT=${PORT}, HOST=${HOST}, SOURCE=${SOURCE}, ROUTER_BASE_PATH=${ROUTER_BASE_PATH}`)
2848

2949
const Server = new server(SOURCE, PORT, HOST, CONFIG_PATH, METADATA_PATH, ROUTER_BASE_PATH)
3050
Server.start()

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"description": "Self-hosted audiobook and podcast server",
66
"main": "index.js",
77
"scripts": {
8-
"dev": "nodemon --watch server index.js",
8+
"dev": "nodemon --watch server index.js -- --dev",
99
"start": "node index.js",
1010
"client": "cd client && npm ci && npm run generate",
11-
"prod": "npm run client && npm ci && node prod.js",
11+
"prod": "npm run client && npm ci && node index.js",
1212
"build-win": "npm run client && pkg -t node20-win-x64 -o ./dist/win/audiobookshelf -C GZip .",
1313
"build-linux": "build/linuxpackager",
1414
"docker": "docker buildx build --platform linux/amd64,linux/arm64 --push . -t advplyr/audiobookshelf",
@@ -18,15 +18,15 @@
1818
"test": "mocha",
1919
"coverage": "nyc mocha"
2020
},
21-
"bin": "prod.js",
21+
"bin": "index.js",
2222
"pkg": {
2323
"assets": [
2424
"client/dist/**/*",
2525
"node_modules/sqlite3/lib/binding/**/*.node",
2626
"server/migrations/*.js"
2727
],
2828
"scripts": [
29-
"prod.js",
29+
"index.js",
3030
"server/**/*.js"
3131
]
3232
},

prod.js

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)