Skip to main content

Produção

Para rodar o projeto em produção, são necessários dois arquivos de ambiente. O primeiro deles deve ser colocado na pasta raiz do projeto com o nome .env e o segundo deve ser colocado dentro da pasta /eclipse como nome .env.production

A falta de um desses arquivos de ambiente pode acarretar em erros inesperados de build do docker!


.env: 

# 🌐 API
API_PORT=3008

# 🛢️ MongoDB
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=admin123
MONGO_INITDB_DATABASE=eclipse-db-deploy
CONNECTION_STRING=mongodb://root:admin123@eclipse-db-deploy:27017/eclipse?authSource=admin

# 🔐 Segurança
JWT_SECRET=secret
NEXTAUTH_SECRET=secret

# 🌐 CORS
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:80,http://localhost,http://eclipse-api,http://eclipse-api:5173,http://localhost:3008

# 💻 Next.js
NEXT_PUBLIC_APP_VERSION=3.1.05.25
NEXT_PUBLIC_API_URL=http://localhost:3008/api/v1
NEXTAUTH_URL=http://localhost

# 👮 Admin Inicial
BASE_ADMIN_PASSWORD=admin123
[email protected]

# ✉️ E-mail
[email protected]
PASSWORD_USER=senha-gerada

# ⚙️ Ambiente
NODE_ENV=production

.env.production: 

Lembre de adicionar este arquivo na pasta /eclipse

# 🌐 API
API_PORT=3008

# 🛢️ MongoDB
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=admin123
MONGO_INITDB_DATABASE=eclipse-db-deploy
CONNECTION_STRING=mongodb://root:admin123@eclipse-db-deploy:27017/eclipse?authSource=admin

# 🔐 Segurança
JWT_SECRET=secret
NEXTAUTH_SECRET=secret

# 🌐 CORS
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:80,http://localhost,http://eclipse-api,http://eclipse-api:5173,http://localhost:3008

# 💻 Next.js
NEXT_PUBLIC_APP_VERSION=3.1.05.25
NEXT_PUBLIC_API_URL=http://localhost/api/v1
NEXTAUTH_URL=http://localhost

# 👮 Admin Inicial
BASE_ADMIN_PASSWORD=senha
[email protected]

# ✉️ E-mail
[email protected]
PASSWORD_USER=senha-gerada

# ⚙️ Ambiente
NODE_ENV=production


----------------------------------------------------------------------------------------------------------------------------
#novo env


# 🛢️ MONGO (usado pelo db)
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=i38LtMdGfjv08U0m
MONGO_INITDB_DATABASE=eclipse-db-deploy


# 🌐 API
API_PORT=3008
CONNECTION_STRING=mongodb://root:i38LtMdGfjv08U0m@eclipse-db-deploy:27017/eclipse?authSource=admin


# 🔐 Segurança

JWT_SECRET=hwqojkeh91436519y123yr80795412h5o30-69
NEXTAUTH_SECRET=hwqojkeh91436519y123yr80795412h5o30-69

# 🌐 CORS
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173,http://localhost:80,http://localhost,http://eclipse-api,http://eclipse-api:5173,http://localhost:3008

# 💻 Next.js
NEXT_PUBLIC_APP_VERSION=3.3.09.25
NEXT_PUBLIC_API_URL=https://eclipse.defensoria.df.gov.br/api/v1
NEXTAUTH_URL=https://eclipse.defensoria.df.gov.br

# 👮 Admin Inicial
BASE_ADMIN_PASSWORD=X846RDAobkaxWY3H
[email protected]

# ✉️ E-mail
[email protected]
PASSWORD_USER=senha-gerada
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_SECURE=false

# ⚙️ Ambiente
NODE_ENV=production

Rodando Docker

Lembre-se de criar os arquivos .env na pasta raíz e o .env.production na pasta /eclipse antes!


sudo docker compose up --build

AVISOS IMPORTANTES

❗ Não utilize os valores padrões em produção! 

Antes de subir o sistema para qualquer ambiente real, substitua os seguintes campos por valores seguros e válidos:
  • 🔐 Segurança (Criptografia):
JWT_SECRET e NEXTAUTH_SECRET → Gere uma chave segura com pelo menos 32 caracteres.

  • 👮 Corregedor Inicial:
BASE_ADMIN_EMAIL→ Altere para um e-mail real e controlado por você.
BASE_ADMIN_PASSWORD→ Crie uma senha forte.

  • ✉️ Envio de E-mails:
EMAIL_USER → Um e-mail Gmail válido.
PASSWORD_USER → A senha de app gerada em https://myaccount.google.com/apppasswords com a verificação em duas etapas ativada.
  • 🛢️ Atenção com o MongoDB:
Se você alterar os valores de MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD ou MONGO_INITDB_DATABASE, lembre-se de atualizar também o valor da CONNECTION_STRING manualmente.

❌ O arquivo .env não suporta interpolação de variáveis. Por isso, a string de conexão não é gerada automaticamente com base nos valores acima.

🔐 Nunca compartilhe arquivos .env com informações sensíveis publicamente (GitHub, fóruns etc.).