Fix config checker
This commit is contained in:
parent
c6720f0bf5
commit
3482688cce
23
server.ts
23
server.ts
|
@ -23,28 +23,29 @@ process.title = 'peertube'
|
||||||
// Create our main app
|
// Create our main app
|
||||||
const app = express()
|
const app = express()
|
||||||
|
|
||||||
// ----------- Database -----------
|
// ----------- Core checker -----------
|
||||||
// Do not use barrels because we don't want to load all modules here (we need to initialize database first)
|
|
||||||
import { logger } from './server/helpers/logger'
|
|
||||||
import { API_VERSION, CONFIG, STATIC_PATHS } from './server/initializers/constants'
|
|
||||||
// Initialize database and models
|
|
||||||
import { database as db } from './server/initializers/database'
|
|
||||||
db.init(false).then(() => onDatabaseInitDone())
|
|
||||||
|
|
||||||
// ----------- Checker -----------
|
|
||||||
import { checkMissedConfig, checkFFmpeg, checkConfig } from './server/initializers/checker'
|
import { checkMissedConfig, checkFFmpeg, checkConfig } from './server/initializers/checker'
|
||||||
|
|
||||||
const missed = checkMissedConfig()
|
const missed = checkMissedConfig()
|
||||||
if (missed.length !== 0) {
|
if (missed.length !== 0) {
|
||||||
throw new Error('Miss some configurations keys : ' + missed)
|
throw new Error('Your configuration files miss keys: ' + missed)
|
||||||
}
|
}
|
||||||
checkFFmpeg()
|
|
||||||
|
import { API_VERSION, CONFIG, STATIC_PATHS } from './server/initializers/constants'
|
||||||
|
checkFFmpeg(CONFIG)
|
||||||
|
|
||||||
const errorMessage = checkConfig()
|
const errorMessage = checkConfig()
|
||||||
if (errorMessage !== null) {
|
if (errorMessage !== null) {
|
||||||
throw new Error(errorMessage)
|
throw new Error(errorMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------- Database -----------
|
||||||
|
// Do not use barrels because we don't want to load all modules here (we need to initialize database first)
|
||||||
|
import { logger } from './server/helpers/logger'
|
||||||
|
// Initialize database and models
|
||||||
|
import { database as db } from './server/initializers/database'
|
||||||
|
db.init(false).then(() => onDatabaseInitDone())
|
||||||
|
|
||||||
// ----------- PeerTube modules -----------
|
// ----------- PeerTube modules -----------
|
||||||
import { migrate, installApplication } from './server/initializers'
|
import { migrate, installApplication } from './server/initializers'
|
||||||
import { JobScheduler, activateSchedulers, VideosPreviewCache } from './server/lib'
|
import { JobScheduler, activateSchedulers, VideosPreviewCache } from './server/lib'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import * as config from 'config'
|
import * as config from 'config'
|
||||||
|
|
||||||
import { database as db } from './database'
|
|
||||||
import { CONFIG } from './constants'
|
|
||||||
import { promisify0 } from '../helpers/core-utils'
|
import { promisify0 } from '../helpers/core-utils'
|
||||||
|
import { OAuthClientModel } from '../models/oauth/oauth-client-interface'
|
||||||
|
import { UserModel } from '../models/user/user-interface'
|
||||||
|
|
||||||
// Some checks on configuration files
|
// Some checks on configuration files
|
||||||
function checkConfig () {
|
function checkConfig () {
|
||||||
|
@ -21,8 +21,8 @@ function checkMissedConfig () {
|
||||||
const required = [ 'listen.port',
|
const required = [ 'listen.port',
|
||||||
'webserver.https', 'webserver.hostname', 'webserver.port',
|
'webserver.https', 'webserver.hostname', 'webserver.port',
|
||||||
'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password',
|
'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password',
|
||||||
'storage.certs', 'storage.videos', 'storage.logs', 'storage.thumbnails', 'storage.previews',
|
'storage.certs', 'storage.videos', 'storage.logs', 'storage.thumbnails', 'storage.previews', 'storage.torrents', 'storage.cache',
|
||||||
'admin.email', 'signup.enabled', 'transcoding.enabled', 'transcoding.threads'
|
'cache.previews.size', 'admin.email', 'signup.enabled', 'signup.limit', 'transcoding.enabled', 'transcoding.threads'
|
||||||
]
|
]
|
||||||
const miss: string[] = []
|
const miss: string[] = []
|
||||||
|
|
||||||
|
@ -36,7 +36,8 @@ function checkMissedConfig () {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check the available codecs
|
// Check the available codecs
|
||||||
function checkFFmpeg () {
|
// We get CONFIG by param to not import it in this file (import orders)
|
||||||
|
function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) {
|
||||||
const Ffmpeg = require('fluent-ffmpeg')
|
const Ffmpeg = require('fluent-ffmpeg')
|
||||||
const getAvailableCodecsPromise = promisify0(Ffmpeg.getAvailableCodecs)
|
const getAvailableCodecsPromise = promisify0(Ffmpeg.getAvailableCodecs)
|
||||||
|
|
||||||
|
@ -57,14 +58,16 @@ function checkFFmpeg () {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function clientsExist () {
|
// We get db by param to not import it in this file (import orders)
|
||||||
return db.OAuthClient.countTotal().then(totalClients => {
|
function clientsExist (OAuthClient: OAuthClientModel) {
|
||||||
|
return OAuthClient.countTotal().then(totalClients => {
|
||||||
return totalClients !== 0
|
return totalClients !== 0
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function usersExist () {
|
// We get db by param to not import it in this file (import orders)
|
||||||
return db.User.countTotal().then(totalUsers => {
|
function usersExist (User: UserModel) {
|
||||||
|
return User.countTotal().then(totalUsers => {
|
||||||
return totalUsers !== 0
|
return totalUsers !== 0
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ function createDirectoriesIfNotExist () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function createOAuthClientIfNotExist () {
|
function createOAuthClientIfNotExist () {
|
||||||
return clientsExist().then(exist => {
|
return clientsExist(db.OAuthClient).then(exist => {
|
||||||
// Nothing to do, clients already exist
|
// Nothing to do, clients already exist
|
||||||
if (exist === true) return undefined
|
if (exist === true) return undefined
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ function createOAuthClientIfNotExist () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function createOAuthAdminIfNotExist () {
|
function createOAuthAdminIfNotExist () {
|
||||||
return usersExist().then(exist => {
|
return usersExist(db.User).then(exist => {
|
||||||
// Nothing to do, users already exist
|
// Nothing to do, users already exist
|
||||||
if (exist === true) return undefined
|
if (exist === true) return undefined
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue