VPS Üzerinden Paperclip’i Kendin Host Etme (2026 Adım Adım Kılavuz)
Paperclip, mevcut en temiz kendin barındırılan belge yönetim sistemlerinden biridir. Tek bir Docker konteyneri olarak çalışır, dosyaları yerel bir hacimde depolar ve port 8080 üzerinde bir web arayüzü sunar. Bu kılavuz, bir Linux VPS üzerinde tam üretime hazır bir kurulum için size adım adım yol gösterir - sunucuyu sağlama almaktan ilk belge yüklemenize kadar.
Ön Koşullar
- Ubuntu 22.04 LTS veya Debian 12 çalışan bir VPS (önerilen)
- En az 1 vCPU, 1GB RAM, 20GB depolama (OCR için 2GB RAM önerilir)
- SSH üzerinden root veya sudo erişimi
- VPS IP’nize yönlendirilmiş bir alan adı veya alt alan adı (isteğe bağlı ama HTTPS için önerilir)
Önerilen VPS seçenekleri:
- Hetzner Cloud CX22 - €4.15/ay, 2 vCPU, 4GB RAM, 40GB NVMe
- Contabo VPS S - €5.99/ay, 4 vCPU, 8GB RAM, 200GB NVMe
Adım 1: Sunucunuzu Güncelleyin
apt update && apt upgrade -y
Adım 2: Docker’ı Kurun
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
Docker’ın çalıştığını doğrulayın:
docker --version
Adım 3: Docker Compose’u Kurun
apt install docker-compose-plugin -y
docker compose version
Adım 4: Çalışma Dizini Oluşturun
mkdir -p /opt/paperclip && cd /opt/paperclip
Adım 5: docker-compose.yml Dosyasını Oluşturun
nano /opt/paperclip/docker-compose.yml
Aşağıdaki yapılandırmayı yapıştırın:
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=change_this_to_a_random_secret
- PAPERCLIP_OCR_ENABLED=true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
paperclip_data:
Önemli: change_this_to_a_random_secret kısmını rastgele bir dizeyle değiştirin. Bir tane oluşturmak için:
openssl rand -hex 32
Adım 6: (İsteğe Bağlı) PostgreSQL Kullanımı SQLite Yerine
Çok kullanıcılı veya üretim ortamı için, compose dosyasını genişletin:
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: güçlübirşifre
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=rastgelebirsecret
- PAPERCLIP_DB_HOST=db
- PAPERCLIP_DB_NAME=paperclip
- PAPERCLIP_DB_USER=paperclip
- PAPERCLIP_DB_PASSWORD=güçlübirşifre
- PAPERCLIP_OCR_ENABLED=true
volumes:
paperclip_data:
pg_data:
Adım 7: Paperclip’i Başlatın
cd /opt/paperclip
docker compose up -d
Konteynerin başladığını kontrol edin:
docker compose ps
docker compose logs -f paperclip
Adım 8: Güvenlik Duvarı Yapılandırması
ufw allow OpenSSH
ufw allow 80
ufw allow 443
ufw enable
Not: Port 8080 doğrudan açık değil - HTTPS ile Caddy/Nginx üzerinden proxy yapacağız.
Adım 9: HTTPS Kurulumu için Caddy Kullanımı
apt install caddy -y
Caddyfile’ı düzenleyin:
nano /etc/caddy/Caddyfile
docs.yourdomain.com {
reverse_proxy localhost:8080
}
Caddy’yi yeniden yükleyin:
systemctl reload caddy
Caddy otomatik olarak Let’s Encrypt sertifikasını sağlar.
Adım 10: İlk Giriş
https://docs.yourdomain.comsitesini açın (veya alan adınız yoksahttp://YOUR_VPS_IP:8080)- İlk kurulum sihirbazını tamamlayın - yönetici e-posta ve şifre belirleyin
- İlk belgenizi yükleyin
- Tarama gerektiriyorsa OCR’yi etkinleştirin, böylece taranmış dosyalarda tam metin araması yapabilirsiniz
Adım 11: Yedekleme Kurulumu
Docker hacmini yerel makinenize veya S3 uyumlu bir kovaya yedekleyin:
# Yerel dosyaya yedekle
docker run --rm \
-v paperclip_data:/data \
-v $(pwd):/backup \
alpine tar czf /backup/paperclip-yedek-$(date +%Y%m%d).tar.gz /data
Bu işlemi bir cron işi olarak planlayın:
crontab -e
# Ekleyin:
0 3 * * * /opt/paperclip/backup.sh
Sorun Giderme
| Sorun | Çözüm |
|---|---|
| Konteyner hemen kapanıyor | Logları kontrol edin: docker compose logs paperclip |
| OCR çalışmıyor | PAPERCLIP_OCR_ENABLED=true olduğundan emin olun ve konteynerin yeterli RAM’e sahip olduğuna bakın |
| UI’ye erişemiyorsunuz | Port 8080’nin engellenmediğinden emin olun; docker compose ps ile kontrol edin |
| Belge işlemesi yavaş mı? | OCR CPU yoğun çalışır - gerekirse 2+ vCPU’ya yükseltin |
VPS sağlayıcı önerileri ve en iyi VPS seçenekleri için Paperclip için en iyi VPS veya tam VPS karşılaştırması sayfalarına bakabilirsiniz.