O Docmost é uma plataforma colaborativa de wiki e documentação de código aberto. Auto-hospedá-lo em um VPS oferece total controle sobre seus dados, um domínio personalizado e sem taxas por assento. Este guia cobre toda a configuração, desde um VPS Ubuntu novo até uma instância do Docmost rodando com SSL e Nginx.
Pré-requisitos
Antes de começar, você precisará de:
- Um VPS rodando Ubuntu 22.04 ou 24.04 (pelo menos 1 vCPU, 2GB de RAM recomendados)
- Um domínio ou subdomínio apontado para o IP do seu VPS (exemplo:
docs.seudominio.com) - Acesso root ou sudo ao servidor
- Docker e Docker Compose instalados
Provedores de VPS recomendados:
- Hetzner Cloud - €4,15/mês, 2 vCPU, 4GB de RAM (melhor custo-benefício)
- Contabo VPS - €5,99/mês, 4 vCPU, 8GB de RAM, 200GB NVMe
- DigitalOcean - US$6/mês, ideal para iniciantes
Passo 1: Provisionar seu VPS
Inicie um VPS Ubuntu 22.04 novo. Faça login via SSH como root:
ssh root@seu-ip-do-servidor
Crie um usuário sem privilégios de root com acesso sudo (recomendado):
adduser deploy
usermod -aG sudo deploy
Passo 2: Instalar Docker e Docker Compose
# Atualizar sistema
apt update && apt upgrade -y
# Instalar Docker
curl -fsSL https://get.docker.com | sh
# Adicionar seu usuário ao grupo docker
usermod -aG docker deploy
# Verificar instalação
docker --version
docker compose version
Desfaça o login e entre novamente para que as mudanças no grupo tenham efeito.
Passo 3: Criar o Diretório do Docmost
mkdir -p /opt/docmost
cd /opt/docmost
Passo 4: Escrever o Arquivo Docker Compose
Crie o arquivo /opt/docmost/docker-compose.yml:
version: '3'
services:
docmost:
image: docmost/docmost:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://docmost:password@db:5432/docmost
REDIS_URL: redis://redis:6379
depends_on:
- db
- redis
restart: unless-stopped
db:
image: postgres:16
environment:
POSTGRES_USER: docmost
POSTGRES_PASSWORD: password
POSTGRES_DB: docmost
volumes:
- pg_data:/var/lib/postgresql/data
restart: unless-stopped
redis:
image: redis:7
volumes:
- redis_data:/data
restart: unless-stopped
volumes:
pg_data:
redis_data:
Nota de segurança: Substitua
passwordpor uma senha forte e gerada aleatoriamente antes de implantar.
Passo 5: Iniciar o Docmost
cd /opt/docmost
docker compose up -d
Verifique se todos os containers estão ativos:
docker compose ps
Você deve ver docmost, db e redis em estado up (rodando). Consulte os logs se algo falhar:
docker compose logs docmost
Passo 6: Instalar e Configurar Nginx
apt install nginx -y
Crie o arquivo /etc/nginx/sites-available/docmost:
server {
listen 80;
server_name docs.seudominio.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.seudominio.com;
ssl_certificate /etc/letsencrypt/live/docs.seudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.seudominio.com/privkey.pem;
client_max_body_size 100M;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400;
}
}
Habilite o site:
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Passo 7: Obter Certificado SSL
apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.seudominio.com
Siga as instruções. O Certbot atualizará automaticamente sua configuração do Nginx com os caminhos do certificado e configurará a renovação automática.
Passo 8: Configurar Firewall
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
Não exponha a porta 3000 diretamente - todo o tráfego deve passar pelo Nginx.
Passo 9: Primeiro Login e Configuração do Espaço de Trabalho
- Acesse
https://docs.seudominio.comno navegador - Você verá o assistente de instalação do Docmost na primeira visita
- Crie sua conta de administrador (email + senha)
- Nomeie seu espaço de trabalho
- Crie seu primeiro space (ex: “Engenharia”, “Produto”, “RH”)
- Convide membros da equipe via painel de Configurações
Atualizando o Docmost
Para puxar a última versão da imagem e reiniciar:
cd /opt/docmost
docker compose pull
docker compose up -d
Estratégia de Backup
Faça backup dos dados do PostgreSQL regularmente:
docker exec docmost-db-1 pg_dump -U docmost docmost > backup_$(date +%Y%m%d).sql
Também faça backup do volume Docker em /var/lib/docker/volumes/docmost_pg_data.
Resolução de Problemas
| Problema | Solução |
|---|---|
| Containers não iniciam | Verifique os logs com docker compose logs em busca de erros |
| 502 Bad Gateway | O Docmost pode estar ainda inicializando - aguarde 30s e tente novamente |
| Erros de WebSocket | Certifique-se de que os cabeçalhos Upgrade e Connection estejam na configuração do Nginx |
| Conexão com o DB recusada | Verifique se DATABASE_URL corresponde às credenciais do container Postgres |
Próximos Passos
- Configure SMTP nas configurações do Docmost para notificações por email
- Configure OIDC/SSO se sua equipe utilizar um provedor de identidade
- Ative snapshots automáticos de volumes Docker via seu provedor VPS
Para comparativos de provedores de VPS, consulte selfhostvps.com/en/best/.