diff options
Diffstat (limited to 'server/initializers/checker-after-init.ts')
-rw-r--r-- | server/initializers/checker-after-init.ts | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/server/initializers/checker-after-init.ts b/server/initializers/checker-after-init.ts index 44efd346c..f111be2ae 100644 --- a/server/initializers/checker-after-init.ts +++ b/server/initializers/checker-after-init.ts | |||
@@ -1,22 +1,21 @@ | |||
1 | import * as config from 'config' | 1 | import * as config from 'config' |
2 | import { isProdInstance, isTestInstance } from '../helpers/core-utils' | 2 | import { isProdInstance, isTestInstance } from '../helpers/core-utils' |
3 | import { UserModel } from '../models/account/user' | 3 | import { UserModel } from '../models/account/user' |
4 | import { ApplicationModel } from '../models/application/application' | 4 | import { getServerActor, ApplicationModel } from '../models/application/application' |
5 | import { OAuthClientModel } from '../models/oauth/oauth-client' | 5 | import { OAuthClientModel } from '../models/oauth/oauth-client' |
6 | import { parse } from 'url' | 6 | import { URL } from 'url' |
7 | import { CONFIG } from './config' | 7 | import { CONFIG, isEmailEnabled } from './config' |
8 | import { logger } from '../helpers/logger' | 8 | import { logger } from '../helpers/logger' |
9 | import { getServerActor } from '../helpers/utils' | ||
10 | import { RecentlyAddedStrategy } from '../../shared/models/redundancy' | 9 | import { RecentlyAddedStrategy } from '../../shared/models/redundancy' |
11 | import { isArray } from '../helpers/custom-validators/misc' | 10 | import { isArray } from '../helpers/custom-validators/misc' |
12 | import { uniq } from 'lodash' | 11 | import { uniq } from 'lodash' |
13 | import { Emailer } from '../lib/emailer' | ||
14 | import { WEBSERVER } from './constants' | 12 | import { WEBSERVER } from './constants' |
13 | import { VideoRedundancyConfigFilter } from '@shared/models/redundancy/video-redundancy-config-filter.type' | ||
15 | 14 | ||
16 | async function checkActivityPubUrls () { | 15 | async function checkActivityPubUrls () { |
17 | const actor = await getServerActor() | 16 | const actor = await getServerActor() |
18 | 17 | ||
19 | const parsed = parse(actor.url) | 18 | const parsed = new URL(actor.url) |
20 | if (WEBSERVER.HOST !== parsed.host) { | 19 | if (WEBSERVER.HOST !== parsed.host) { |
21 | const NODE_ENV = config.util.getEnv('NODE_ENV') | 20 | const NODE_ENV = config.util.getEnv('NODE_ENV') |
22 | const NODE_CONFIG_DIR = config.util.getEnv('NODE_CONFIG_DIR') | 21 | const NODE_CONFIG_DIR = config.util.getEnv('NODE_CONFIG_DIR') |
@@ -41,7 +40,7 @@ function checkConfig () { | |||
41 | } | 40 | } |
42 | 41 | ||
43 | // Email verification | 42 | // Email verification |
44 | if (!Emailer.isEnabled()) { | 43 | if (!isEmailEnabled()) { |
45 | if (CONFIG.SIGNUP.ENABLED && CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION) { | 44 | if (CONFIG.SIGNUP.ENABLED && CONFIG.SIGNUP.REQUIRES_EMAIL_VERIFICATION) { |
46 | return 'Emailer is disabled but you require signup email verification.' | 45 | return 'Emailer is disabled but you require signup email verification.' |
47 | } | 46 | } |
@@ -55,7 +54,7 @@ function checkConfig () { | |||
55 | const defaultNSFWPolicy = CONFIG.INSTANCE.DEFAULT_NSFW_POLICY | 54 | const defaultNSFWPolicy = CONFIG.INSTANCE.DEFAULT_NSFW_POLICY |
56 | { | 55 | { |
57 | const available = [ 'do_not_list', 'blur', 'display' ] | 56 | const available = [ 'do_not_list', 'blur', 'display' ] |
58 | if (available.indexOf(defaultNSFWPolicy) === -1) { | 57 | if (available.includes(defaultNSFWPolicy) === false) { |
59 | return 'NSFW policy setting should be ' + available.join(' or ') + ' instead of ' + defaultNSFWPolicy | 58 | return 'NSFW policy setting should be ' + available.join(' or ') + ' instead of ' + defaultNSFWPolicy |
60 | } | 59 | } |
61 | } | 60 | } |
@@ -65,7 +64,7 @@ function checkConfig () { | |||
65 | if (isArray(redundancyVideos)) { | 64 | if (isArray(redundancyVideos)) { |
66 | const available = [ 'most-views', 'trending', 'recently-added' ] | 65 | const available = [ 'most-views', 'trending', 'recently-added' ] |
67 | for (const r of redundancyVideos) { | 66 | for (const r of redundancyVideos) { |
68 | if (available.indexOf(r.strategy) === -1) { | 67 | if (available.includes(r.strategy) === false) { |
69 | return 'Videos redundancy should have ' + available.join(' or ') + ' strategy instead of ' + r.strategy | 68 | return 'Videos redundancy should have ' + available.join(' or ') + ' strategy instead of ' + r.strategy |
70 | } | 69 | } |
71 | 70 | ||
@@ -88,6 +87,13 @@ function checkConfig () { | |||
88 | return 'Videos redundancy should be an array (you must uncomment lines containing - too)' | 87 | return 'Videos redundancy should be an array (you must uncomment lines containing - too)' |
89 | } | 88 | } |
90 | 89 | ||
90 | // Remote redundancies | ||
91 | const acceptFrom = CONFIG.REMOTE_REDUNDANCY.VIDEOS.ACCEPT_FROM | ||
92 | const acceptFromValues = new Set<VideoRedundancyConfigFilter>([ 'nobody', 'anybody', 'followings' ]) | ||
93 | if (acceptFromValues.has(acceptFrom) === false) { | ||
94 | return 'remote_redundancy.videos.accept_from has an incorrect value' | ||
95 | } | ||
96 | |||
91 | // Check storage directory locations | 97 | // Check storage directory locations |
92 | if (isProdInstance()) { | 98 | if (isProdInstance()) { |
93 | const configStorage = config.get('storage') | 99 | const configStorage = config.get('storage') |