İçeriğe geç
Kendi sunucunuzda

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.

Linux · 2 vCPU · 4 GBDocker + Compose v2Lisans (yalnızca ücretli planlar)
Hızlı başlangıç

Hızlı başlangıç (5 dakika)

1

Bir dizin seçin

sudo mkdir -p /opt/pluma && sudo chown $USER:$USER /opt/pluma
cd /opt/pluma
2

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:
3

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ığı yer
LICENSE_KEYYalnızca ücretli planlar — Free için boş bırakın
4

Stack'i başlatın

docker compose up -d
docker compose logs -f pluma
5

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

Optional integrations

Plug in only what you need

The core install runs offline — no external services required. The integrations below are opt-in, configured through .env, and only activate the feature they're paired with.

SMTP — e-signature workflow

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]

Branding — make it look like yours

After the first sign-in, the dashboard Settings → Branding page lets you replace "Pluma" with your product name, swap in your own logo (header + email) and favicon, set an accent colour, and add a legal footer to every transactional email. Changes hot-swap immediately — no restart, no env-var dance. Self-hosted only; hosted SaaS branding is Pluma-owned.

Object storage — share state across nodes

By default uploaded PDFs and images live in the builder-data volume. Point STORAGE_BACKEND at any S3-compatible service (MinIO, Hetzner, R2, B2, AWS) when you want to scale horizontally, run multiple builder replicas, or take the data volume off the application host.

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

Güncelleme

docker compose pull
docker compose up -d

Veritabanı 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.