Files
Reem-Notas/.env.example

111 lines
6.0 KiB
Plaintext

# ============================================================
# .env.example — COPIE PARA .env E PREENCHA OS VALORES REAIS
# NUNCA versione o arquivo .env no Git!
# ============================================================
# Ambiente Rails
# ⚠️ NO SERVIDOR DE PRODUÇÃO use `production` (modo development expõe páginas de
# erro com código-fonte/stack, o rack-mini-profiler e desliga otimizações).
# Use `development` só na sua máquina local.
RAILS_ENV=production
# Fuso horário do sistema operacional dentro dos containers.
# Já é o padrão no Dockerfile — só mexa se a operação mudar de estado.
# ⚠️ Isto define o FUSO, não a HORA. Se a data/hora do servidor está errada
# (atrasa, ou volta errada depois de reboot/deploy), o problema é o relógio
# do HOST: rode uma vez `sudo bash deploy/ntp-seguro.sh`.
TZ=America/Sao_Paulo
# ── Porta publicada no host ───────────────────────────────
# A porta DENTRO do container é sempre 3000; esta é a do servidor.
# Só precisa mudar quando outro stack já ocupa a porta no mesmo host —
# é o caso do ambiente de TESTE, que usa 3001 (a 3000 está ocupada).
# Sem esta variável o compose assume 3000.
# ⚠️ Tem que casar com o destino do proxy reverso (DSM / Cloudflare).
PORTA_APP=3000
# ── Banco de dados (seu PostgreSQL já existente) ─────────────
# Aponte DB_HOST para o IP ou hostname do seu servidor PostgreSQL
DATABASE_URL=postgresql://postgres:senha_segura@SEU_IP:5432/logistica_db
DB_HOST=SEU_IP # ex: 192.168.1.100 ou db.gade.com.br
DB_PORT=5432
DB_NAME=logistica_db # nome do banco NOVO que o sistema vai criar
DB_USER=postgres
DB_PASSWORD=senha_segura
# ── SimpliRoute — API de escrita (edição de lançamentos pelo ADM) ─────
# A base de rastreio (DB_EXISTING_TABLE) é só LEITURA e sincroniza a partir
# do SimpliRoute. Para CORRIGIR um lançamento (status/motivo/comentário) o
# sistema grava direto na API do SimpliRoute usando este token.
# Pegue em: SimpliRoute → Configurações → API. NUNCA versione o token real.
SIMPLIROUTE_TOKEN=
SIMPLIROUTE_BASE_URL=https://api.simpliroute.com
# ── Tabela existente (apenas leitura — NÃO modificar) ────────
DB_EXISTING_TABLE=db_reem_simplerout_2026
DB_EXISTING_SCHEMA=public
# Conta(s) consideradas. A coluna account_id é texto e pode vir vazia.
# 95907 → só essa conta
# 95907,12345 → várias contas
# 95907, → essa conta + os registros de conta vazia
# all (ou vazio)→ NÃO filtra por conta (conta tudo da tabela) ← recomendado aqui
DB_EXISTING_ACCOUNT_ID=all
# ── Rails Security ────────────────────────────────────────────
# Gere com: docker-compose exec app bundle exec rails secret
SECRET_KEY_BASE=gere_com_rails_secret_e_cole_aqui
# Força HTTPS: redireciona HTTP→HTTPS e marca cookies como "Secure".
# Deixe "true" no servidor (atrás do Cloudflare). Em desenvolvimento local
# deixe vazio/false para não forçar https em localhost.
FORCE_SSL=true
# ══════════════════════════════════════════════════════════════
# NOTIFICAÇÕES (WhatsApp e e-mail)
#
# ⚠️ Estas variáveis são apenas FALLBACK. A configuração preferencial fica no
# BANCO e é editada pelo ADM em Configurações → Notificações e E-mail
# (/admin/configuracao_notificacao), valendo sem reiniciar o container.
# Enquanto a tela não for preenchida e ativada, valem os valores abaixo.
# ══════════════════════════════════════════════════════════════
# ── Twilio — WhatsApp (opcional, Fase 8) ─────────────────────
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_WHATSAPP_FROM=whatsapp:+14155238886
# ── E-mail (opcional, Fase 8) ────────────────────────────────
SMTP_ADDRESS=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_DOMAIN=gade.com.br
# ── Criptografia dos segredos gravados pela tela (opcional) ──
# A senha do SMTP e o token do Twilio salvos no banco são cifrados com uma
# chave derivada do SECRET_KEY_BASE. Se você trocar o SECRET_KEY_BASE, esses
# dois valores viram ilegíveis (o sistema volta a usar o .env e a tela avisa
# para redigitar). Defina NOTIFICACAO_SECRET com uma string longa e FIXA para
# desacoplar os segredos da rotação do SECRET_KEY_BASE.
# ⚠️ Se mudar depois de já ter salvo, os valores gravados também se perdem.
NOTIFICACAO_SECRET=
# ── App ───────────────────────────────────────────────────────
APP_HOST=localhost:3000
APP_NAME=Reem Logística
# ── WhatsApp (ponte própria — sessão pareada por QR code) ──────────────────
# Token compartilhado entre o Rails e o container `whatsapp`. Qualquer string
# longa e aleatória: `openssl rand -hex 32`. Sem ele a ponte recusa TUDO.
WHATSAPP_TOKEN=troque_por_uma_string_aleatoria_longa
# URL da ponte dentro da rede do compose (não mexa, a menos que troque o nome
# do serviço no docker-compose.yml).
# (o nome antigo `BAILEYS_URL` ainda é aceito, para .env já em produção)
WHATSAPP_URL=http://whatsapp:3001
# ── Erros na tela ────────────────────────────────────────────────────────
# Mostra a página de debug do Rails (parâmetros, SESSÃO, cookies, IP, trace).
# Deixe SEMPRE vazia/false em qualquer servidor: esse painel vai para a tela de
# quem provocou o erro. Ligue só na sua máquina, quando estiver depurando.
ERROS_DETALHADOS=false