Pluma'yı Docker ile kendi sunucunuzda barındırın
Pluma'yı kendi altyapınızda çalıştırın. Tek konteyner, tek compose dosyası, temiz sunucudan çalışan uygulamaya beş dakika.
Hızlı başlangıç (5 dakika)
Bir dizin seçin
Bir dizin seçin
sudo mkdir -p /opt/pluma && sudo chown $USER:$USER /opt/pluma
cd /opt/plumacompose dosyasını oluşturun
compose dosyasını oluşturun
Şu adla kaydet docker-compose.yml.
services:
pluma:
image: mertdalbudak/pluma:latest
container_name: pluma
restart: unless-stopped
env_file: .env
ports:
- "4100:4100"
volumes:
- builder-data:/app/builder/data
# Lets the Pro+ Publish flow drive `docker buildx`. Remove this line
# if you won't publish workspace renderer images.
- /var/run/docker.sock:/var/run/docker.sock
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:4100/health"]
interval: 30s
timeout: 5s
retries: 5
volumes:
builder-data:
env dosyasını oluşturun
env dosyasını oluşturun
Şu adla kaydet .env. Sadece dört değer önemli — gerisi ilk açılışta otomatik üretilir.
# Where Pluma is reachable (use https://… when fronted by TLS).
PUBLIC_URL=http://localhost:4100
# Paid tiers: paste your license key. Free tier: leave blank.
LICENSE_KEY=
# Database (optional) — unset uses a bundled SQLite file; point at your
# own PostgreSQL to back it up and scale it yourself.
# DATABASE_URL=postgresql://USER:PASS@host:5432/pluma
# Object storage (optional) — defaults to the local data volume; set these
# for S3-compatible storage (MinIO, R2, S3, B2, …).
# STORAGE_BACKEND=s3
# S3_BUCKET=pluma
# S3_ENDPOINT=https://your-s3-endpoint
# S3_REGION=eu-central-1
# S3_ACCESS_KEY=...
# S3_SECRET_KEY=...
# Email (optional) — only for the enterprise e-signature workflow. Any SMTP
# URL works; without it /sign-requests is disabled and everything else runs
# offline.
# SMTP_URL=smtp://user:[email protected]:587
# EMAIL_FROM=Pluma <[email protected]>
# [email protected]
PUBLIC_URLKurulumun yaşadığı yerLICENSE_KEYYalnızca ücretli planlar — Free için boş bırakınStack'i başlatın
Stack'i başlatın
docker compose up -d
docker compose logs -f plumaDoğrulayın
Doğrulayın
İki uç nokta da yanıt veriyorsa, çalışıyor.
curl http://127.0.0.1:4100/health
# → {"ok":true,"service":"builder"}Açın http://your-host:4100 ve şu e-postayla kaydolun
Yalnızca ihtiyacınız olanı bağlayın
Çekirdek kurulum çevrimdışı çalışır — harici hizmet gerekmez. Aşağıdaki entegrasyonlar isteğe bağlıdır, .env üzerinden yapılandırılır ve yalnızca eşleştirildikleri özelliği etkinleştirir.
SMTP — e-imza akışı
Yalnızca Enterprise kurulumlarındaki e-imza iş akışı için gereklidir. Herhangi bir standart SMTP adresi çalışır:
# ── Transactional email (optional; needed for /sign-requests) ──
SMTP_URL=smtp://user:[email protected]:587
EMAIL_FROM=Pluma <[email protected]>
[email protected]Marka — kendi görünümünüzü verin
İlk girişten sonra panodaki Ayarlar → Marka sayfası, „Pluma” yerine kendi ürün adınızı yazmanıza, kendi logonuzu (üst bilgi + e-posta) ve favicon’unuzu koymanıza, bir vurgu rengi belirlemenize ve her işlem e-postasına yasal bir alt bilgi eklemenize olanak tanır. Değişiklikler anında geçerli olur — yeniden başlatma yok, ortam değişkeniyle uğraşmak yok. Yalnızca kendi sunucunuzda barındırmada; barındırılan SaaS’ın markası Pluma’ya aittir.
Nesne depolama — durumu düğümler arasında paylaşın
Varsayılan olarak yüklenen PDF’ler ve görseller builder-data biriminde tutulur. Yatay ölçeklemek, birden fazla builder kopyası çalıştırmak ya da veri birimini uygulama sunucusundan ayırmak istediğinizde STORAGE_BACKEND değerini S3 uyumlu herhangi bir hizmete (MinIO, Hetzner, R2, B2, AWS) yönlendirin.
STORAGE_BACKEND=s3
S3_BUCKET=pluma
S3_ENDPOINT=https://your-s3-endpoint
S3_REGION=eu-central-1
S3_ACCESS_KEY=...
S3_SECRET_KEY=...Güncelleme
docker compose pull
docker compose up -dVeritabanı migrasyonları, HTTP sunucusu trafik kabul etmeden önce builder açılışında otomatik çalışır. Manuel adım yok.
Lisans mı gerekiyor?
Free planı lisanssız çalışır. Advanced ve Pro planları bir lisans anahtarı gerektirir — barındırılan sitemizden bir tane satın alın, .env'inize LICENSE_KEY olarak yapıştırın ve yeniden dağıtın.