Entrar
Selfhost

Worklenz Docker Guide - The Agency Guide to Secure Self-Hosting

Chamika Jayasri
#Selfhost#Docker#WorklenzGuide
Worklenz Docker Guide

Guia Docker do Worklenz

O gerenciamento eficiente de projetos comeca com ferramentas que nao sao apenas poderosas, mas tambem faceis de implantar. Docker, uma plataforma lider para implantacao de aplicativos em conteineres, esta transformando a maneira como as empresas gerenciam as instalacoes de software. Simplificando configuracoes complexas e garantindo consistencia entre ambientes, Docker tornou-se uma ferramenta essencial para as equipes modernas.

Para o Worklenz, Docker oferece uma experiencia de implantacao continua adaptada as necessidades de startups e empresas. Com sua portabilidade, escalabilidade e gerenciamento eficiente de recursos, Docker elimina os desafios das instalacoes tradicionais, permitindo que as equipes se concentrem no que realmente importa: alcancar o sucesso do projeto.

Descubra como implantar o Worklenz com Docker pode elevar a eficiencia de sua equipe e simplificar suas operacoes de TI.

Quem deve usar isso?

Se voce e uma startup com conhecimento tecnico, uma empresa em crescimento ou uma empresa que busca uma solucao de gerenciamento de tarefas escalavel e economica, a auto-hospedagem do Worklenz com Docker e uma virada de jogo. Com controle total sobre seus dados, escalabilidade perfeita e flexibilidade, a implantacao com Docker e ideal para equipes que desejam uma plataforma de gerenciamento de tarefas robusta e segura sem depender de hospedagem de terceiros.


Indice


O que voce precisa

Antes de comecar, certifique-se de ter o seguinte:

  • Docker - Para a conteinerizacao
  • Docker Compose - Para gerenciar multiplos servicos
  • Git (recomendado) - Para clonar o repositorio
  • Acesso a internet para baixar os arquivos necessarios
  • Familiaridade basica com a abertura de um terminal (Prompt de Comando ou equivalente)

Se o Docker ainda nao estiver instalado, siga este guia para configura-lo primeiro. Se o Docker Compose ainda nao estiver instalado, siga este guia para configura-lo. Se o Git ainda nao estiver instalado, siga este guia para configurar o Git no seu computador.

Requisitos minimos do sistema

  • CPU: 2+ nucleos
  • RAM: minimo de 4 GB (8 GB recomendado)
  • Espaco em Disco: 10 GB livres para imagens e conteineres Docker

Metodo de Inicio Rapido (Recomendado)

A maneira mais rapida de colocar o Worklenz em funcionamento e usar o script de configuracao automatizada. Este metodo lida automaticamente com a configuracao do ambiente, configuracao SSL e inicializacao do servico.

Passo 1: Clonar o Repositorio

Abra seu terminal e clone o repositorio do Worklenz:

git clone https://github.com/Worklenz/worklenz.git
cd worklenz

Passo 2: Executar o Script de Configuracao Rapida

Execute o script quick-setup que ira:

  • Criar um arquivo .env com segredos de seguranca gerados automaticamente
  • Configurar URLs com base no seu dominio
  • Configurar certificados SSL (autoassinados para localhost, Let’s Encrypt para producao)
./quick-setup.sh

Passo 3: Iniciar os Servicos

Para o perfil Express padrao (PostgreSQL, Redis e MinIO incluidos):

docker compose --profile express up -d

Pronto! Sua instancia do Worklenz deve estar funcionando agora.


Metodo de Configuracao Manual

Para mais controle sobre a configuracao, voce pode configurar o Worklenz manualmente.

Passo 1: Clonar o Repositorio

Opcao 1: Usar Git para Clonar o Repositorio

Abra seu terminal (ou Prompt de Comando, PowerShell ou Git Bash) e execute o seguinte comando para clonar o repositorio para sua maquina local:

git clone https://github.com/Worklenz/worklenz.git
cd worklenz

Opcao 2: Baixar os Arquivos do Aplicativo

Se o Git nao estiver instalado, voce pode baixar os arquivos manualmente. Visite o repositorio Worklenz, clique no botao “Code” e selecione “Download ZIP.” Extraia o arquivo ZIP baixado e navegue ate a pasta:

cd worklenz

Passo 2: Preparar o Ambiente Docker

Copie o arquivo de modelo de ambiente para criar seu arquivo .env:

cp .env.template .env

Abra o arquivo .env no seu editor de texto preferido e configure-o de acordo com seu ambiente. O arquivo de modelo contem todas as variaveis necessarias com comentarios explicando o que cada uma faz. As variaveis-chave a configurar incluem:

  • Credenciais do banco de dados (DB_USER, DB_PASSWORD, DB_NAME)
  • Segredos de seguranca (SESSION_SECRET, COOKIE_SECRET, JWT_SECRET)
  • Servicos opcionais (Google OAuth, AWS S3, webhooks do Slack)

Consulte o arquivo .env.template no repositorio para obter a lista completa de opcoes de configuracao disponiveis.

Passo 3: Construir e Iniciar Conteineres

Certifique-se de que seu motor Docker esta em execucao e use o Docker Compose para construir e iniciar os conteineres:

docker compose --profile express up -d

Este comando ira:

  • Construir as imagens Docker se nao existirem
  • Iniciar todos os conteineres (banco de dados, Redis, MinIO, backend, frontend) no modo desanexado (-d)
  • Garantir que todos os servicos necessarios estejam em execucao

Parar Conteineres

Para parar todos os conteineres em execucao:

docker compose down

Para parar conteineres e remover volumes (cuidado - isso excluira os dados):

docker compose down -v

Perfis de Implantacao

O Worklenz suporta diferentes perfis de implantacao para diferentes casos de uso:

Modo Express (Padrao - Recomendado)

Inclui PostgreSQL, Redis e MinIO em uma unica configuracao. Melhor para a maioria das implantacoes:

docker compose --profile express up -d

Modo Avancado

Permite usar servicos externos como AWS S3 ou Azure Blob Storage em vez do MinIO. Configure suas credenciais de armazenamento em nuvem no .env e execute:

docker compose up -d

Gerenciar sua Implantacao

Use o script manage.sh para operacoes comuns:

# Verificar o status de todos os servicos
./manage.sh status

# Visualizar logs
./manage.sh logs

# Criar um backup
./manage.sh backup

# Gerenciar certificados SSL
./manage.sh ssl

Acessar o Aplicativo

Assim que os conteineres estiverem em execucao, voce pode acessar o Worklenz atraves das seguintes URLs:

  • Frontend (Aplicativo Web): http://localhost ou https://localhost (se o SSL estiver configurado)
  • API Backend: http://localhost:3000
  • Console de Armazenamento MinIO: http://localhost:9001
    • Credenciais padrao: minioadmin / minioadmin

Nota: Para implantacoes em producao, configure nomes de dominio adequados e certificados SSL para acesso seguro.


Solucionar Problemas Comuns

Ao configurar o Worklenz com Docker, voce pode encontrar alguns problemas comuns. Aqui estao algumas solucoes:

Problema 1: Conteineres Nao Iniciando

Solucao para Linux/macOS: Verifique os logs do conteiner Docker para quaisquer erros:

docker compose logs

Se voce ver erros relacionados a variaveis de ambiente ausentes ou outros problemas, certifique-se de que seu arquivo .env esta corretamente configurado e todos os campos necessarios estao preenchidos.

Voce tambem pode verificar se ha algum servico ou porta em uso conflitante:

sudo lsof -i :3000

Se a porta 3000 estiver em uso, pare o processo que a esta usando:

sudo kill -9 <PID>

Reinicie os conteineres Docker:

docker compose down
docker compose up -d

Solucao para Windows:

Verifique os logs do conteiner Docker para quaisquer erros:

docker compose logs

Se voce ver erros relacionados a variaveis de ambiente ausentes ou outros problemas, verifique seu arquivo .env.

Para verificar se a porta 3000 esta em uso, execute:

netstat -ano | findstr :3000

Encontre o PID na saida e pare o processo usando:

taskkill /PID <PID> /F

Reinicie os conteineres Docker:

docker compose down
docker compose up -d

Problema 2: Problemas de Conexao com o Banco de Dados

Solucao para Linux/macOS:

Certifique-se de que o conteiner do banco de dados esta em execucao:

docker ps

Verifique a configuracao do banco de dados em seu arquivo .env, especialmente:

  • DB_HOST (deve ser postgres para Docker)
  • DB_USER
  • DB_PASSWORD

Se o conteiner do banco de dados nao estiver em execucao, tente reinicia-lo:

docker compose down
docker compose up -d

Solucao para Windows:

Verifique se o conteiner do banco de dados esta em execucao:

docker ps

Verifique a configuracao do banco de dados em seu arquivo .env.

Reinicie os conteineres, se necessario:

docker compose down
docker compose up -d

Problema 3: Porta Ja em Uso

Solucao para Linux/macOS:

Se voce receber um erro dizendo que uma porta ja esta em uso (por exemplo, porta 3000), voce pode encontrar o processo que esta usando a porta:

sudo lsof -i :3000

Se um processo estiver usando a porta, encerre-o com:

sudo kill -9 <PID>

Alternativamente, voce pode alterar a porta em seu arquivo .env e reiniciar os conteineres.

Solucao para Windows:

Verifique se a porta 3000 esta em uso:

netstat -ano | findstr :3000

Encontre o PID na saida, entao encerre o processo:

taskkill /PID <PID> /F

Voce tambem pode alterar a porta em seu arquivo .env e reiniciar os conteineres.

Problema 4: Problemas de Permissoes com Arquivos

Solucao para Linux/macOS:

Se voce encontrar erros de permissao, certifique-se de que os arquivos e diretorios necessarios sao acessiveis pelo Docker. Verifique as permissoes dos arquivos:

ls -l

Ajuste as permissoes dos arquivos usando:

sudo chmod -R 755 <diretorio>

Solucao para Windows:

Se voce encontrar erros de permissao, certifique-se de que o Docker Desktop tem acesso aos diretorios necessarios. Clique com o botao direito na pasta, selecione Propriedades e va para a aba Seguranca para verificar as permissoes.

Problema 5: Desempenho Lento ou Erros de Tempo Limite

Solucao:

Se o Docker estiver rodando lentamente, certifique-se de que sua maquina tem recursos suficientes (CPU, RAM, espaco em disco). Ajuste a alocacao de recursos do Docker Desktop:

  • Windows/macOS: Abra Docker Desktop > Configuracoes > Recursos e aumente a alocacao de memoria e CPU
  • Linux: Configure as definicoes do daemon Docker para alocar mais recursos

Considere aumentar a memoria alocada para pelo menos 4 GB para uma operacao tranquila.

Problema 6: Nao e Possivel Acessar o Aplicativo no Navegador

Solucao:

Certifique-se de que os conteineres estao em execucao:

docker ps

Verifique se seu firewall permite acesso as portas necessarias. Tente acessar:

  • Frontend: http://localhost
  • API Backend: http://localhost:3000

Se estiver acessando de uma maquina remota, configure seu firewall para permitir trafego nessas portas.

Notas Adicionais

  • Atualizar Imagens Docker:

Para garantir que voce esta usando as versoes mais recentes das imagens Docker, voce pode baixar as versoes mais recentes antes de construir os conteineres:

docker compose pull
docker compose up -d
  • Fazer Backup dos seus Dados:

Se sua configuracao Docker usa volumes para armazenamento de dados persistente (por exemplo, para bancos de dados), certifique-se de fazer backup de seus dados regularmente. Voce pode usar o script manage.sh:

./manage.sh backup

Ou fazer backup de volumes manualmente:

docker run --rm -v worklenz_db_volume:/data -v $(pwd):/backup ubuntu tar czf /backup/db_backup.tar.gz /data
  • Alocacao de Recursos Docker:

Ajuste a alocacao de recursos (CPU e memoria) nas configuracoes do Docker Desktop (Windows/Mac) ou atraves das configuracoes do Docker Daemon (Linux) para garantir uma operacao tranquila do aplicativo.

  • Atualizar Dependencias:

Se as dependencias do aplicativo estiverem desatualizadas, considere atualizá-las. Para aplicativos Node.js, as dependencias dentro dos conteineres podem ser atualizadas usando gerenciadores de pacotes (npm, yarn, etc.).

  • Limpar Recursos Nao Utilizados:

Para liberar espaco em disco, remova periodicamente objetos Docker nao utilizados:

docker system prune -a
Tenha cuidado! Este comando excluira imagens e volumes nao utilizados, o que pode resultar na perda de qualquer dado nao salvo. Sempre certifique-se de ter feito backup de dados importantes antes de executar este comando.
  • Portas Personalizadas:

Se voce precisar executar multiplas instancias do Worklenz na mesma maquina, modifique as portas no arquivo docker-compose.yml para evitar conflitos. Por exemplo, altere a porta 3000 para 3100 para o backend.

  • Monitorar Logs:

Para monitorar os logs do conteiner em tempo real para depuracao, use:

docker compose logs -f
  • Configuracao SSL/HTTPS:

Para implantacoes em producao, configure certificados SSL adequados. Use o script manage.sh para gerenciar SSL:

./manage.sh ssl

Para integracao com Let’s Encrypt, siga o assistente de configuracao para configurar HTTPS automaticamente.

Conclusao: Simplifique sua Implantacao com Docker

A implantacao do Worklenz com Docker simplifica o processo de implantacao, eliminando as complexidades dos metodos de instalacao tradicionais. Com o script automatizado quick-setup.sh e o Docker Compose, voce pode ter uma instancia do Worklenz totalmente funcional e pronta para producao em execucao em apenas alguns comandos.

Seja voce escolha o metodo de configuracao rapida pela facilidade ou o metodo manual para mais controle, o Docker oferece a flexibilidade e confiabilidade necessarias para o gerenciamento moderno de projetos. Com escalamento facil, gerenciamento eficiente de recursos e a capacidade de usar diferentes perfis de implantacao (Modo Express com MinIO ou Modo Avancado com armazenamento em nuvem externo), as implantacoes Docker funcionam para startups, equipes em crescimento e empresas igualmente.

O script manage.sh fornece acesso facil a operacoes comuns como verificar o status, visualizar logs, gerenciar backups e configurar certificados SSL.

Pronto para Comecar?

Nao deixe que os desafios de implantacao o atrasem. Aqui esta seu inicio rapido:

  1. Clonar o repositorio: git clone https://github.com/Worklenz/worklenz.git
  2. Executar a configuracao: ./quick-setup.sh
  3. Iniciar os servicos: docker compose --profile express up -d
  4. Acessar sua instancia: http://localhost

Dê o primeiro passo em direcao a uma experiencia de gerenciamento de projetos mais tranquila e eficiente. Baixe o Worklenz do nosso repositorio GitHub hoje e comece sua jornada em direcao a maior produtividade.

Precisa de ajuda? Nossa equipe esta aqui para voce. Entre em contato conosco para qualquer assistencia ou duvida, ou consulte a documentacao oficial para mais detalhes. Voce tambem pode entrar em nossa comunidade no Discord para suporte em tempo real e discussoes com outros usuarios do Worklenz.