From 00f9e41ebfaed4867e971bfb8042e3359eb67eda Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 20 Sep 2018 16:16:07 +0200 Subject: [PATCH] Add warning if one of the storage directory is in the peertube production directory Because admins could loose these directories on peertube upgrade --- server/helpers/core-utils.ts | 6 ++++++ server/initializers/checker.ts | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) 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 () { return process.env.NODE_ENV === 'test' } +function isProdInstance () { + return process.env.NODE_ENV === 'production' +} + function root () { // We are in /helpers/utils.js const paths = [ __dirname, '..', '..' ] @@ -179,6 +183,8 @@ const createTorrentPromise = promisify2(createTorrent) export { isTestInstance, + isProdInstance, + root, escapeHTML, 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 @@ import * as config from 'config' -import { promisify0 } from '../helpers/core-utils' +import { promisify0, isProdInstance } from '../helpers/core-utils' import { UserModel } from '../models/account/user' import { ApplicationModel } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' @@ -59,6 +59,18 @@ function checkConfig () { } } + if (isProdInstance()) { + const configStorage = config.get('storage') + for (const key of Object.keys(configStorage)) { + if (configStorage[key].startsWith('storage/')) { + logger.warn( + 'Directory of %s should not be in the production directory of PeerTube. Please check your production configuration file.', + key + ) + } + } + } + return null } -- 2.25.1