Guia Docker do Worklenz
Conteúdo: # Guia Docker Worklenz
O gerenciamento eficiente de projetos começa com ferramentas que não são apenas poderosas, mas também fáceis de implantar. Docker, uma plataforma líder para implantação de aplicativos em contêineres, está transformando a maneira como as empresas gerenciam as instalações de software. Simplificando configurações complexas e garantindo consistência entre ambientes, Docker tornou-se uma ferramenta essencial para as equipes modernas.
Para o Worklenz, Docker oferece uma experiência de implantação contínua adaptada às necessidades de startups e empresas. Com sua portabilidade, escalabilidade e gerenciamento eficiente de recursos, Docker elimina os desafios das instalações tradicionais, permitindo que as equipes se concentrem no que realmente importa, alcançar o sucesso do projeto.
Descubra como implantar o Worklenz com Docker pode elevar a eficiência de sua equipe e simplificar suas operações de TI.
Índice
- Pré-requisitos
- Passo 1: Clonar o Repositório
- Passo 2: Preparar o Ambiente Docker
- Passo 3: Construir e Iniciar Contêineres
- Passo 4: Acessar o Aplicativo
- Passo 5: Solucionar Problemas Comuns
- Notas Adicionais
O que você precisa
Antes de começar, certifique-se de ter o seguinte:
- Um computador com Docker instalado (Windows, Mac ou Linux).
- Acesso à internet para baixar os arquivos necessários.
- Familiaridade básica com a abertura de um terminal (Prompt de Comando ou equivalente).
Se o Docker ainda não estiver instalado, siga este guia para configurá-lo primeiro. Se o Gitbash ainda não estiver instalado, siga este guia para configurar o gitbash no seu computador
Requisitos mínimos do sistema
- CPU: 2+ núcleos
- RAM: mínimo de 4GB (8GB recomendado)
- Espaço em Disco: 10GB livres para imagens e contêineres Docker
Passo 1: Clonar do Repositório
- Opção 1: Use Git para Clonar o Repositório
Abra seu terminal (ou Prompt de Comando, PowerShell ou Git Bash) e execute o seguinte comando para clonar o repositório para sua máquina local:
git clone https://github.com/Worklenz/worklenz.git
- Opção 2: Baixar os Arquivos do Aplicativo
Se o Git não estiver instalado, você pode baixar os arquivos manualmente. Visite o repositório Worklenz, clique no botão “Code” e selecione “Download ZIP.” Extraia o arquivo ZIP baixado e coloque os arquivos em uma pasta chamada worklenz no seu computador.
Navegue até a pasta do projeto:
cd worklenz
Passo 2: Preparar o Ambiente Docker
Para configurar o aplicativo para rodar com Docker, siga estas etapas:
Criar o Arquivo .env
No diretório do projeto, navegue até a pasta backend e crie o arquivo .env copiando o modelo fornecido:
cd worklenz-backend && cp .env.template .env
Configurar o Arquivo .env com as Credenciais Necessárias
# Servidor
NODE_ENV=development
PORT=3000
SESSION_NAME=worklenz.sid
SESSION_SECRET="SEU_SESSION_SECRET_AQUI"
COOKIE_SECRET="SEU_COOKIE_SECRET_AQUI"
# CORS
SOCKET_IO_CORS=http://localhost:4200
SERVER_CORS=*
# Banco de dados
DB_USER=worklenz_backend
DB_PASSWORD=senhasegura123
DB_NAME=worklenz_db
DB_HOST=worklenz_db
DB_PORT=5432
DB_MAX_CLIENTS=50
# Login Google
GOOGLE_CLIENT_ID="12345.apps.googleusercontent.com"
GOOGLE_CLIENT_SECRET="seu-google-client-secret"
GOOGLE_CALLBACK_URL="http://localhost:3000/secure/google/verify"
LOGIN_FAILURE_REDIRECT="/"
LOGIN_SUCCESS_REDIRECT="http://localhost:4200/auth/authenticate"
# CLI
ANGULAR_DIST_DIR="/path/worklenz_frontend/dist/worklenz" # Especifique o local onde o aplicativo Angular construído será colocado
ANGULAR_SRC_DIR="/path/worklenz_frontend"
BACKEND_PUBLIC_DIR="/path/worklenz_backend/src/public"
BACKEND_VIEWS_DIR="/path/worklenz_backend/src/views/admin"
COMMIT_BUILD_IMMEDIATELY=true
# Host
HOSTNAME=localhost:4200
# SLACK
SLACK_WEBHOOK="seu-slack-webhook-url"
USE_PG_NATIVE=true
# JWT SECRET
JWT_SECRET="SEU_JWT_SECRET_AQUI"
# AWS
AWS_REGION="us-west-2"
AWS_ACCESS_KEY_ID="AWS_ACCESS_KEY_ID_AQUI"
AWS_SECRET_ACCESS_KEY="AWS_SECRET_ACCESS_KEY_AQUI"
# Credenciais S3
REGION="us-west-2"
BUCKET="nome-do-seu-bucket"
S3_URL="S3_URL_AQUI"
S3_ACCESS_KEY_ID="S3_ACCESS_KEY_ID_AQUI"
S3_SECRET_ACCESS_KEY="S3_SECRET_ACCESS_KEY_AQUI"
# SES email
SOURCE_EMAIL="Worklenz <noreply@worklenz.com>"
Passo 3: Construir e Iniciar Contêineres
Inicie seu motor docker se ainda não estiver iniciado Use Docker Compose para construir e iniciar os contêineres:
docker-compose up --build -d
Este comando fará o seguinte:
- Construir as imagens Docker se elas não existirem.
- Iniciar os contêineres do aplicativo no modo desanexado (-d).
- Garantir que todos os serviços necessários (como o banco de dados e o aplicativo) estejam em execução.
Parar e Remover Contêineres
Para parar todos os contêineres em execução associados ao projeto Worklenz, você pode usar o seguinte comando:
docker-compose down
Se você quiser remover os contêineres, bem como as imagens e volumes para liberar espaço em disco, você pode usar:
docker system prune -a
Passo 4: Acessar o Aplicativo
Uma vez que os contêineres estão em execução, você pode acessar o Aplicativo Worklenz através do seguinte:
- URL do Backend: http://localhost:3000
- URL do FrontEnd:http://localhost:4200
Passo 5: Solucionar Problemas Comuns
Ao configurar o Worklenz com Docker, você pode encontrar alguns problemas comuns. Aqui estão algumas soluções para resolvê-los:
Problema 1: Contêineres Não Iniciando
Solução para Linux/macOS: Verifique os logs do contêiner Docker para quaisquer erros:
docker-compose logs
Se você ver erros relacionados a variáveis de ambiente ausentes ou outros problemas, certifique-se de que seu arquivo .env está corretamente configurado e todos os campos necessários estão preenchidos.
Você também pode verificar se há algum serviço ou porta em uso conflitante:
sudo lsof -i :3000
Se a porta 3000 estiver em uso, pare o processo que a está usando:
sudo kill -9 <PID>
Reinicie os contêineres Docker:
docker-compose down
docker-compose up --build -d
Solução para Windows:
Verifique os logs do contêiner Docker para quaisquer erros:
docker-compose logs
Se você ver erros relacionados a variáveis de ambiente ausentes ou outros problemas, verifique seu arquivo .env.
Para verificar se a porta 3000 está em uso, execute:
netstat -ano | findstr :3000
Encontre o PID (ID do Processo) na saída e pare o processo usando:
taskkill /PID <PID> /F
Reinicie os contêineres Docker:
docker-compose down
docker-compose up --build -d
Problema 2: Problemas de Conexão com o Banco de Dados
Solução para Linux/macOS:
Certifique-se de que o contêiner do banco de dados está em execução:
docker ps
Verifique a configuração do banco de dados em seu arquivo .env, especialmente:
DB_HOST DB_USER DB_PASSWORD
Se o contêiner do banco de dados não estiver em execução, tente reiniciá-lo:
docker-compose down
docker-compose up --build -d
Solução para Windows:
Verifique se o contêiner do banco de dados está em execução:
docker ps
Verifique a configuração do banco de dados em seu arquivo .env.
Reinicie os contêineres, se necessário:
docker-compose down
docker-compose up --build -d
Problema 3: Porta Já em Uso
Solução para Linux/macOS:
Se você receber um erro dizendo que uma porta já está em uso (por exemplo, porta 3000), você pode encontrar o processo que está usando a porta:
sudo lsof -i :3000
Se um processo estiver usando a porta, mate-o com:
sudo kill -9 <PID>
Alternativamente, você pode alterar a porta em seu arquivo .env e reiniciar os contêineres.
Solução para Windows:
Verifique se a porta 3000 está em uso:
netstat -ano | findstr :3000
Encontre o PID (ID do Processo) na saída, então termine o processo:
taskkill /PID <PID> /F
Você também pode alterar a porta em seu arquivo .env e reiniciar os contêineres.
Problema 4: Problemas de Permissões com Arquivos
Solução para Linux/macOS:
Se você encontrar erros de permissão, certifique-se de que os arquivos e diretórios necessários são acessíveis pelo Docker. Verifique as permissões dos arquivos:
ls -l
Ajuste as permissões dos arquivos usando:
sudo chmod -R 755 <diretorio>
Solução para Windows:
Se você encontrar erros de permissão, certifique-se de que o Docker Desktop tem acesso aos diretórios necessários. Clique com o botão direito na pasta, selecione Propriedades e vá para a aba Segurança para verificar as permissões.
Problema 5: Incapaz de Conectar a Serviços Externos (por exemplo, AWS, Google OAuth)
Solução para Linux/macOS:
Certifique-se de que seu arquivo .env está corretamente configurado para serviços externos como AWS ou Google OAuth. Verifique se as chaves e URLs necessários estão corretos.
Você pode testar se os serviços externos são acessíveis usando curl:
curl https://seu-url-de-servico.com
Solução para Windows:
Da mesma forma, verifique se seu arquivo .env está corretamente configurado.
Teste a conectividade usando curl (se instalado) ou use