Redisをオプションにしたり
This commit is contained in:
		
							parent
							
								
									57e93b9b4e
								
							
						
					
					
						commit
						1117ce4b54
					
				
					 7 changed files with 43 additions and 39 deletions
				
			
		|  | @ -60,11 +60,6 @@ mongodb: | ||||||
|   user: example-misskey-user |   user: example-misskey-user | ||||||
|   pass: example-misskey-pass |   pass: example-misskey-pass | ||||||
| 
 | 
 | ||||||
| redis: |  | ||||||
|   host: localhost |  | ||||||
|   port: 6379 |  | ||||||
|   pass: example-pass |  | ||||||
| 
 |  | ||||||
| # Drive capacity of a local user (MB) | # Drive capacity of a local user (MB) | ||||||
| localDriveCapacityMb: 256 | localDriveCapacityMb: 256 | ||||||
| 
 | 
 | ||||||
|  | @ -122,47 +117,50 @@ drive: | ||||||
| # Below settings are optional | # Below settings are optional | ||||||
| # | # | ||||||
| 
 | 
 | ||||||
|  | # Redis | ||||||
|  | #redis: | ||||||
|  | #  host: localhost | ||||||
|  | #  port: 6379 | ||||||
|  | #  pass: example-pass | ||||||
|  | 
 | ||||||
| # Elasticsearch | # Elasticsearch | ||||||
| # elasticsearch: | #elasticsearch: | ||||||
| #   host: localhost | #  host: localhost | ||||||
| #   port: 9200 | #  port: 9200 | ||||||
| #   pass: null | #  pass: null | ||||||
| 
 | 
 | ||||||
| # reCAPTCHA | # reCAPTCHA | ||||||
| # recaptcha: | #recaptcha: | ||||||
| #   site_key: example-site-key | #  site_key: example-site-key | ||||||
| #  secret_key: example-secret-key | #  secret_key: example-secret-key | ||||||
| 
 | 
 | ||||||
| # ServiceWorker | # ServiceWorker | ||||||
| # sw: | #sw: | ||||||
| #   # Public key of VAPID | #  # Public key of VAPID | ||||||
| #   public_key: example-sw-public-key | #  public_key: example-sw-public-key | ||||||
| 
 | # | ||||||
| #   # Private key of VAPID | #  # Private key of VAPID | ||||||
| #   private_key: example-sw-private-key | #  private_key: example-sw-private-key | ||||||
| 
 |  | ||||||
| # google_maps_api_key: example-google-maps-api-key |  | ||||||
| 
 | 
 | ||||||
| # Twitter integration | # Twitter integration | ||||||
| # You need to set the oauth callback url as : https://<your-misskey-instance>/api/tw/cb | # You need to set the oauth callback url as : https://<your-misskey-instance>/api/tw/cb | ||||||
| # twitter: | #twitter: | ||||||
| #   consumer_key: example-twitter-consumer-key | #  consumer_key: example-twitter-consumer-key | ||||||
| #   consumer_secret: example-twitter-consumer-secret-key | #  consumer_secret: example-twitter-consumer-secret-key | ||||||
| 
 | 
 | ||||||
| # Ghost | # Ghost | ||||||
| # Ghost account is an account used for the purpose of delegating | # Ghost account is an account used for the purpose of delegating | ||||||
| # followers when putting users in the list. | # followers when putting users in the list. | ||||||
| # ghost: user-id-of-your-ghost-account | #ghost: user-id-of-your-ghost-account | ||||||
| 
 | 
 | ||||||
| # Clustering | # Clustering | ||||||
| # clusterLimit: 1 | #clusterLimit: 1 | ||||||
| 
 | 
 | ||||||
| # Summaly proxy | # Summaly proxy | ||||||
| # summalyProxy: "http://example.com" | #summalyProxy: "http://example.com" | ||||||
| 
 | 
 | ||||||
| # User recommendation | # User recommendation | ||||||
| user_recommendation: | #user_recommendation: | ||||||
|   external: true | #  external: true | ||||||
|   engine: http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}} | #  engine: http://vinayaka.distsn.org/cgi-bin/vinayaka-user-match-misskey-api.cgi?{{host}}+{{user}}+{{limit}}+{{offset}} | ||||||
|   timeout: 300000 | #  timeout: 300000 | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -24,12 +24,12 @@ Please install and setup these softwares: | ||||||
| #### Dependencies :package: | #### Dependencies :package: | ||||||
| * **[Node.js](https://nodejs.org/en/)** | * **[Node.js](https://nodejs.org/en/)** | ||||||
| * **[MongoDB](https://www.mongodb.com/)** >= 3.6 | * **[MongoDB](https://www.mongodb.com/)** >= 3.6 | ||||||
| * **[Redis](https://redis.io/)** |  | ||||||
| 
 | 
 | ||||||
| ##### Optional | ##### Optional | ||||||
|  | * [Redis](https://redis.io/) | ||||||
|  |   * Redis is optional, but we strongly recommended to install it | ||||||
| * [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB | * [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| *3.* Setup MongoDB | *3.* Setup MongoDB | ||||||
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ||||||
| In root : | In root : | ||||||
|  |  | ||||||
|  | @ -24,9 +24,11 @@ adduser --disabled-password --disabled-login misskey | ||||||
| #### 依存関係 :package: | #### 依存関係 :package: | ||||||
| * **[Node.js](https://nodejs.org/en/)** | * **[Node.js](https://nodejs.org/en/)** | ||||||
| * **[MongoDB](https://www.mongodb.com/)** (3.6以上) | * **[MongoDB](https://www.mongodb.com/)** (3.6以上) | ||||||
| * **[Redis](https://redis.io/)** |  | ||||||
| 
 | 
 | ||||||
| ##### オプション | ##### オプション | ||||||
|  | * [Redis](https://redis.io/) | ||||||
|  |   * Redisはオプションですが、インストールすることを強く推奨します。 | ||||||
|  | 	* インストールしなくていいのは、あなたのインスタンスが自分専用のときだけです | ||||||
| * [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。 | * [Elasticsearch](https://www.elastic.co/) - 検索機能を向上させるために用います。 | ||||||
| 
 | 
 | ||||||
| *3.* MongoDBの設定 | *3.* MongoDBの設定 | ||||||
|  |  | ||||||
|  | @ -93,11 +93,9 @@ export type Source = { | ||||||
| 		private_key: string; | 		private_key: string; | ||||||
| 	}; | 	}; | ||||||
| 
 | 
 | ||||||
| 	google_maps_api_key: string; |  | ||||||
| 
 |  | ||||||
| 	clusterLimit?: number; | 	clusterLimit?: number; | ||||||
| 
 | 
 | ||||||
| 	user_recommendation: { | 	user_recommendation?: { | ||||||
| 		external: boolean; | 		external: boolean; | ||||||
| 		engine: string; | 		engine: string; | ||||||
| 		timeout: number; | 		timeout: number; | ||||||
|  |  | ||||||
|  | @ -1,10 +1,10 @@ | ||||||
| import * as redis from 'redis'; | import * as redis from 'redis'; | ||||||
| import config from '../config'; | import config from '../config'; | ||||||
| 
 | 
 | ||||||
| export default redis.createClient( | export default config.redis ? redis.createClient( | ||||||
| 	config.redis.port, | 	config.redis.port, | ||||||
| 	config.redis.host, | 	config.redis.host, | ||||||
| 	{ | 	{ | ||||||
| 		auth_pass: config.redis.pass | 		auth_pass: config.redis.pass | ||||||
| 	} | 	} | ||||||
| ); | ) : null; | ||||||
|  |  | ||||||
|  | @ -8,6 +8,12 @@ import { IUser } from '../../models/user'; | ||||||
| const log = debug('misskey:limitter'); | const log = debug('misskey:limitter'); | ||||||
| 
 | 
 | ||||||
| export default (endpoint: IEndpoint, user: IUser) => new Promise((ok, reject) => { | export default (endpoint: IEndpoint, user: IUser) => new Promise((ok, reject) => { | ||||||
|  | 	// Redisがインストールされてない場合は常に許可
 | ||||||
|  | 	if (limiterDB == null) { | ||||||
|  | 		ok(); | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	const limitation = endpoint.meta.limit; | 	const limitation = endpoint.meta.limit; | ||||||
| 
 | 
 | ||||||
| 	const key = limitation.hasOwnProperty('key') | 	const key = limitation.hasOwnProperty('key') | ||||||
|  |  | ||||||
|  | @ -55,7 +55,7 @@ router.get('/disconnect/twitter', async ctx => { | ||||||
| 	})); | 	})); | ||||||
| }); | }); | ||||||
| 
 | 
 | ||||||
| if (config.twitter == null) { | if (config.twitter == null || redis == null) { | ||||||
| 	router.get('/connect/twitter', ctx => { | 	router.get('/connect/twitter', ctx => { | ||||||
| 		ctx.body = '現在Twitterへ接続できません (このインスタンスではTwitterはサポートされていません)'; | 		ctx.body = '現在Twitterへ接続できません (このインスタンスではTwitterはサポートされていません)'; | ||||||
| 	}); | 	}); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue