mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-31 02:17:01 -04:00 
			
		
		
		
	Update readme for running on local. Add command line arg parser.
This commit is contained in:
		
							parent
							
								
									c7b01165fd
								
							
						
					
					
						commit
						9e8ea43d5b
					
				
							
								
								
									
										34
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										34
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -138,6 +138,11 @@ | |||||||
|         "is-primitive": "^3.0.1" |         "is-primitive": "^3.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "array-back": { | ||||||
|  |       "version": "3.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", | ||||||
|  |       "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" | ||||||
|  |     }, | ||||||
|     "array-flatten": { |     "array-flatten": { | ||||||
|       "version": "1.1.1", |       "version": "1.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |       "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | ||||||
| @ -288,6 +293,17 @@ | |||||||
|         "mimic-response": "^1.0.0" |         "mimic-response": "^1.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "command-line-args": { | ||||||
|  |       "version": "5.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.0.tgz", | ||||||
|  |       "integrity": "sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A==", | ||||||
|  |       "requires": { | ||||||
|  |         "array-back": "^3.1.0", | ||||||
|  |         "find-replace": "^3.0.0", | ||||||
|  |         "lodash.camelcase": "^4.3.0", | ||||||
|  |         "typical": "^4.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "component-emitter": { |     "component-emitter": { | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", | ||||||
| @ -566,6 +582,14 @@ | |||||||
|         "unpipe": "~1.0.0" |         "unpipe": "~1.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "find-replace": { | ||||||
|  |       "version": "3.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", | ||||||
|  |       "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", | ||||||
|  |       "requires": { | ||||||
|  |         "array-back": "^3.0.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "fluent-ffmpeg": { |     "fluent-ffmpeg": { | ||||||
|       "version": "2.1.2", |       "version": "2.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", |       "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", | ||||||
| @ -830,6 +854,11 @@ | |||||||
|         "got": "11.3.x" |         "got": "11.3.x" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "lodash.camelcase": { | ||||||
|  |       "version": "4.3.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", | ||||||
|  |       "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" | ||||||
|  |     }, | ||||||
|     "lodash.defaults": { |     "lodash.defaults": { | ||||||
|       "version": "4.2.0", |       "version": "4.2.0", | ||||||
|       "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", |       "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", | ||||||
| @ -1339,6 +1368,11 @@ | |||||||
|         "mime-types": "~2.1.24" |         "mime-types": "~2.1.24" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "typical": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" | ||||||
|  |     }, | ||||||
|     "universalify": { |     "universalify": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", | ||||||
|  | |||||||
| @ -5,9 +5,9 @@ | |||||||
|   "main": "index.js", |   "main": "index.js", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "dev": "node index.js", |     "dev": "node index.js", | ||||||
|     "start": "node index.js", |  | ||||||
|     "client": "cd client && npm install --production && npm run generate", |     "client": "cd client && npm install --production && npm run generate", | ||||||
|     "prod": "npm run client && npm install && node prod.js" |     "prod": "npm run client && npm install --production && node prod.js", | ||||||
|  |     "start": "node prod.js" | ||||||
|   }, |   }, | ||||||
|   "author": "advplyr", |   "author": "advplyr", | ||||||
|   "license": "ISC", |   "license": "ISC", | ||||||
| @ -15,6 +15,7 @@ | |||||||
|     "archiver": "^5.3.0", |     "archiver": "^5.3.0", | ||||||
|     "axios": "^0.21.1", |     "axios": "^0.21.1", | ||||||
|     "bcryptjs": "^2.4.3", |     "bcryptjs": "^2.4.3", | ||||||
|  |     "command-line-args": "^5.2.0", | ||||||
|     "cookie-parser": "^1.4.5", |     "cookie-parser": "^1.4.5", | ||||||
|     "express": "^4.17.1", |     "express": "^4.17.1", | ||||||
|     "express-fileupload": "^1.2.1", |     "express-fileupload": "^1.2.1", | ||||||
|  | |||||||
							
								
								
									
										22
									
								
								prod.js
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								prod.js
									
									
									
									
									
								
							| @ -1,3 +1,13 @@ | |||||||
|  | const optionDefinitions = [ | ||||||
|  |   { name: 'config', alias: 'c', type: String }, | ||||||
|  |   { name: 'audiobooks', alias: 'a', type: String }, | ||||||
|  |   { name: 'metadata', alias: 'm', type: String }, | ||||||
|  |   { name: 'port', alias: 'p', type: String } | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | const commandLineArgs = require('command-line-args') | ||||||
|  | const options = commandLineArgs(optionDefinitions) | ||||||
|  | 
 | ||||||
| const Path = require('path') | const Path = require('path') | ||||||
| process.env.TOKEN_SECRET = '09f26e402586e2faa8da4c98a35f1b20d6b033c6097befa8be3486a829587fe2f90a832bd3ff9d42710a4da095a2ce285b009f0c3730cd9b8e1af3eb84df6611' | process.env.TOKEN_SECRET = '09f26e402586e2faa8da4c98a35f1b20d6b033c6097befa8be3486a829587fe2f90a832bd3ff9d42710a4da095a2ce285b009f0c3730cd9b8e1af3eb84df6611' | ||||||
| process.env.NODE_ENV = 'production' | process.env.NODE_ENV = 'production' | ||||||
| @ -5,10 +15,14 @@ process.env.NODE_ENV = 'production' | |||||||
| const server = require('./server/Server') | const server = require('./server/Server') | ||||||
| global.appRoot = __dirname | global.appRoot = __dirname | ||||||
| 
 | 
 | ||||||
| const PORT = process.env.PORT || 3333 | var inputConfig = options.config ? Path.resolve(options.config) : null | ||||||
| const CONFIG_PATH = process.env.CONFIG_PATH || Path.resolve('config') | var inputAudiobook = options.audiobooks ? Path.resolve(options.audiobooks) : null | ||||||
| const AUDIOBOOK_PATH = process.env.AUDIOBOOK_PATH || Path.resolve('audiobooks') | var inputMetadata = options.metadata ? Path.resolve(options.metadata) : null | ||||||
| const METADATA_PATH = process.env.METADATA_PATH || Path.resolve('metadata') | 
 | ||||||
|  | const PORT = options.port || process.env.PORT || 3333 | ||||||
|  | const CONFIG_PATH = inputConfig || process.env.CONFIG_PATH || Path.resolve('config') | ||||||
|  | const AUDIOBOOK_PATH = inputAudiobook || process.env.AUDIOBOOK_PATH || Path.resolve('audiobooks') | ||||||
|  | const METADATA_PATH = inputMetadata || process.env.METADATA_PATH || Path.resolve('metadata') | ||||||
| 
 | 
 | ||||||
| console.log('Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) | console.log('Config', CONFIG_PATH, METADATA_PATH, AUDIOBOOK_PATH) | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								readme.md
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								readme.md
									
									
									
									
									
								
							| @ -72,6 +72,21 @@ Built to run in Docker for now (also on Unraid server Community Apps) | |||||||
| docker run -d -p 1337:80 -v /audiobooks:/audiobooks -v /config:/config -v /metadata:/metadata --name audiobookshelf --rm advplyr/audiobookshelf | docker run -d -p 1337:80 -v /audiobooks:/audiobooks -v /config:/config -v /metadata:/metadata --name audiobookshelf --rm advplyr/audiobookshelf | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | ## Running on your local | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | git clone https://github.com/advplyr/audiobookshelf.git | ||||||
|  | cd audiobookshelf | ||||||
|  | 
 | ||||||
|  | # All paths default to root directory. Config path is the database. | ||||||
|  | # Directories will be created if they don't exist | ||||||
|  | # Paths are relative to the root directory, so "../Audiobooks" would be a valid path | ||||||
|  | npm run prod -- -p [PORT] --audiobooks [AUDIOBOOKS_PATH] --config [CONFIG_PATH] --metadata [METADATA_PATH] | ||||||
|  | 
 | ||||||
|  | # You only need to use `npm run prod` the first time, after that use `npm run start` | ||||||
|  | npm run start -- -p [PORT] --audiobooks [AUDIOBOOKS_PATH] --config [CONFIG_PATH] --metadata [METADATA_PATH] | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
| ## Contributing | ## Contributing | ||||||
| 
 | 
 | ||||||
| Feel free to help out | Feel free to help out | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user