mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	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
		
		Reference in a new issue