Pular para o conteúdo principal

Instalação

Esta seção detalha os passos para a instalação do DBizzie.

Visão Geral

O DBizzie é distribuído como containers Docker, facilitando a instalação e o gerenciamento. Todo o processo leva aproximadamente 10 minutos para ser concluído.

Pré-requisitos

Antes de começar, certifique-se de que todos os requisitos foram atendidos:

  • Docker e Docker Compose instalados
  • Conectividade de rede adequada
  • Espaço em disco suficiente

Passos da Instalação

1. Preparar o Ambiente

Crie um diretório dedicado para o DBizzie:

mkdir dbizzie
cd dbizzie

2. Gerar Chave Secreta

Gere uma chave secreta para criptografia da aplicação:

docker run --rm dbizzie/dbizzie bin/rails secret
Importante

Guarde esta chave com segurança. Ela será necessária para manter os dados criptografados entre atualizações.

3. Configurar Variáveis de Ambiente

Crie o arquivo .env com as configurações necessárias:

# .env
# Imagem Docker do DBizzie
APP_IMAGE=dbizzie/dbizzie:latest

# Configurações do Banco de Dados PostgreSQL
POSTGRES_USER=dbizzie
POSTGRES_PASSWORD=sua_senha_segura_aqui
POSTGRES_DB=dbizzie

# Chave secreta gerada no passo anterior
SECRET_KEY_BASE=sua_chave_secreta_aqui

# Configuração de Proxy (apenas se necessário)
PROXY=FALSE
Configuração de Proxy

Se o servidor não possuir conexão direta com a internet, configure:

PROXY=TRUE

E garanta que o acesso ao proxy.izzie-it.com (IP: 168.138.253.210) esteja liberado nas portas 80 e 443.

4. Criar Arquivo Docker Compose

Crie o arquivo docker-compose.yml com a configuração dos serviços:

# docker-compose.yml
name: dbizzie
version: '3.8'

services:
postgres:
image: postgres:17
container_name: dbizzie-postgres
restart: unless-stopped
environment:
POSTGRES_USER: ${POSTGRES_USER:-user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
POSTGRES_DB: ${POSTGRES_DB:-dbizzie}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-user} -d ${POSTGRES_DB:-dbizzie}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- dbizzie-network

redis:
image: redis:7
container_name: dbizzie-redis
restart: unless-stopped
volumes:
- redis_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- dbizzie-network

manager:
image: ${APP_IMAGE:-dbizzie/dbizzie:latest}
container_name: dbizzie-manager
restart: unless-stopped
command: ./bin/manager
depends_on:
postgres:
condition: service_healthy
environment:
DATABASE_URL: postgres://${POSTGRES_USER:-dbizzie}:${POSTGRES_PASSWORD:-password}@postgres:5432/${POSTGRES_DB:-dbizzie}?sslmode=disable
PROXY: ${PROXY:-FALSE}
networks:
- dbizzie-network

web:
image: ${APP_IMAGE:-dbizzie/dbizzie:latest}
container_name: dbizzie-web
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
environment:
DATABASE_URL: postgres://${POSTGRES_USER:-dbizzie}:${POSTGRES_PASSWORD:-password}@postgres:5432/${POSTGRES_DB:-dbizzie}?sslmode=disable
REDIS_URL: redis://redis:6379/0
MANAGER_SERVICE_URL: http://manager:5000
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
PROXY: ${PROXY:-FALSE}
ports:
- "4000:80"
- "4001:3000"
volumes:
- storage_data:/app/storage
networks:
- dbizzie-network

worker:
image: ${APP_IMAGE:-dbizzie/dbizzie:latest}
container_name: dbizzie-worker
restart: unless-stopped
command: ./bin/bundle exec sidekiq -C config/sidekiq.yml
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
environment:
DATABASE_URL: postgres://${POSTGRES_USER:-dbizzie}:${POSTGRES_PASSWORD:-password}@postgres:5432/${POSTGRES_DB:-dbizzie}?sslmode=disable
REDIS_URL: redis://redis:6379/0
MANAGER_SERVICE_URL: http://manager:5000
SECRET_KEY_BASE: ${SECRET_KEY_BASE}
PROXY: ${PROXY:-FALSE}
WORKER_CONCURRENCY: ${WORKER_CONCURRENCY:-10}
volumes:
- storage_data:/app/storage
networks:
- dbizzie-network

volumes:
postgres_data:
driver: local
redis_data:
driver: local
storage_data:
driver: local

networks:
dbizzie-network:
driver: bridge

5. Iniciar o DBizzie

Execute o comando para baixar as imagens e iniciar todos os serviços:

docker-compose up -d

Este comando irá:

  • Baixar as imagens Docker necessárias
  • Criar os containers dos serviços
  • Configurar a rede interna
  • Inicializar o banco de dados
  • Iniciar todos os serviços

6. Verificar a Instalação

Aguarde alguns minutos para que todos os serviços sejam inicializados e verifique o status:

# Verificar status dos containers
docker-compose ps

# Acompanhar os logs de inicialização
docker-compose logs -f web

7. Acessar o DBizzie

Acesse o DBizzie através do navegador:

URL: http://localhost:4000

Na primeira vez, você será direcionado para a configuração inicial.

Comandos Úteis

Monitoramento

# Acompanhar logs em tempo real
docker-compose logs -f

# Logs de um serviço específico
docker-compose logs -f web

# Verificar status dos containers
docker-compose ps

# Verificar uso de recursos
docker stats

Gerenciamento

# Parar todos os serviços
docker-compose stop

# Reiniciar todos os serviços
docker-compose restart

# Reiniciar um serviço específico
docker-compose restart web

# Parar e remover containers (mantém dados)
docker-compose down

# Atualizar e reiniciar (após mudanças no docker-compose.yml)
docker-compose up -d

Solução de Problemas

Container não inicia

# Verificar logs detalhados
docker-compose logs [nome_do_container]

# Verificar se as portas estão ocupadas
netstat -tulpn | grep :4000

Problemas de conectividade

# Testar conectividade com proxy (se aplicável)
curl -I http://proxy.izzie-it.com

# Verificar rede Docker
docker network ls
docker network inspect dbizzie_dbizzie-network

Reset completo (cuidado: apaga todos os dados)

# Parar e remover tudo
docker-compose down -v

# Remover imagens (opcional)
docker-compose down --rmi all

# Reiniciar do zero
docker-compose up -d

Próximos Passos

Após a instalação bem-sucedida:

  1. Configuração Inicial: Acesse a configuração inicial
  2. HTTPS: Configure HTTPS para produção
  3. Conexões: Configure as conexões com bancos Oracle