This commit is contained in:
		
							parent
							
								
									0a4b652493
								
							
						
					
					
						commit
						6a4e92a999
					
				
					 4 changed files with 3 additions and 173 deletions
				
			
		
							
								
								
									
										168
									
								
								cli/init.js
									
										
									
									
									
								
							
							
						
						
									
										168
									
								
								cli/init.js
									
										
									
									
									
								
							|  | @ -1,168 +0,0 @@ | ||||||
| const fs = require('fs'); |  | ||||||
| const path = require('path'); |  | ||||||
| const yaml = require('js-yaml'); |  | ||||||
| const inquirer = require('inquirer'); |  | ||||||
| const chalk = require('chalk'); |  | ||||||
| 
 |  | ||||||
| const configDirPath = `${__dirname}/../.config`; |  | ||||||
| const configPath = `${configDirPath}/default.yml`; |  | ||||||
| 
 |  | ||||||
| const form = [{ |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'maintainerName', |  | ||||||
| 	message: 'Your name:' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'maintainerUrl', |  | ||||||
| 	message: 'Your home page URL or your mailto URL:' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'url', |  | ||||||
| 	message: 'URL you want to run Misskey:', |  | ||||||
| 	validate: function(wannabeurl) { |  | ||||||
| 		return wannabeurl.match('^http\(s?\)://') ? true : |  | ||||||
| 		       'URL needs to start with http:// or https://'; |  | ||||||
| 	} |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'port', |  | ||||||
| 	message: 'Listen port (e.g. 443):' |  | ||||||
| }, { |  | ||||||
| 	type: 'confirm', |  | ||||||
| 	name: 'https', |  | ||||||
| 	message: 'Use TLS?', |  | ||||||
| 	default: false |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'https_key', |  | ||||||
| 	message: 'Path of tls key:', |  | ||||||
| 	when: ctx => ctx.https |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'https_cert', |  | ||||||
| 	message: 'Path of tls cert:', |  | ||||||
| 	when: ctx => ctx.https |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'https_ca', |  | ||||||
| 	message: 'Path of tls ca:', |  | ||||||
| 	when: ctx => ctx.https |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'mongo_host', |  | ||||||
| 	message: 'MongoDB\'s host:', |  | ||||||
| 	default: 'localhost' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'mongo_port', |  | ||||||
| 	message: 'MongoDB\'s port:', |  | ||||||
| 	default: '27017' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'mongo_db', |  | ||||||
| 	message: 'MongoDB\'s db:', |  | ||||||
| 	default: 'misskey' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'mongo_user', |  | ||||||
| 	message: 'MongoDB\'s user:' |  | ||||||
| }, { |  | ||||||
| 	type: 'password', |  | ||||||
| 	name: 'mongo_pass', |  | ||||||
| 	message: 'MongoDB\'s password:' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'redis_host', |  | ||||||
| 	message: 'Redis\'s host:', |  | ||||||
| 	default: 'localhost' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'redis_port', |  | ||||||
| 	message: 'Redis\'s port:', |  | ||||||
| 	default: '6379' |  | ||||||
| }, { |  | ||||||
| 	type: 'password', |  | ||||||
| 	name: 'redis_pass', |  | ||||||
| 	message: 'Redis\'s password:' |  | ||||||
| }, { |  | ||||||
| 	type: 'confirm', |  | ||||||
| 	name: 'elasticsearch', |  | ||||||
| 	message: 'Use Elasticsearch?', |  | ||||||
| 	default: false |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'es_host', |  | ||||||
| 	message: 'Elasticsearch\'s host:', |  | ||||||
| 	default: 'localhost', |  | ||||||
| 	when: ctx => ctx.elasticsearch |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'es_port', |  | ||||||
| 	message: 'Elasticsearch\'s port:', |  | ||||||
| 	default: '9200', |  | ||||||
| 	when: ctx => ctx.elasticsearch |  | ||||||
| }, { |  | ||||||
| 	type: 'password', |  | ||||||
| 	name: 'es_pass', |  | ||||||
| 	message: 'Elasticsearch\'s password:', |  | ||||||
| 	when: ctx => ctx.elasticsearch |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'recaptcha_site', |  | ||||||
| 	message: 'reCAPTCHA\'s site key:' |  | ||||||
| }, { |  | ||||||
| 	type: 'input', |  | ||||||
| 	name: 'recaptcha_secret', |  | ||||||
| 	message: 'reCAPTCHA\'s secret key:' |  | ||||||
| }]; |  | ||||||
| 
 |  | ||||||
| inquirer.prompt(form).then(as => { |  | ||||||
| 	// Mapping answers
 |  | ||||||
| 	const conf = { |  | ||||||
| 		maintainer: { |  | ||||||
| 			name: as['maintainerName'], |  | ||||||
| 			url: as['maintainerUrl'] |  | ||||||
| 		}, |  | ||||||
| 		url: as['url'], |  | ||||||
| 		port: parseInt(as['port'], 10), |  | ||||||
| 		mongodb: { |  | ||||||
| 			host: as['mongo_host'], |  | ||||||
| 			port: parseInt(as['mongo_port'], 10), |  | ||||||
| 			db: as['mongo_db'], |  | ||||||
| 			user: as['mongo_user'], |  | ||||||
| 			pass: as['mongo_pass'] |  | ||||||
| 		}, |  | ||||||
| 		redis: { |  | ||||||
| 			host: as['redis_host'], |  | ||||||
| 			port: parseInt(as['redis_port'], 10), |  | ||||||
| 			pass: as['redis_pass'] |  | ||||||
| 		}, |  | ||||||
| 		elasticsearch: { |  | ||||||
| 			enable: as['elasticsearch'], |  | ||||||
| 			host: as['es_host'] || null, |  | ||||||
| 			port: parseInt(as['es_port'], 10) || null, |  | ||||||
| 			pass: as['es_pass'] || null |  | ||||||
| 		}, |  | ||||||
| 		recaptcha: { |  | ||||||
| 			site_key: as['recaptcha_site'], |  | ||||||
| 			secret_key: as['recaptcha_secret'] |  | ||||||
| 		} |  | ||||||
| 	}; |  | ||||||
| 
 |  | ||||||
| 	if (as['https']) { |  | ||||||
| 		conf.https = { |  | ||||||
| 			key: as['https_key'] || null, |  | ||||||
| 			cert: as['https_cert'] || null, |  | ||||||
| 			ca: as['https_ca'] || null |  | ||||||
| 		}; |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	console.log(`Thanks. Writing the configuration to ${chalk.bold(path.resolve(configPath))}`); |  | ||||||
| 
 |  | ||||||
| 	try { |  | ||||||
| 		fs.writeFileSync(configPath, yaml.dump(conf)); |  | ||||||
| 		console.log(chalk.green('Well done.')); |  | ||||||
| 	} catch (e) { |  | ||||||
| 		console.error(e); |  | ||||||
| 	} |  | ||||||
| }); |  | ||||||
|  | @ -43,7 +43,8 @@ Please install and setup these softwares: | ||||||
| 
 | 
 | ||||||
| *4.* Make configuration file | *4.* Make configuration file | ||||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ||||||
| You need to generate config file via `npm run config` command. | 1. Copy the `.config/example.yml` and rename it to `default.yml`. | ||||||
|  | 2. Edit it | ||||||
| 
 | 
 | ||||||
| *5.* Build Misskey | *5.* Build Misskey | ||||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | @ -43,7 +43,7 @@ web-push generate-vapid-keys | ||||||
| 
 | 
 | ||||||
| *4.* 設定ファイルを作成する | *4.* 設定ファイルを作成する | ||||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ||||||
| `npm run config`コマンドを利用して、ガイドに従って情報を入力してください。 | `.config/example.yml`をコピーしたのち`default.yml`にリネームして編集してください。 | ||||||
| 
 | 
 | ||||||
| *5.* Misskeyのビルド | *5.* Misskeyのビルド | ||||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ||||||
|  |  | ||||||
|  | @ -7,7 +7,6 @@ | ||||||
| 	"main": "./built/index.js", | 	"main": "./built/index.js", | ||||||
| 	"private": true, | 	"private": true, | ||||||
| 	"scripts": { | 	"scripts": { | ||||||
| 		"config": "node ./cli/init.js", |  | ||||||
| 		"start": "node ./built", | 		"start": "node ./built", | ||||||
| 		"debug": "DEBUG=misskey:* node ./built", | 		"debug": "DEBUG=misskey:* node ./built", | ||||||
| 		"swagger": "node ./swagger.js", | 		"swagger": "node ./swagger.js", | ||||||
|  | @ -44,7 +43,6 @@ | ||||||
| 		"@types/gulp-replace": "0.0.31", | 		"@types/gulp-replace": "0.0.31", | ||||||
| 		"@types/gulp-uglify": "3.0.5", | 		"@types/gulp-uglify": "3.0.5", | ||||||
| 		"@types/gulp-util": "3.0.34", | 		"@types/gulp-util": "3.0.34", | ||||||
| 		"@types/inquirer": "0.0.42", |  | ||||||
| 		"@types/is-root": "1.0.0", | 		"@types/is-root": "1.0.0", | ||||||
| 		"@types/is-url": "1.2.28", | 		"@types/is-url": "1.2.28", | ||||||
| 		"@types/js-yaml": "3.11.2", | 		"@types/js-yaml": "3.11.2", | ||||||
|  | @ -129,7 +127,6 @@ | ||||||
| 		"highlight.js": "9.12.0", | 		"highlight.js": "9.12.0", | ||||||
| 		"html-minifier": "3.5.19", | 		"html-minifier": "3.5.19", | ||||||
| 		"http-signature": "1.2.0", | 		"http-signature": "1.2.0", | ||||||
| 		"inquirer": "6.0.0", |  | ||||||
| 		"is-root": "2.0.0", | 		"is-root": "2.0.0", | ||||||
| 		"is-url": "1.2.4", | 		"is-url": "1.2.4", | ||||||
| 		"js-yaml": "3.12.0", | 		"js-yaml": "3.12.0", | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue