diff options
author | Chocobozzz <me@florianbigard.com> | 2018-09-20 16:16:07 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-09-20 16:25:00 +0200 |
commit | 00f9e41ebfaed4867e971bfb8042e3359eb67eda (patch) | |
tree | 6c67c4c3295297ff89208ab7da265df53985d570 | |
parent | a89368105879d2468a2d474367a68d5c1be99089 (diff) | |
download | PeerTube-00f9e41ebfaed4867e971bfb8042e3359eb67eda.tar.gz PeerTube-00f9e41ebfaed4867e971bfb8042e3359eb67eda.tar.zst PeerTube-00f9e41ebfaed4867e971bfb8042e3359eb67eda.zip |
Add warning if one of the storage directory is in the peertube
production directory
Because admins could loose these directories on peertube upgrade
-rw-r--r-- | server/helpers/core-utils.ts | 6 | ||||
-rw-r--r-- | server/initializers/checker.ts | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/server/helpers/core-utils.ts b/server/helpers/core-utils.ts index f5ef187fe..b1a27e089 100644 --- a/server/helpers/core-utils.ts +++ b/server/helpers/core-utils.ts | |||
@@ -64,6 +64,10 @@ function isTestInstance () { | |||
64 | return process.env.NODE_ENV === 'test' | 64 | return process.env.NODE_ENV === 'test' |
65 | } | 65 | } |
66 | 66 | ||
67 | function isProdInstance () { | ||
68 | return process.env.NODE_ENV === 'production' | ||
69 | } | ||
70 | |||
67 | function root () { | 71 | function root () { |
68 | // We are in /helpers/utils.js | 72 | // We are in /helpers/utils.js |
69 | const paths = [ __dirname, '..', '..' ] | 73 | const paths = [ __dirname, '..', '..' ] |
@@ -179,6 +183,8 @@ const createTorrentPromise = promisify2<string, any, any>(createTorrent) | |||
179 | 183 | ||
180 | export { | 184 | export { |
181 | isTestInstance, | 185 | isTestInstance, |
186 | isProdInstance, | ||
187 | |||
182 | root, | 188 | root, |
183 | escapeHTML, | 189 | escapeHTML, |
184 | pageToStartAndCount, | 190 | pageToStartAndCount, |
diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index a54f6155b..5b068caa1 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts | |||
@@ -1,5 +1,5 @@ | |||
1 | import * as config from 'config' | 1 | import * as config from 'config' |
2 | import { promisify0 } from '../helpers/core-utils' | 2 | import { promisify0, isProdInstance } 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 { ApplicationModel } from '../models/application/application' |
5 | import { OAuthClientModel } from '../models/oauth/oauth-client' | 5 | import { OAuthClientModel } from '../models/oauth/oauth-client' |
@@ -59,6 +59,18 @@ function checkConfig () { | |||
59 | } | 59 | } |
60 | } | 60 | } |
61 | 61 | ||
62 | if (isProdInstance()) { | ||
63 | const configStorage = config.get('storage') | ||
64 | for (const key of Object.keys(configStorage)) { | ||
65 | if (configStorage[key].startsWith('storage/')) { | ||
66 | logger.warn( | ||
67 | 'Directory of %s should not be in the production directory of PeerTube. Please check your production configuration file.', | ||
68 | key | ||
69 | ) | ||
70 | } | ||
71 | } | ||
72 | } | ||
73 | |||
62 | return null | 74 | return null |
63 | } | 75 | } |
64 | 76 | ||