61 lines
2.7 KiB
JavaScript
61 lines
2.7 KiB
JavaScript
// Load environment variables from .env file
|
|
require('dotenv').config({ path: process.env.ENV_PATH || '.env' })
|
|
|
|
// setup global const
|
|
const servicePort = process.env.PORT || 3000
|
|
const sessionFolderPath = process.env.SESSIONS_PATH || './sessions'
|
|
const enableLocalCallbackExample = (process.env.ENABLE_LOCAL_CALLBACK_EXAMPLE || '').toLowerCase() === 'true'
|
|
const globalApiKey = process.env.API_KEY
|
|
const baseWebhookURL = process.env.BASE_WEBHOOK_URL
|
|
const maxAttachmentSize = parseInt(process.env.MAX_ATTACHMENT_SIZE) || 10000000
|
|
const setMessagesAsSeen = (process.env.SET_MESSAGES_AS_SEEN || '').toLowerCase() === 'true'
|
|
const disabledCallbacks = process.env.DISABLED_CALLBACKS ? process.env.DISABLED_CALLBACKS.split('|') : []
|
|
const enableSwaggerEndpoint = (process.env.ENABLE_SWAGGER_ENDPOINT || '').toLowerCase() === 'true'
|
|
const enableWebUI = (process.env.ENABLE_WEB_UI || '').toLowerCase() === 'true'
|
|
const webVersion = process.env.WEB_VERSION
|
|
const webVersionCacheType = process.env.WEB_VERSION_CACHE_TYPE || 'none'
|
|
const rateLimitMax = parseInt(process.env.RATE_LIMIT_MAX) || 1000
|
|
const rateLimitWindowMs = parseInt(process.env.RATE_LIMIT_WINDOW_MS) || 1000
|
|
const recoverSessions = (process.env.RECOVER_SESSIONS || '').toLowerCase() === 'true'
|
|
const chromeBin = process.env.CHROME_BIN || null
|
|
const headless = process.env.HEADLESS ? (process.env.HEADLESS).toLowerCase() === 'true' : true
|
|
const releaseBrowserLock = process.env.RELEASE_BROWSER_LOCK ? (process.env.RELEASE_BROWSER_LOCK).toLowerCase() === 'true' : true
|
|
const logLevel = process.env.LOG_LEVEL || 'info'
|
|
const enableWebHook = process.env.ENABLE_WEBHOOK ? (process.env.ENABLE_WEBHOOK).toLowerCase() === 'true' : true
|
|
const enableWebSocket = process.env.ENABLE_WEBSOCKET ? (process.env.ENABLE_WEBSOCKET).toLowerCase() === 'true' : false
|
|
const autoStartSessions = process.env.AUTO_START_SESSIONS ? (process.env.AUTO_START_SESSIONS).toLowerCase() === 'true' : true
|
|
const basePath = process.env.BASE_PATH || '/'
|
|
const trustProxy = process.env.TRUST_PROXY ? (process.env.TRUST_PROXY).toLowerCase() === 'true' : false
|
|
const proxyUrl = process.env.PROXY_URL || null
|
|
const proxyUsername = process.env.PROXY_USERNAME ?? null
|
|
const proxyPassword = process.env.PROXY_PASSWORD ?? null
|
|
|
|
module.exports = {
|
|
servicePort,
|
|
sessionFolderPath,
|
|
enableLocalCallbackExample,
|
|
globalApiKey,
|
|
baseWebhookURL,
|
|
maxAttachmentSize,
|
|
setMessagesAsSeen,
|
|
disabledCallbacks,
|
|
enableSwaggerEndpoint,
|
|
enableWebUI,
|
|
webVersion,
|
|
webVersionCacheType,
|
|
rateLimitMax,
|
|
rateLimitWindowMs,
|
|
recoverSessions,
|
|
chromeBin,
|
|
headless,
|
|
releaseBrowserLock,
|
|
logLevel,
|
|
enableWebHook,
|
|
enableWebSocket,
|
|
autoStartSessions,
|
|
basePath,
|
|
trustProxy,
|
|
proxyUrl,
|
|
proxyUsername,
|
|
proxyPassword
|
|
}
|