UNPKG

@thugdacake/operante

Version:

Cérebro Operante — o núcleo IA que invade e domina assistentes, criando uma mente única com Thug Developer

64 lines (52 loc) 1.78 kB
const path = require('path'); const dotenv = require('dotenv'); // Carrega o arquivo .env baseado no ambiente const envFile = process.env.NODE_ENV ? `.env.${process.env.NODE_ENV}` : '.env'; dotenv.config({ path: path.resolve(process.cwd(), envFile) }); const config = { // Configurações do projeto env: process.env.NODE_ENV || 'development', port: parseInt(process.env.PORT, 10) || 3000, // Configurações do banco de dados mongodb: { uri: process.env.MONGODB_URI || 'mongodb://localhost:27017/operante', }, // Configurações de autenticação auth: { jwtSecret: process.env.JWT_SECRET || 'your-secret-key', jwtExpiration: process.env.JWT_EXPIRATION || '1d', }, // Configurações de API api: { version: process.env.API_VERSION || 'v1', prefix: process.env.API_PREFIX || '/api', }, // Configurações de logs logs: { level: process.env.LOG_LEVEL || 'debug', format: process.env.LOG_FORMAT || 'dev', }, // Configurações de cache cache: { redisUrl: process.env.REDIS_URL || 'redis://localhost:6379', }, // Configurações de email email: { host: process.env.SMTP_HOST || 'smtp.example.com', port: parseInt(process.env.SMTP_PORT, 10) || 587, user: process.env.SMTP_USER || 'user@example.com', pass: process.env.SMTP_PASS || 'your-password', }, // Configurações de armazenamento storage: { type: process.env.STORAGE_TYPE || 'local', path: process.env.STORAGE_PATH || './uploads', }, // Configurações de segurança security: { corsOrigin: process.env.CORS_ORIGIN || 'http://localhost:3000', rateLimitWindow: process.env.RATE_LIMIT_WINDOW || '15m', rateLimitMax: parseInt(process.env.RATE_LIMIT_MAX, 10) || 100, }, }; module.exports = config;