Skip to main content

Configuração de Desenvolvimento com Docker

Este guia o ajudará a configurar um ambiente completo de desenvolvimento do AirysChat usando Docker e Docker Compose.

Pré-requisitos

Antes de prosseguir, certifique-se de ter a versão mais recente do docker e do docker-compose instalados. No momento, recomendamos uma versão igual ou superior à seguinte:

Instalar Docker

Windows

  1. Baixe o Docker Desktop de https://www.docker.com/products/docker-desktop/
  2. Execute o instalador e siga as instruções de configuração
  3. Habilite o backend WSL2 (recomendado)
  4. Reinicie seu computador quando solicitado

macOS

Linux (Ubuntu/Debian)

Após adicionar a si mesmo ao grupo docker no Linux, faça logout e login novamente para que as alterações tenham efeito.

Ambiente de Desenvolvimento

  1. Clone o repositório.
  2. Faça uma cópia do arquivo de ambiente de exemplo e modifique-o conforme necessário.
  3. Construa (build) as imagens.
  4. Após construir a imagem ou destruir a stack, você terá que redefinir o banco de dados usando o seguinte comando.
  5. Para executar o app:
    • Acesse o frontend do aplicativo rails visitando http://0.0.0.0:3000/
    • Acesse a caixa de entrada do Mailhog visitando http://0.0.0.0:8025/ (Você receberá todos os e-mails enviados pelo aplicativo aqui)

    Login com credenciais

  6. Para parar o app:

Executando Testes do RSpec

Para rodar todos os testes completos do RSpec:
Para rodar um teste específico:

Ambiente de Produção

Para depurar a compilação (build) de produção localmente, defina a variável de ambiente SECRET_KEY_BASE em seu arquivo .env e, em seguida, execute os comandos abaixo:

Modo de Depuração

Para usar depuradores como byebug ou binding.pry, use o seguinte comando para iniciar o aplicativo em vez de docker compose up:

Fluxo de Trabalho de Desenvolvimento

Comandos de Desenvolvimento Diário

Resolução de Problemas

Se houver uma atualização em qualquer um dos seguintes:
  • dockerfile
  • gemfile
  • package.json
  • alteração no schema (esquema de dados)
Certifique-se de reconstruir os contêineres e executar db:reset.

Problemas Comuns

Solução: Verifique as dependências e os logs do serviço:
Solução: Certifique-se de que o contêiner do PostgreSQL esteja saudável (healthy):
Solução: Pare outros serviços que estão usando as mesmas portas:
Solução: Limpe os recursos do Docker:
Solução: Limpe o cache do Docker e reconstrua (rebuild):

Obtendo Ajuda

Se você encontrar problemas específicos do Docker:
Seu ambiente de desenvolvimento Docker está agora pronto para desenvolvimento do AirysChat! 🐳