š Guia Completo de Instalação - ECOSIF¶
š VisĆ£o Geral¶
Este guia fornece instruções passo a passo para instalação completa do sistema ECOSIF em qualquer ambiente.
ā PrĆ©-requisitos¶
Software NecessĆ”rio¶
| Software | VersĆ£o MĆnima | Como Instalar |
|---|---|---|
| Docker | 20.10+ | InstruƧƵes |
| Docker Compose | 2.0+ | IncluĆdo no Docker Desktop |
| Python | 3.8+ | InstruƧƵes |
| Git | 2.0+ | InstruƧƵes |
Verificar InstalaƧƵes¶
docker --version
docker compose version
python3 --version
git --version
š Instalação RĆ”pida¶
Passo 1: Clonar Repositório¶
git clone <repo-url>
cd ecosif-ia-services
cd ecosif-structure
Passo 2: Configurar VariĆ”veis¶
# Executar script interativo
python3 scripts/setup-env.py
O script irĆ”:
- ā
Criar .env se não existir
- ā
Mostrar valores atuais
- ā
Permitir configurar variƔveis
- ā
Gerar senhas automaticamente (opcional)
Passo 3: Iniciar ServiƧos¶
Desenvolvimento:
./scripts/start.sh --dev
Produção:
./scripts/start.sh
Passo 4: Verificar¶
# Status
./scripts/status.sh
# Logs
./scripts/logs.sh --follow
š Instalação Detalhada¶
1. Preparação do Ambiente¶
1.1 Clonar Repositórios¶
# Repositório principal
git clone <repo-url>
cd ecosif-ia-services/ecosif-structure
# Atualizar submodules (se houver)
./scripts/update-submodules.sh
1.2 Verificar Requisitos¶
# Verificar Docker
docker ps
# Verificar portas disponĆveis
netstat -tulpn | grep -E ':(80|443|8080|5432)'
2. Configuração de VariĆ”veis¶
2.1 Executar Configurador¶
python3 scripts/setup-env.py
2.2 VariĆ”veis Obrigatórias¶
Durante a execução do script, configure:
- POSTGRES_DB: Nome do banco de dados
-
Exemplo:
ecosifouecosif_prod -
POSTGRES_USER: UsuƔrio PostgreSQL
-
Exemplo:
postgresouecosif_user -
POSTGRES_PASSWORD: Senha do PostgreSQL
- IMPORTANTE: Use senha forte
-
Pode ser gerada automaticamente
-
AUTH_TOKEN_SECRET: Chave secreta JWT
- CRĆTICO: MĆnimo 32 caracteres
- Deve ser a mesma em todos os serviƧos
-
Pode ser gerada automaticamente
-
ECOSIF_DOMAIN: DomĆnio base
- Desenvolvimento:
localhost -
Produção:
ecosif.cliente.com -
ECOSIF_API_BASE_URL: URL completa
- Desenvolvimento:
http://localhost - Produção:
https://ecosif.cliente.com
2.3 Verificar Configuração¶
# Verificar arquivo .env criado
cat .env | grep -v PASSWORD | grep -v SECRET
# Verificar se senhas foram geradas
cat .env | grep -E "(PASSWORD|SECRET)" | head -c 50
3. Inicialização do Banco de Dados¶
3.1 Iniciar PostgreSQL¶
# Iniciar apenas PostgreSQL
./scripts/start.sh postgres
# Aguardar inicialização (30 segundos)
sleep 30
3.2 Inicializar Banco¶
# Executar script de inicialização
./scripts/init-database.sh
Este script: - ā Cria banco de dados - ā Cria usuĆ”rio - ā Aplica migrations do Flyway - ā Insere dados iniciais (usuĆ”rio admin)
4. Iniciar Todos os ServiƧos¶
Modo Desenvolvimento¶
# Iniciar em modo desenvolvimento
./scripts/start.sh --dev
# Ou com rebuild das imagens
./scripts/start.sh --dev --build
Modo Produção¶
# Iniciar em modo produção
./scripts/start.sh
# Ou com rebuild
./scripts/start.sh --build
5. Verificação Pós-Instalação¶
5.1 Verificar Status¶
# Status geral
./scripts/status.sh
# Logs em tempo real
./scripts/logs.sh --follow
5.2 Testar Acessos¶
Modo Desenvolvimento:
# Frontend
curl http://localhost
# API Auth
curl http://localhost/ecosif-auth/actuator/health
# Health checks
curl http://localhost:8080/ecosif-auth/actuator/health
Modo Produção:
# Frontend (HTTPS)
curl -k https://seu-dominio.com
# API Auth (HTTPS)
curl -k https://seu-dominio.com/ecosif-auth/actuator/health
š§ Pós-Instalação¶
Configurar UsuĆ”rio Admin¶
Após inicialização, acesse:
- URL: http://localhost/ecosif-auth (dev) ou https://seu-dominio.com/ecosif-auth (prod)
- Credenciais padrão: Verificar no script init-database.sh
Configurar SSL (Apenas Produção)¶
Ver guia: traefik/README-HTTPS.md
š Troubleshooting¶
Erro: "Porta jĆ” em uso"¶
# Verificar qual processo estĆ” usando a porta
sudo lsof -i :80
sudo lsof -i :443
# Parar processo ou mudar porta no .env
Erro: "Container nĆ£o inicia"¶
# Ver logs detalhados
./scripts/logs.sh [service_name]
# Verificar variƔveis
docker-compose config
Erro: "Banco de dados nĆ£o conecta"¶
# Verificar se PostgreSQL estĆ” rodando
docker ps | grep postgres
# Testar conexão
docker exec -it postgres psql -U postgres -d ecosif
Ćltima Atualização: 2025-12-01