O que é WeKan e por que escolher uma solução self-hosted?
No cenário atual de desenvolvimento de software e gestão ágil de projetos, as ferramentas Kanban têm se consolidado como essenciais para o fluxo de trabalho. O WeKan destaca-se no mercado como uma alternativa robusta, open-source e livre de restrições de licença às soluções proprietárias mais populares. Diferente de outras plataformas que limitam recursos ou cobram por usuário, o WeKan oferece uma experiência completa de gerenciamento visual de tarefas, permitindo que equipes mantenham total controle sobre seus dados.
A decisão de hospedar o WeKan Kanban Linux em seu próprio ambiente (self-hosted) traz vantagens significativas para profissionais de TI e empresas. Além da segurança reforçada pela posse dos dados, você elimina a dependência de terceiros e evita surpresas com alterações de preços ou políticas de uso. Neste tutorial, vamos guiar você através do processo de instalação utilizando Docker, a metodologia padrão da indústria para ferramentas DevOps Linux, garantindo um ambiente isolado, fácil de atualizar e altamente seguro.
Pré-requisitos de Infraestrutura
Antes de iniciarmos o processo de deploy, é fundamental preparar o servidor. Para rodar o WeKan com performance adequada, especialmente se a equipe for superior a 10 usuários ou se houver uso intenso de anexos de arquivos, recomendamos os seguintes requisitos mínimos:
- Sistema Operacional: Ubuntu Server 20.04 LTS ou 22.04 LTS, Debian 11/12, ou qualquer distribuição Linux moderna com suporte a systemd.
- Processador: Arquitetura x86_64 (amd64) ou ARM64.
- Memória RAM: Mínimo de 2GB. Recomenda-se 4GB para melhor estabilidade do banco de dados MongoDB.
- Espaço em Disco: Pelo menos 20GB disponíveis, considerando logs e uploads de arquivos.
- Acesso Root ou Sudo: Necessário para instalação de pacotes e configuração de serviços.
Se você está migrando de uma ferramenta como Kanboard alternativa ou buscando uma opção mais leve que o Taiga self hosted, o WeKan oferece uma curva de aprendizado suave devido à sua interface intuitiva baseada em cartões e colunas.
Etapa 1: Preparação do Ambiente Linux
O primeiro passo é garantir que seu servidor esteja atualizado e com as dependências básicas instaladas. Conecte-se ao seu WeKan servidor dedicado ou VPS via SSH e execute os comandos abaixo para atualizar o sistema.
sudo apt update && sudo apt upgrade -y
Em seguida, instule utilitários essenciais que facilitarão a gestão do servidor:
sudo apt install curl wget git ufw -y
Recomendamos fortemente a configuração do firewall (UFW) antes de expor qualquer serviço. Vamos liberar apenas as portas SSH (geralmente 22), HTTP (80) e HTTPS (443). Se você não sabe qual é sua porta SSH, verifique antes de prosseguir.
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
O comando ufw status deve retornar "active" e listar as portas liberadas. Isso garante que apenas o tráfego necessário entre no seu servidor, reduzindo a superfície de ataque.
Etapa 2: Instalação do Docker e Docker Compose
O WeKan Docker install é a maneira mais limpa e eficiente de gerenciar as dependências da aplicação. O WeKan depende de um banco de dados MongoDB e, opcionalmente, de serviços como o S3 para armazenamento de anexos. O Docker encapsula tudo isso em contêineres leves.
Não instale o Docker diretamente via apt install docker.io, pois a versão nos repositórios padrão pode ser antiga. Utilize o script oficial de instalação ou os repositórios da Docker Inc.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Após a instalação, adicione seu usuário atual ao grupo docker para evitar a necessidade de usar sudo em todos os comandos Docker (embora no WeKan vamos manter o sudo para maior segurança):**
sudo usermod -aG docker $USER
Agora, precisamos do Docker Compose. Em versões recentes do Docker, ele já vem incluído como um plugin. Verifique a versão:
docker compose version
Se o comando acima falhar, instale o plugin manualmente ou verifique se a instalação foi concluída corretamente. Para sistemas Debian/Ubuntu antigos, pode ser necessário instalar o docker-compose-plugin.
Etapa 3: Estrutura de Diretórios e Configuração do Docker Compose
Crie um diretório dedicado para a instalação do WeKan. Isso facilita backups e atualizações futuras.
sudo mkdir -p /opt/wekan && cd /opt/wekan
Dentro deste diretório, criaremos o arquivo docker-compose.yml. Este arquivo define como os contêineres serão orquestrados. Copie e cole a seguinte configuração no seu editor de texto (ex: nano ou vim):
sudo nano docker-compose.yml
Insira o seguinte conteúdo:
version: '3.8'
services:
wekan-app:
image: wekanteam/wekan:latest
restart: always
ports:
- "8080:8080"
depends_on:
- mongo-db
environment:
- MONGO_URL=mongodb://mongo-db:27017/wekan
- ROOT_URL=http://localhost:8080
- MAIL_URL=smtp://smtp.gmail.com:587/
- MAIL_FROM=NOREPLY SEU_EMAIL@EXEMPLO.COM
- SMTP_LOGIN=SEU_EMAIL@EXEMPLO.COM
- SMTP_PASSWORD=SENHA_DO_SMTP
- PASSWORD_SECRET=UM_SEGREDO_LONGO_ALEATORIO
- LDAP_ENABLED=false
- DISABLE_REGISTRATION=true
mongo-db:
image: mongo:6.0
restart: always
volumes:
- wekan-data:/data/db
ports:
- "27017:27017"
volumes:
wekan-data:
Atenção crítica à configuração:
- PASSWORD_SECRET: Este campo é obrigatório para criptografia de senhas. Gere uma string aleatória longa e única.
- MONGO_URL: Aponta para o serviço do MongoDB definido abaixo.
- DISABLE_REGISTRATION: Definimos como
truepor segurança. Apenas administradores podem criar contas iniciais via terminal, evitando spam.
Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X).
Etapa 4: Subindo os Contêineres do WeKan
Agora que a configuração está pronta, inicie os serviços. O Docker irá baixar as imagens do WeKan e do MongoDB se elas não estiverem presentes localmente.
sudo docker compose up -d
O parâmetro -d executa os contêineres em segundo plano (detached mode). Você pode verificar o status dos contêineres com:
sudo docker compose ps
A saída deve indicar que ambos os serviços (wekan-app e mongo-db) estão "Up". Se houver erros, verifique os logs com sudo docker compose logs wekan-app.
Etapa 5: Configuração de Segurança Inicial
A instalação padrão expõe o WeKan na porta 8080. Para acesso externo seguro, é altamente recomendável configurar um proxy reverso com Nginx e SSL (HTTPS). Isso protege as credenciais de login durante a transmissão.
Instale o Nginx:
sudo apt install nginx -y
Crie um arquivo de configuração no Nginx para seu domínio. Substitua kanban.seudominio.com pelo seu FQDN real.
sudo nano /etc/nginx/sites-available/wekan
Insira a seguinte configuração de proxy reverso:
server {
listen 80;
server_name kanban.seudominio.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Habilite o site e reinicie o Nginx:
sudo ln -s /etc/nginx/sites-available/wekan /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Agora, instale o certificado SSL usando Let's Encrypt para garantir criptografia TLS:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d kanban.seudominio.com
Siga as instruções do Certbot. Ele configurará automaticamente o redirecionamento HTTP para HTTPS e renovação automática de certificados.
Etapa 6: Criação do Primeiro Usuário Administrador
Como desativamos o registro público, você precisa criar o primeiro usuário via linha de comando. Isso garante que apenas você tenha acesso inicial à plataforma.
sudo docker exec -it wekan-app npm create-user --admin true --username admin --email seuemail@empresa.com --password SenhaForte123!
Substitua os valores pelos dados reais. Após executar o comando, acesse sua URL configurada (https://kanban.seudominio.com) e faça login com as credenciais criadas.
Etapa 7: Personalização e Fluxo de Trabalho
Uma vez logado, você terá acesso ao painel administrativo. O WeKan permite criar "Quadros" (Boards). Clique em "Add Board".
Dicas de configuração para equipes:
- Colunas Personalizadas: Padronize as colunas com seu fluxo interno, ex: "Backlog", "Em Progresso", "Code Review", "Testing", "Done".
- Listas Internas: Use listas dentro das colunas para separar módulos ou squads.
- Labels e Checklists: Utilize etiquetas coloridas para prioridade (Urgente, Baixa) e checklists para decompor tarefas grandes.
O WeKan suporta a importação de dados de outras ferramentas. Se você migra de outra plataforma, verifique as opções de importação CSV ou JSON nas configurações do quadro.
Melhores Práticas de Manutenção
Para manter seu WeKan Kanban Linux saudável e seguro, adicione estas rotinas ao seu checklist:
- Atualizações Semanais: Execute
sudo docker compose pull && sudo docker compose up -dpara garantir que você está rodando a versão mais recente do WeKan e do MongoDB. - Backups de Dados: O volume
wekan-datacontém todo o banco de dados. Configure um script cron para backup periódico deste diretório ou utilize ferramentas como Restic/Proxmox Backup Server.
Exemplo de script simples de backup via cron:
0 2 * * * tar -czf /backup/wekan-backup-$(date +\%F).tar.gz -C /var/lib/docker/volumes/wekan_wekan-data/_data .
Ajuste o caminho conforme a localização do seu volume Docker.
Conclusão
Configurar um quadro Kanban self-hosted com WeKan é uma decisão estratégica para equipes que valorizam privacidade, controle e personalização. Ao seguir este tutorial, você estabeleceu uma infraestrutura sólida utilizando Docker e Nginx, garantindo que sua ferramenta de gestão esteja disponível 24/7, segura e pronta para escalar conforme o crescimento da sua equipe.
O WeKan não é apenas uma ferramenta de tarefas; é um componente vital do seu ecossistema de ferramentas DevOps Linux, promovendo transparência e agilidade sem custos ocultos. Explore as integrações com GitHub/GitLab, webhooks e APIs REST para automatizar ainda mais seu fluxo de trabalho.
Agora que seu servidor está rodando, convida sua equipe a começar a mover os cartões. A produtividade começa com a organização correta.