# Variáveis de ambiente — WiFi ETL Copie para `.env` e preencha conforme seu ambiente. ## 🔧 Aplicação (obrigatórias) ```env # PostgreSQL (pode ser VM separada ou Docker local) DB_HOST=localhost DB_PORT=5432 DB_NAME=wifi_etl DB_USER=postgres DB_PASSWORD=sua_senha_aqui # Ruijie (AP) RUIJIE_BASE_URL=https://cloud-eu.ruijienetworks.com RUIJIE_APPID=open52d4899cdbe2 RUIJIE_SECRET=10493c81e8e94f56b8710d78ed2527c7 RUIJIE_ACCESS_TOKEN= # opcional — ETL renova automaticamente RUIJIE_GROUP_ID=9290679 # WiFire (autenticação usuários) WIFIRE_BASE_URL=https://api.wifire.me WIFIRE_USERNAME=seu_email@empresa.com.br WIFIRE_API_KEY=sua_api_key_aqui WIFIRE_ESTABLISHMENT_ID= # ID numérico do estabelecimento (use list_establishments() para descobrir) WIFIRE_GROUP_ID= # Alternativa ao ESTABLISHMENT_ID — preencha um dos dois # Logging LOG_LEVEL=INFO # Watchdog (alertas por email se o ETL parar) MAIL_HOST=10.0.120.60 MAIL_PORT=25 MAIL_FROM=Goleiro WATCHDOG_RECIPIENT_EMAILS=caio.marques@sothis.com.br WATCHDOG_CC_EMAILS=rafael.lopes@sothis.com.br ``` --- ## 🔐 Secrets (Gitea CI/CD) No **Gitea**, cadastre em **Settings → Secrets**: | Nome | Descrição | |---|---| | `SSH_PRIVATE_KEY` | Chave privada SSH para deploy no servidor (arquivo `id_rsa`) | | `REGISTRY_PASSWORD` | Token do Docker Registry (se usar) | | `DB_PASSWORD` | Senha do PostgreSQL (pode ser secret) | | `RUIJIE_ACCESS_TOKEN` | Token Ruijie (opcional — ETL pode renovar) | | `RUIJIE_SECRET` | Secret Ruijie | | `WIFIRE_API_KEY` | API Key WiFire | --- ## 📦 Variáveis (Gitea CI/CD) Em **Settings → Variables** (não sensíveis): | Nome | Valor | Padrão | |---|---|---| | `DB_HOST` | IP/host do banco | — | | `DB_PORT` | Porta PostgreSQL | `5432` | | `DB_NAME` | Nome do banco | `wifi_etl` | | `DB_USER` | Usuário DB | `postgres` | | `RUIJIE_BASE_URL` | URL base Ruijie | — | | `RUIJIE_APPID` | AppID Ruijie | — | | `RUIJIE_SECRET` | Secret Ruijie | — | | `RUIJIE_GROUP_ID` | Group ID Ruijie | `9290679` | | `WIFIRE_BASE_URL` | URL base WiFire | `https://api.wifire.me` | | `WIFIRE_USERNAME` | Usuário WiFire | — | | `WIFIRE_ESTABLISHMENT_ID` | ID do estabelecimento WiFire | — | | `LOG_LEVEL` | Nível de log | `INFO` | | `REGISTRY` | Docker Registry (ex: `ghcr.io/user`) | vazio | | `REGISTRY_USERNAME` | Username do registry | vazio | | `SSH_HOST` | IP/host do servidor prod | — | | `SSH_USER` | Usuário SSH do servidor | — | --- ## 🐳 Docker Compose Override (opcional) Crie `docker-compose.override.yml` para dev com PG embutido: ```yaml version: '3.8' services: postgres: image: postgres:15-alpine environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_DB: ${DB_NAME} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./infra/init.sql:/docker-entrypoint-initdb.d/init.sql:ro etl: build: context: . dockerfile: infra/Dockerfile depends_on: postgres: condition: service_healthy environment: DB_HOST: postgres DB_PORT: 5432 DB_NAME: ${DB_NAME} DB_USER: ${DB_USER} DB_PASSWORD: ${DB_PASSWORD} RUIJIE_*: ${RUIJIE_*} WIFEED_*: ${WIFEED_*} volumes: - etl_logs:/var/log volumes: postgres_data: etl_logs: ``` Use: `docker-compose up -d` (lê `.env` automaticamente).