Hoe Paperclip Zelf Hosting op een VPS (2026 Stapsgewijze Gids)
Paperclip is een van de meest schone zelf-gehoste documentbeheersystemen die beschikbaar zijn. Het draait als een enkele Docker-container, slaat bestanden op een lokale volume op en exposeert een web UI op poort 8080. Deze gids begeleidt je door een volledig productieklare installatie op een Linux VPS - van het provisioneren van de server tot je eerste documentupload.
Vereisten
- Een VPS met Ubuntu 22.04 LTS of Debian 12 (aanbevolen)
- Minimaal 1 vCPU, 1GB RAM, 20GB opslag (2GB RAM aanbevolen voor OCR)
- Root- of sudo-toegang via SSH
- Een domein of subdomein dat naar je VPS IP wijst (optioneel maar aanbevolen voor HTTPS)
Aanbevolen VPS-opties:
- Hetzner Cloud CX22 - €4.15/maand, 2 vCPU, 4GB RAM, 40GB NVMe
- Contabo VPS S - €5.99/maand, 4 vCPU, 8GB RAM, 200GB NVMe
Stap 1: Update je Server
apt update && apt upgrade -y
Stap 2: Installeer Docker
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
Bekijk of Docker draait:
docker --version
Stap 3: Installeer Docker Compose
apt install docker-compose-plugin -y
docker compose version
Stap 4: Maak een Werkmap aan
mkdir -p /opt/paperclip && cd /opt/paperclip
Stap 5: Maak een docker-compose.yml aan
nano /opt/paperclip/docker-compose.yml
Plak de volgende configuratie:
versie: "3.8"
services:
paperclip:
image: paperclip/paperclip:latest
container_name: paperclip
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- paperclip_data:/data
environment:
- PAPERCLIP_SECRET_KEY=verander_dit_in_een_willekeurige_string
- PAPERCLIP_OCR_ENABLED=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
paperclip_data:
Belangrijk: Vervang verander_dit_in_een_willekeurige_string door een willekeurige tekst. Genereer er een met:
openssl rand -hex 32
Stap 6: (Optioneel) Gebruik PostgreSQL in Plaats van SQLite
Voor multi-user of productiegebruik, breid het compose-bestand uit:
versie: "3.8"
services:
db:
image: postgres:16-alpine
container_name: paperclip_db
restart: unless-stopped
environment:
POSTGRES_DB: paperclip
POSTGRES_USER: paperclip
POSTGRES_PASSWORD: sterkwachtwoord
volumes:
- pg_data:/var/lib/postgresql/data
paperclip:
image: paperclip/paperclip:latest
container_name: paperclip
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
volumes:
- paperclip_data:/data
environment:
- PAPERCLIP_SECRET_KEY=je_willekeurige_secret
- PAPERCLIP_DB_HOST=db
- PAPERCLIP_DB_NAME=paperclip
- PAPERCLIP_DB_USER=paperclip
- PAPERCLIP_DB_PASSWORD=sterkwachtwoord
- PAPERCLIP_OCR_ENABLED=true
volumes:
paperclip_data:
pg_data:
Stap 7: Start Paperclip
cd /opt/paperclip
docker compose up -d
Controleer of de container gestart is:
docker compose ps
docker compose logs -f paperclip
Stap 8: Configureer een Firewall
ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable
Let op: Poort 8080 wordt niet direct blootgesteld - we proxyen via Caddy/Nginx met HTTPS.
Stap 9: Stel HTTPS in met Caddy
apt install caddy -y
Bewerk de Caddyfile:
nano /etc/caddy/Caddyfile
docs.jouwdomein.com {
reverse_proxy localhost:8080
}
Herlaad Caddy:
systemctl reload caddy
Caddy regelt automatisch een Let’s Encrypt certificaat.
Stap 10: Eerste Inlogin
- Open
https://docs.jouwdomein.com(ofhttp://JOUW_VPS_IP:8080als je geen domein hebt) - Voltooi de eerste setup wizard - stel je admin e-mail en wachtwoord in
- Upload je eerste document
- Schakel OCR in als je full-text zoeken op gescande bestanden wilt
Stap 11: Stel Back-ups in
Maak een back-up van het Docker-volume naar je lokale machine of een S3-compatibele bucket:
# Back-up naar lokaal bestand
docker run --rm \
-v paperclip_data:/data \
-v $(pwd):/backup \
alpine tar czf /backup/paperclip-backup-$(date +%Y%m%d).tar.gz /data
Plan dit met een cron-job:
crontab -e
# Voeg toe:
0 3 * * * /opt/paperclip/backup.sh
Probleemoplossing
| Probleem | Oplossing |
|---|---|
| Container stopt onmiddellijk | Controleer logs: docker compose logs paperclip |
| OCR werkt niet | Zorg dat PAPERCLIP_OCR_ENABLED=true is en dat de container genoeg RAM heeft |
| UI niet bereikbaar | Controleer of poort 8080 niet geblokkeerd is; controleer docker compose ps |
| Langzame verwerking van documenten | OCR is CPU-intensief - upgrade naar 2+ vCPU indien nodig |
Voor VPS-aanbevelingen, zie de beste VPS voor Paperclip of de volledige VPS-vergelijking.