wwebjs-api/src/config.js
2026-07-13 19:53:15 +03:00

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
}