Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

Cara Self-Host Paperclip di VPS (Panduan Langkah-demi-Langkah 2026)

Panduan langkah-demi-langkah untuk self-hosting Paperclip di VPS menggunakan Docker. Membahas prasyarat, instalasi, konfigurasi, HTTPS, dan login pertama.

Cara Self-Host Paperclip di VPS (Panduan Langkah-demi-Langkah 2026)

Paperclip adalah salah satu sistem manajemen dokumen yang paling bersih yang tersedia untuk di-host sendiri. Ia berjalan sebagai satu container Docker, menyimpan file di volume lokal, dan menampilkan antarmuka web pada port 8080. Panduan ini membimbing Anda melalui instalasi lengkap yang siap produksi di VPS Linux - dari penyediaan server hingga unggahan dokumen pertama Anda.

Prasyarat

Pilihan VPS yang Direkomendasikan:


Langkah 1: Perbarui Server Anda

apt update && apt upgrade -y

Langkah 2: Instal Docker

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

Verifikasi Docker berjalan:

docker --version

Langkah 3: Instal Docker Compose

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

Langkah 4: Buat Direktori Kerja

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

Langkah 5: Buat file docker-compose.yml

nano /opt/paperclip/docker-compose.yml

Tempelkan konfigurasi berikut:

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

volumes:
  paperclip_data:

Penting: Ganti ubah_ini_ke_secret_acak dengan string acak. Generasikan dengan:

openssl rand -hex 32

Langkah 6: (Opsional) Gunakan PostgreSQL Daripada SQLite

Untuk penggunaan multi-pengguna atau produksi, perpanjang file compose:

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: strongpassword
    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=your_random_secret
      - PAPERCLIP_DB_HOST=db
      - PAPERCLIP_DB_NAME=paperclip
      - PAPERCLIP_DB_USER=paperclip
      - PAPERCLIP_DB_PASSWORD=strongpassword
      - PAPERCLIP_OCR_ENABLED=true

volumes:
  paperclip_data:
  pg_data:

Langkah 7: Jalankan Paperclip

cd /opt/paperclip
docker compose up -d

Periksa bahwa container telah berjalan:

docker compose ps
docker compose logs -f paperclip

Langkah 8: Konfigurasi Firewall

ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable

Catatan: Port 8080 sengaja tidak diekspos langsung - kita akan proxy melalui Caddy/Nginx dengan HTTPS.

Langkah 9: Atur HTTPS dengan Caddy

apt install caddy -y

Edit file Caddyfile:

nano /etc/caddy/Caddyfile
docs.yourdomain.com {
    reverse_proxy localhost:8080
}

Muat ulang Caddy:

systemctl reload caddy

Caddy secara otomatis mengurus sertifikat Let’s Encrypt.

Langkah 10: Login Pertama

  1. Buka https://docs.yourdomain.com (atau http://IP_VPS_ANDA:8080 jika tanpa domain)
  2. Lengkapi wizard pengaturan awal - atur email admin dan password
  3. Unggah dokumen pertama Anda
  4. Aktifkan OCR jika Anda memerlukan pencarian teks lengkap pada file yang dipindai

Langkah 11: Siapkan Cadangan

Cadangkan volume Docker ke mesin lokal Anda atau bucket yang kompatibel S3:

# Cadangan ke file lokal
docker run --rm \
  -v paperclip_data:/data \
  -v $(pwd):/backup \
  alpine tar czf /backup/paperclip-backup-$(date +%Y%m%d).tar.gz /data

Jadwalkan ini dengan cron job:

crontab -e
# Tambahkan:
0 3 * * * /opt/paperclip/backup.sh

Pemecahan Masalah

MasalahSolusi
Container keluar secara langsungPeriksa log: docker compose logs paperclip
OCR tidak berfungsiPastikan PAPERCLIP_OCR_ENABLED=true dan container memiliki RAM yang cukup
Tidak bisa mengakses UIPastikan port 8080 tidak diblokir; periksa docker compose ps
Pemrosesan dokumen lambatOCR adalah proses CPU-intensif - tingkatkan ke 2+ vCPU jika perlu

Untuk rekomendasi penyedia VPS, lihat VPS terbaik untuk Paperclip atau perbandingan lengkap VPS.