Come Auto-ospitare Docmost su un VPS (Guida 2026)
Docmost è una piattaforma open-source per wiki e documentazione collaborativa. Ospitarla autonomamente su un VPS ti dà la piena proprietà dei dati, un dominio personalizzato e nessun costo per posto. Questa guida copre l’installazione completa — da un VPS Ubuntu nuovo a un’istanza Docmost funzionante con SSL e Nginx.
Prerequisiti
Prima di iniziare, hai bisogno di:
- Un VPS con Ubuntu 22.04 o 24.04 (minimo 1 vCPU, consigliati 2 GB RAM)
- Un dominio o sottodominio che punta all’IP del tuo VPS (es.
docs.tuodominio.it) - Accesso root o sudo al server
- Docker e Docker Compose installati
Provider VPS consigliati:
- Hetzner Cloud — 4,15 €/mese, 2 vCPU, 4 GB RAM (miglior rapporto qualità-prezzo)
- Contabo VPS — 5,99 €/mese, 4 vCPU, 8 GB RAM, 200 GB NVMe
- DigitalOcean — 6 $/mese, ideale per i principianti
Passo 1: Configurare il VPS
Avvia un VPS Ubuntu 22.04 e accedi come root:
ssh root@ip-del-tuo-server
Crea un utente non-root con privilegi sudo (consigliato):
adduser deploy
usermod -aG sudo deploy
Passo 2: Installare Docker e Docker Compose
# Aggiornare il sistema
apt update && apt upgrade -y
# Installare Docker
curl -fsSL https://get.docker.com | sh
# Aggiungere l'utente al gruppo docker
usermod -aG docker deploy
# Verificare l'installazione
docker --version
docker compose version
Disconnettiti e riconnettiti affinché le modifiche al gruppo abbiano effetto.
Passo 3: Creare la Directory di Docmost
mkdir -p /opt/docmost
cd /opt/docmost
Passo 4: Scrivere il File Docker Compose
Crea /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 di sicurezza: Sostituisci
passwordcon una password forte e generata casualmente prima del deployment.
Passo 5: Avviare Docmost
cd /opt/docmost
docker compose up -d
Verifica che tutti i container siano in esecuzione:
docker compose ps
Dovresti vedere docmost, db e redis tutti con stato running. Controlla i log in caso di errori:
docker compose logs docmost
Passo 6: Installare e Configurare Nginx
apt install nginx -y
Crea /etc/nginx/sites-available/docmost:
server {
listen 80;
server_name docs.tuodominio.it;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.tuodominio.it;
ssl_certificate /etc/letsencrypt/live/docs.tuodominio.it/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.tuodominio.it/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;
}
}
Attiva il sito:
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Passo 7: Ottenere il Certificato SSL
apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.tuodominio.it
Segui le istruzioni. Certbot aggiorna automaticamente la configurazione Nginx e imposta il rinnovo automatico.
Passo 8: Configurare il Firewall
ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable
Non esporre direttamente la porta 3000 — tutto il traffico deve passare attraverso Nginx.
Passo 9: Primo Accesso e Configurazione del Workspace
- Apri
https://docs.tuodominio.itnel browser - Il wizard di configurazione Docmost appare alla prima visita
- Crea il tuo account amministratore (email + password)
- Dai un nome al tuo workspace
- Crea il tuo primo spazio (es. “Ingegneria”, “Prodotto”, “HR”)
- Invita i membri del team dal pannello Impostazioni
Aggiornare Docmost
Per scaricare l’ultima immagine e riavviare:
cd /opt/docmost
docker compose pull
docker compose up -d
Strategia di Backup
Fai backup regolari dei dati PostgreSQL:
docker exec docmost-db-1 pg_dump -U docmost docmost > backup_$(date +%Y%m%d).sql
Fai anche il backup del volume Docker in /var/lib/docker/volumes/docmost_pg_data.
Risoluzione dei Problemi
| Problema | Soluzione |
|---|---|
| Container che non si avviano | Controlla docker compose logs per gli errori |
| 502 Bad Gateway | Docmost potrebbe essere ancora in inizializzazione — attendi 30 secondi |
| Errori WebSocket | Verifica gli header Upgrade e Connection in Nginx |
| Connessione DB rifiutata | Verifica che DATABASE_URL corrisponda alle credenziali del container Postgres |
Prossimi Passi
- Configurare SMTP nelle impostazioni Docmost per le notifiche email
- Configurare OIDC/SSO se il team usa un identity provider
- Abilitare snapshot automatici dei volumi Docker con il tuo provider VPS
Per confronti tra provider VPS: selfhostvps.com/en/best/.