O que é o Wiki.js e por que migrar para uma solução self-hosted?
A gestão do conhecimento dentro de equipes de tecnologia é um desafio constante. Documentação desatualizada, informações dispersas em ferramentas proprietárias e a dificuldade de manter um histórico de mudanças são problemas comuns. O wiki.js surge como uma resposta robusta e moderna a esses desafios. Diferente de wikis tradicionais baseados em texto puro (como o MediaWiki) ou soluções fechadas, o wiki.js é um software de código aberto (open source) construído sobre Node.js, oferecendo uma interface elegante, responsiva e extremamente rápida.
Para sysadmins e desenvolvedores, a vantagem principal da instalação local em seu próprio servidor Linux é o controle total. Ao hospedar wiki linux, você garante que os dados sensíveis de sua infraestrutura nunca saem do seu ambiente, atendendo a requisitos rigorosos de conformidade e segurança. Além disso, a arquitetura moderna permite integrações profundas com repositórios Git, permitindo versionamento nativo das páginas.
Neste wiki.js tutorial linux, guiaremos você através do processo completo de instalação em um VPS Linux (com foco em distribuições Debian/Ubuntu e RHEL/Rocky), configuração do banco de dados, deploy da aplicação e hardening inicial. Ao final, você terá uma base de conhecimento self-hosted pronta para uso.
Pré-requisitos e Preparação do Ambiente
Antes de iniciarmos o processo de instalar wiki js vps, é fundamental garantir que o servidor esteja preparado. O wiki.js depende fortemente do Node.js e de um banco de dados relacional ou NoSQL.
Requisitos Mínimos Recomendados:
- 1 CPU Core (2+ recomendados para produção)
- 2 GB de RAM
- Disco SSD com pelo menos 10 GB livres
- Sistema Operacional: Ubuntu 20.04/22.04 LTS, Debian 11/12 ou Rocky Linux 8/9
O primeiro passo é atualizar o sistema operacional e instalar utilitários básicos de linha de comando.
# Para sistemas baseados em Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
sudo apt install curl wget git ca-certificates gnupg2 -y
# Para sistemas baseados em RHEL/Rocky/CentOS
sudo dnf update -y
sudo dnf install curl wget git gnupg2 -y
Instalando o Node.js e Yarn
O wiki.js é uma aplicação nodejs wiki server. A versão estável atual exige o Node.js LTS (Long Term Support). Evite usar versões instáveis ou muito antigas. O gerenciador de pacotes Yarn também será necessário para a instalação.
No Ubuntu/Debian:
# Adicionar o repositório oficial do NodeSource
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Instalar o Yarn
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
No Rocky Linux/AlmaLinux:
# Instalar Node.js via DNF (geralmente disponível na versão 18 ou 20)
sudo dnf install nodejs yarn -y
Verifique as instalações para garantir que tudo ocorreu bem:
node --version
yarn --version
Configurando o Banco de Dados
O wiki.js suporta PostgreSQL, MySQL/MariaDB e SQLite. Para ambientes de produção e escalabilidade, o PostgreSQL é a recomendação oficial da equipe do projeto. Ele oferece melhor performance em operações de leitura complexas e integração nativa com JSON.
Instalando o PostgreSQL:
# Ubuntu/Debian
sudo apt install postgresql postgresql-contrib -y
# Rocky Linux
sudo dnf install postgresql-server postgresql-contrib -y
sudo postgresql-setup --initdb
sudo systemctl enable postgresql
sudo systemctl start postgresql
Criando o Usuário e Banco de Dados:
Acesse o terminal do PostgreSQL e crie um usuário dedicado e um banco de dados para o wiki.js. Isso é uma prática essencial de segurança, evitando o uso do usuário postgres pela aplicação.
sudo -u postgres psql
Dentro do prompt do PostgreSQL, execute os seguintes comandos SQL:
CREATE USER wikijs WITH PASSWORD 'SUA_SENHA_FORTE_AQUI';
CREATE DATABASE wikijs OWNER wikijs;
\q
Substitua SUA_SENHA_FORTE_AQUI por uma senha complexa. Anote-a, pois será necessária na próxima etapa.
Baixando e Configurando o Wiki.js
Agora que o ambiente está pronto, vamos proceder com a instalação binária do wiki.js. A maneira mais limpa é baixar os arquivos binários pré-compilados diretamente do site oficial ou repositório GitHub.
# Crie um diretório para a aplicação
sudo mkdir -p /var/www/wikijs
cd /var/www/wikijs
# Baixar a última versão estável (verifique no site oficial o link direto)
wget https://github.com/Requarks/wiki/releases/latest/download/wikijs_latest.tar.gz
# Extrair os arquivos
tar xzf wikijs_latest.tar.gz
Após a extração, você verá uma estrutura de diretórios. O arquivo principal de configuração é o config.yml. Vamos criá-lo com base no modelo fornecido.
# Copiar o modelo de configuração
cp config.sample.yml config.yml
Edite o arquivo config.yml usando seu editor de texto preferido (nano, vim, etc.). A seção mais crítica é a do banco de dados.
db:
type: postgres
host: localhost
port: 5432
user: wikijs
password: SUA_SENHA_FORTE_AQUI
db: wikijs
ssl: false
Se você estiver usando MySQL ou SQLite, ajuste as chaves type e dbFile conforme a documentação. Para PostgreSQL, certifique-se de que o usuário tem permissões de criação de esquema.
Executando a Instalação via Web UI
O wiki.js possui uma instalação interativa baseada na web. Isso simplifica muito a configuração inicial, permitindo escolher temas, configurar usuários administradores e definir integrações sem precisar editar arquivos de texto complexos manualmente.
Inicie o serviço para rodar no modo de instalação:
node server
O terminal mostrará um endereço local, geralmente http://localhost:3000. Abra este endereço em seu navegador. Se estiver instalando em um servidor remoto (VPS), você precisará acessar via IP público do servidor. Lembre-se de que, nesta fase inicial, o firewall pode estar bloqueando a porta 3000.
No assistente web:
- Selecione o idioma (Português está disponível).
- Confirme as configurações do banco de dados (elas devem ser carregadas automaticamente do
config.yml, mas verifique se estão corretas). - Crie o usuário Administrador. Use um e-mail válido e uma senha forte.
- Escolha o tema visual padrão ou personalizado.
Ao finalizar, clique em "Install". O sistema executará as migrações do banco de dados e inicializará a aplicação. Se houver erros no banco de dados, verifique as credenciais no config.yml e se o serviço PostgreSQL está rodando.
Hardening e Configuração de Produção
A instalação via web é conveniente para o setup inicial, mas não deve ser deixada exposta na porta 3000. Para um ambiente profissional, precisamos configurar um processo gerenciador e um reverso proxy.
1. Criando um Serviço Systemd
Para garantir que o wiki.js reinicie automaticamente em caso de falha ou reboot do servidor, crie um arquivo de serviço.
sudo nano /etc/systemd/system/wikijs.service
Insira o seguinte conteúdo (ajuste os caminhos se necessário):
[Unit]
Description=Wiki.js Knowledge Base
After=network.target postgresql.service
[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/var/www/wikijs
ExecStart=/usr/bin/node server
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Salve o arquivo e ative o serviço:
sudo systemctl daemon-reload
sudo systemctl enable wikijs
sudo systemctl start wikijs
sudo systemctl status wikijs
Agora, a aplicação roda em segundo plano. Você pode parar o processo manual anterior com Ctrl+C.
2. Configurando o Reverso Proxy (Nginx)
Nunca exponha o Node.js diretamente à internet. Use o Nginx para gerenciar o SSL/TLS e encaminhar as requisições para a porta 3000.
sudo apt install nginx certbot python3-certbot-nginx -y
Crie um arquivo de configuração no Nginx:
sudo nano /etc/nginx/sites-available/wikijs
server {
listen 80;
server_name wiki.seudominio.com;
location / {
proxy_pass http://127.0.0.1:3000;
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;
}
}
Ative a configuração e obtenha o certificado SSL:
sudo ln -s /etc/nginx/sites-available/wikijs /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo certbot --nginx -d wiki.seudominio.com
O Certbot configurará automaticamente o redirecionamento HTTPS e renovará os certificados.
Integrações Avançadas e Manutenção
Com a wiki moderna linux em funcionamento, você pode explorar as integrações que tornam o wiki.js superior a soluções legadas.
Sincronização com Git
No painel administrativo do wiki.js, vá em "Settings" > "Integrations". Você pode conectar seu wiki a repositórios GitHub, GitLab ou Bitbucket. Isso permite que cada página seja versionada no Git. Se alguém fizer uma alteração errada, você pode reverter para uma versão anterior diretamente pelo histórico do Git.
Serviço de Busca (Meilisearch)
O wiki.js usa SQLite/PostgreSQL para busca por padrão, mas para grandes bases de conhecimento, o Meilisearch é altamente recomendado. Ele oferece uma velocidade de busca instantânea e tolerância a erros de digitação. Instale o Meilisearch em um container Docker separado ou como serviço standalone e conecte-o via URL na configuração do wiki.js.
Backup Automático
A segurança dos dados é primordial. Configure backups regulares do banco de dados PostgreSQL e do diretório /var/www/wikijs/uploads (onde ficam as imagens anexadas). Scripts simples com pg_dump e rsync rodando via Cron são suficientes.
# Exemplo de script de backup no crontab
0 2 * * * pg_dump -U wikijs wikijs > /backups/wiki_$(date +\%Y-\%m-\%d).sql
Considerações Finais sobre Hospedar Wiki Linux
A decisão de instalar wiki js vps é um investimento na maturidade técnica da sua equipe. Diferente de ferramentas SaaS, onde você paga por usuário e não tem controle sobre o roadmap ou a infraestrutura, uma solução self-hosted oferece soberania digital.
O processo descrito neste wiki.js tutorial linux cobre desde a instalação básica até o hardening necessário para produção. A flexibilidade do Node.js permite que você estenda a funcionalidade através de plugins e temas personalizados, adaptando a plataforma às necessidades específicas da sua empresa.
Lembre-se sempre de manter o sistema operacional e o Node.js atualizados. Verifique regularmente se há novas versões do wiki.js disponíveis no repositório oficial para garantir que você está operando com as últimas correções de segurança e funcionalidades.
Agora, sua equipe tem uma ferramenta poderosa à disposição para documentar APIs, procedimentos operacionais, onboarding de novos funcionários e manuais técnicos. A barreira de entrada é baixa, mas o potencial de impacto na produtividade da equipe é alto.