Unabhängige Tests Aktualisiert April 2026 387 Self-Hosting-Guides 5 VPS-Anbieter getestet

guide

Paperclip auf einem VPS selbst hosten (Schritt-für-Schritt 2026)

Schritt-für-Schritt-Anleitung zur Installation von Paperclip auf einem VPS mit Docker. Voraussetzungen, Konfiguration, HTTPS und erste Anmeldung.

Paperclip auf einem VPS selbst hosten (Schritt-für-Schritt 2026)

Paperclip ist eines der übersichtlichsten selbst gehosteten Dokumentenverwaltungssysteme. Es läuft als einzelner Docker-Container, speichert Dateien auf einem lokalen Volume und stellt eine Web-Oberfläche auf Port 8080 bereit. Diese Anleitung führt durch eine vollständige, produktionsreife Installation auf einem Linux-VPS — von der Serverbereitstellung bis zum ersten Dokument-Upload.

Voraussetzungen

Empfohlene VPS-Optionen:


Schritt 1: Server aktualisieren

apt update && apt upgrade -y

Schritt 2: Docker installieren

curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker

Docker-Installation prüfen:

docker --version

Schritt 3: Docker Compose installieren

apt install docker-compose-plugin -y
docker compose version

Schritt 4: Arbeitsverzeichnis erstellen

mkdir -p /opt/paperclip && cd /opt/paperclip

Schritt 5: docker-compose.yml erstellen

nano /opt/paperclip/docker-compose.yml

Folgende Konfiguration einfügen:

version: "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=hier_einen_zufaelligen_schluessel_eintragen
      - PAPERCLIP_OCR_ENABLED=true
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
      interval: 30s
      timeout: 10s
      retries: 3

volumes:
  paperclip_data:

Wichtig: hier_einen_zufaelligen_schluessel_eintragen durch einen zufälligen String ersetzen:

openssl rand -hex 32

Schritt 6: (Optional) PostgreSQL statt SQLite verwenden

Für Mehrbenutzer- oder Produktionsbetrieb die Compose-Datei erweitern:

version: "3.8"

services:
  db:
    image: postgres:16-alpine
    container_name: paperclip_db
    restart: unless-stopped
    environment:
      POSTGRES_DB: paperclip
      POSTGRES_USER: paperclip
      POSTGRES_PASSWORD: starkes_passwort
    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=zufaelliger_schluessel
      - PAPERCLIP_DB_HOST=db
      - PAPERCLIP_DB_NAME=paperclip
      - PAPERCLIP_DB_USER=paperclip
      - PAPERCLIP_DB_PASSWORD=starkes_passwort
      - PAPERCLIP_OCR_ENABLED=true

volumes:
  paperclip_data:
  pg_data:

Schritt 7: Paperclip starten

cd /opt/paperclip
docker compose up -d

Container-Status prüfen:

docker compose ps
docker compose logs -f paperclip

Schritt 8: Firewall konfigurieren

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable

Hinweis: Port 8080 wird bewusst nicht direkt freigegeben — der Zugriff erfolgt über Caddy/Nginx mit HTTPS.

Schritt 9: HTTPS mit Caddy einrichten

apt install caddy -y

Caddyfile bearbeiten:

nano /etc/caddy/Caddyfile
docs.ihredomain.de {
    reverse_proxy localhost:8080
}

Caddy neu laden:

systemctl reload caddy

Caddy stellt automatisch ein Let’s-Encrypt-Zertifikat bereit.

Schritt 10: Erste Anmeldung

  1. https://docs.ihredomain.de im Browser öffnen (oder http://IHRE_VPS_IP:8080 ohne Domain)
  2. Einrichtungsassistenten abschließen — Admin-E-Mail und Passwort festlegen
  3. Erstes Dokument hochladen
  4. OCR aktivieren, falls Volltextsuche für gescannte Dokumente gewünscht ist

Schritt 11: Backups einrichten

Das Docker-Volume lokal oder in einem S3-kompatiblen Bucket sichern:

# Backup in lokale Datei
docker run --rm \
  -v paperclip_data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/paperclip-backup-$(date +%Y%m%d).tar.gz /data

Per Cronjob automatisieren:

crontab -e
# Hinzufügen:
0 3 * * * /opt/paperclip/backup.sh

Fehlerbehebung

ProblemLösung
Container beendet sich sofortLogs prüfen: docker compose logs paperclip
OCR funktioniert nichtPAPERCLIP_OCR_ENABLED=true prüfen; ausreichend RAM vorhanden?
Web-Oberfläche nicht erreichbarPort 8080 prüfen; docker compose ps ausführen
Langsame DokumentverarbeitungOCR ist CPU-intensiv — bei Bedarf auf 2+ vCPU upgraden

VPS-Empfehlungen: Bester VPS für Paperclip oder vollständiger VPS-Vergleich.