This one is spewing a bunch of recent http calls into each error log. I get he benefit of these plugins though I'm curious what resources they might be using. And in this case, don't want the requests to end up e.g. in a GitHub issue.
59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
'use strict'
|
|
/* eslint-disable import/order */
|
|
|
|
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
require('dotenv').config()
|
|
|
|
// Set up Sentry reporting as early in the process as possible.
|
|
const config = require('config').util.toObject()
|
|
const Sentry = require('@sentry/node')
|
|
const disabledIntegrations = ['Console', 'Http']
|
|
Sentry.init({
|
|
dsn: process.env.SENTRY_DSN || config.private.sentry_dsn,
|
|
integrations: integrations => {
|
|
const filtered = integrations.filter(
|
|
integration => !disabledIntegrations.includes(integration.name)
|
|
)
|
|
if (filtered.length != integrations.length - disabledIntegrations.length) {
|
|
throw Error(
|
|
`An error occurred while filtering integrations. The following inetgrations were found: ${integrations.map(
|
|
({ name }) => name
|
|
)}`
|
|
)
|
|
}
|
|
return filtered
|
|
},
|
|
})
|
|
|
|
if (+process.argv[2]) {
|
|
config.public.bind.port = +process.argv[2]
|
|
}
|
|
if (process.argv[3]) {
|
|
config.public.bind.address = process.argv[3]
|
|
}
|
|
|
|
console.log('Configuration:')
|
|
console.dir(config.public, { depth: null })
|
|
|
|
const legacySecretsPath = path.join(__dirname, 'private', 'secret.json')
|
|
if (fs.existsSync(legacySecretsPath)) {
|
|
console.error(
|
|
`Legacy secrets file found at ${legacySecretsPath}. It should be deleted and secrets replaced with environment variables or config/local.yml`
|
|
)
|
|
process.exit(1)
|
|
}
|
|
|
|
const Server = require('./core/server/server')
|
|
const server = (module.exports = new Server(config))
|
|
|
|
;(async () => {
|
|
try {
|
|
await server.start()
|
|
} catch (e) {
|
|
console.error(e)
|
|
process.exit(1)
|
|
}
|
|
})()
|