Papyro
15 dakikalık iş

Papyro kurulumu

Bu rehber Papyro'yu kendi sunucunuza kurmanın adımlarını anlatır. Docker hakkında temel bilgi varsayılmaktadır.

1. Gereksinimler

  • Docker 24+ ve docker compose v2
  • En az 2 GB RAM, 10 GB disk
  • HTTPS terminate edebilen bir reverse proxy (Cloudflare, Traefik, nginx)
  • Bir domain veya subdomain (örn. papyro.sirketiniz.com)
  • Satın aldığınız LICENSE_KEY (email ile gönderildi)
  • Bizden aldığınız GHCR token (image pull için)

2. Çalışma dizinini hazırla

mkdir papyro && cd papyro
curl -fsSL https://papyro.dev/install/docker-compose.yml -o docker-compose.yml
curl -fsSL https://papyro.dev/install/.env.example -o .env

3. .env dosyasını doldur

Satın alma email'inden gelen değerleri yapıştırın:

# Domain
BETTER_AUTH_URL=https://papyro.yourcompany.com

# Database password (generate randomly)
DB_PASSWORD=$(openssl rand -hex 16)

# Better Auth secret (generate randomly)
BETTER_AUTH_SECRET=$(openssl rand -hex 32)

# Redis password (generate randomly)
REDIS_PASSWORD=$(openssl rand -hex 16)

# Cron secret (generate randomly)
CRON_SECRET=$(openssl rand -hex 32)

# License (from your purchase email)
LICENSE_KEY=eyJ2IjoxLCJjdXN0b21lciI6...

# R2 backup (optional)
R2_ACCOUNT_ID=
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET=

openssl rand komutlarını terminalde çalıştırıp çıkan değerleri yapıştırın. Bu değerleri kaybetmeyin — DB'ye erişim için gereklidir.

4. Docker image'ını çek

Email'de gönderdiğimiz GHCR token'ı ile login olun ve image'ı çekin:

echo "ghp_xxxxxxxxxxxx" | docker login ghcr.io \
  -u egebilge --password-stdin

docker pull ghcr.io/egebilge/papyro:v1.0.0

5. Çalıştır

docker compose up -d

İlk başlatma 30-60 saniye sürer (migration çalışır, container'lar ayağa kalkar).

6. İlk admin'i oluştur

Tarayıcıdan https://papyro.sirketiniz.com adresini açın. Setup wizard ekranı çıkacak — ilk kullanıcı bilgilerinizi girin. Bu ilk kullanıcı super-admin rolünde oluşturulur ve tek seferliktir.

7. Lisans durumunu doğrula

Admin → Lisans sayfasına gidin (kenar çubuğu). Müşteri adınız, edition, koltuk sayısı ve bitiş tarihi görünmelidir.

Sorun giderme

LICENSE_KEY is not set
Cause / Sebep: Env değişkeni eksik veya yanlış kopyalanmış.
Fix / Çözüm: Satın alma email'indeki satırı tam olarak .env dosyasına yapıştırın. Container'ı yeniden başlatın: docker compose up -d --force-recreate app
LICENSE_KEY is invalid: malformed envelope
Cause / Sebep: Envelope eksik kopyalandı (kesilmiş paste).
Fix / Çözüm: Email'deki LICENSE_KEY=... satırının tamamını seçip kopyalayın. Satır içinde nokta (.) karakterini içermelidir.
LICENSE_KEY is invalid: invalid signature
Cause / Sebep: Yanlış image versiyonu kullanılıyor veya envelope farklı bir vendor binary'sine ait.
Fix / Çözüm: docker pull komutundaki image tag'ini kontrol edin. Yardım için [email protected].
LICENSE_OVER_SEAT — Yeni kullanıcı eklenemiyor
Cause / Sebep: Lisans koltuk limitiniz dolmuş.
Fix / Çözüm: Tier upgrade için [email protected]'e yazın veya banned/inaktif kullanıcıları silin.

Yenileme

Lisans bitimine 30 gün kala size bir hatırlatma email'i atıyoruz. Yenileme ücretini ödedikten sonra yeni LICENSE_KEY satırı email ile gelir. Bu satırı .env dosyasında eskisinin yerine yazın ve container'ı yeniden başlatın:

docker compose up -d --force-recreate app

Destek

Email: [email protected]

Yanıt süresi 48 saat içinde. Acil durumlar için "URGENT" ile başlayan konu satırı kullanın.