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.
Antes de começar, certifique-se de ter o seguinte:
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
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
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
Para configurar o aplicativo para rodar com Docker, siga estas etapas:
.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
.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>"
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:
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
Uma vez que os contêineres estão em execução, você pode acessar o Aplicativo Worklenz através do seguinte:
Ao configurar o Worklenz com Docker, você pode encontrar alguns problemas comuns. Aqui estão algumas soluções para resolvê-los:
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
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
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.
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.
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