Logo
Alternative

Guia Docker do Worklenz

Kithmina Gunasinghe
#Guide
Feature image

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


O que você precisa

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

Requisitos mínimos do sistema

Passo 1: Clonar do Repositório

  1. 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 
  1. 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:

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
Tenha cuidado! Este comando excluirá imagens e volumes não utilizados, o que pode resultar na perda de qualquer dado não salvo nos volumes. Sempre certifique-se de ter feito backup de dados importantes antes de executar este comando.

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:

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

← Back to Blog