Introdução
Em empresas, a necessidade de centralizar conhecimento — documentação, manuais e processos — é essencial. O Wiki.js é uma solução auto-hospedada moderna para bases de conhecimento corporativas. Diferente de ferramentas como Confluence ou Notion, ele oferece controle total sobre os dados, aderência à LGPD e custo zero em licenças. Neste guia, implantaremos o Wiki.js em uma VPS da Serverspace com PostgreSQL, Node.js e Nginx.
Terminologia
VPS: Servidor virtual dedicado na nuvem com acesso root.
Node.js: Ambiente de execução JavaScript para aplicações web.
PostgreSQL: Banco de dados relacional para armazenar conteúdo.
Proxy reverso: Servidor (ex: Nginx) que gerencia requisições entre usuários e aplicação.
Arquitetura da solução
┌─────────────────┐
│ Usuário │
└────────┬────────┘
│ HTTPS (443)
┌────────▼────────┐
│ Nginx (Proxy) │
└────────┬────────┘
│ HTTP (3000)
┌────────▼────────┐
│ Wiki.js │
└────────┬────────┘
│
┌────────▼────────┐
│ PostgreSQL │
└─────────────────┘
Requisitos do servidor
- Mínimo: 2 vCPUs, 2 GB RAM, 20 GB SSD (Ubuntu 22.04+)
- Produção: 4 vCPUs, 4 GB RAM, 40 GB SSD + Meilisearch
Recomendamos uma VPS da Serverspace com rede garantida de 200+ Mbps. A Serverspace possui data center no Brasil (São Paulo), o que reduz a latência para usuários locais.
Instruções passo a passo
Passo 1: Preparação do servidor
Conecte-se via SSH e atualize o sistema:
sudo apt update && sudo apt upgrade -y
Instale utilitários essenciais:
sudo apt install -y curl wget gnupg2
Passo 2: Instalação do Node.js
Adicione o repositório LTS:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
Verifique a versão:
node -v
Passo 3: Instalação do PostgreSQL
sudo apt install -y postgresql postgresql-contrib
Crie usuário e banco de dados:
sudo -u postgres psql -c "CREATE USER wikiuser WITH PASSWORD 'sua_senha_forte';"
sudo -u postgres psql -c "CREATE DATABASE wikidb OWNER wikiuser;"
Passo 4: Download do Wiki.js
mkdir -p /var/www/wikijs
cd /var/www/wikijs
wget https://github.com/Requarks/wiki/releases/download/2.5.314/wiki-js.tar.gz
tar xzf wiki-js.tar.gz
Passo 5: Configuração (config.yml)
Edite o arquivo de configuração:
nano config.yml
Preencha com:
port: 3000
db:
type: postgres
host: localhost
port: 5432
user: wikiuser
pass: sua_senha_forte
db: wikidb
ssl: false
bindIP: 127.0.0.1
Passo 6: Inicialização
node server
Acesse via navegador: http://IP_DO_SERVIDOR:3000 e complete o assistente web.
Passo 7: Serviço systemd
Crie o arquivo de serviço:
sudo nano /etc/systemd/system/wikijs.service
Conteúdo:
[Unit]
Description=Wiki.js Service
After=network.target postgresql.service
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/wikijs
ExecStart=/usr/bin/node server
Restart=always
[Install]
WantedBy=multi-user.target
Ative o serviço:
sudo systemctl daemon-reload
sudo systemctl enable wikijs
sudo systemctl start wikijs
Passo 8: Proxy Reverso (Nginx)
sudo apt install -y nginx
Crie o arquivo de configuração:
sudo nano /etc/nginx/sites-available/wiki
Conteúdo:
server {
listen 80;
server_name wiki.seudominio.com.br;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
}
Ative o site e teste:
sudo ln -s /etc/nginx/sites-available/wiki /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Passo 9: SSL com Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d wiki.seudominio.com.br
Passo 10: Otimização com Meilisearch (Opcional)
curl -L https://install.meilisearch.com | sh
./meilisearch --master-key='SUA_CHAVE_SECRETA'
Baixe o módulo de integração:
wget https://github.com/mbround18/wikijs-module-meilisearch/releases/latest/download/meilisearch.zip
unzip meilisearch.zip -d /var/www/wikijs/server/modules/search/meilisearch
sudo systemctl restart wikijs
No painel do Wiki.js (Administração → Motores de Busca), use:
http://localhost:7700
Backups
Banco de dados:
sudo -u postgres pg_dump wikidb > wikidb-backup.sql
Arquivos do Wiki:
tar -czf wikijs-files-backup.tar.gz /var/www/wikijs
Agendamento (crontab -e):
0 3 * * * sudo -u postgres pg_dump wikidb > /backups/wikidb-$(date +\%F).sql
Problemas comuns
| Problema | Solução |
|---|---|
| Erro 502 Bad Gateway | Verifique se o Wiki.js está rodando: sudo systemctl status wikijs |
| Conexão recusada com PostgreSQL | Verifique as credenciais no config.yml e permissões do usuário |
| Busca lenta | Instale o Meilisearch (Passo 10) |
Conclusão
Implementamos uma base de conhecimento corporativa com:
- Controle total de dados (LGPD-compliant)
- Alta disponibilidade via systemd
- Segurança com SSL/TLS
- Busca instantânea (Meilisearch)
Vantagens desta solução:
- Custo zero em licenças
- Escalabilidade horizontal
- Integração com ferramentas DevOps
- Atualizações simplificadas via Git
Uma VPS da Serverspace garante desempenho estável para até 500 usuários ativos com esta arquitetura.