Install Stirling-PDF di Docker

Install Stirling-PDF di Docker

Bitnesia Software Mar 25, 2026 76 EN

Pernahkah Anda merasa ragu saat harus mengunggah dokumen sensitif perusahaan atau data pribadi ke situs web “Free PDF Converter” antah berantah hanya untuk menggabungkan dua halaman? Atau mungkin Anda lelah dengan biaya lisensi software PDF editor komersial yang semakin mahal setiap tahunnya? Isu privasi data dan efisiensi biaya adalah dua tantangan utama dalam pengelolaan dokumen digital. Solusi terbaik untuk mengatasi masalah ini adalah dengan melakukan self-hosting alat manajemen PDF Anda sendiri.

Perkenalkan Stirling-PDF, sebuah Swiss Army Knife untuk manipulasi PDF yang dapat Anda jalankan di server pribadi Anda. Artikel ini akan memandu Anda mengenal fitur Stirling-PDF hingga tahapan deployment di server Ubuntu.

Apa Itu Stirling-PDF?

Stirling-PDF adalah aplikasi manipulasi PDF berbasis web yang bersifat open-source. Aplikasi ini menggabungkan berbagai fungsi PDF yang biasanya terpisah-pisah menjadi satu antarmuka pengguna (UI) yang modern dan intuitif.

Keunggulan utama Stirling-PDF terletak pada kedaulatan data. Semua proses pemrosesan file dilakukan secara lokal di server Anda. Tidak ada file yang dikirim ke server pihak ketiga, menjadikannya solusi ideal untuk organisasi yang memiliki standar kepatuhan privasi data (GDPR, HIPAA, dll) yang ketat.

Fitur Unggulan Stirling-PDF

Mengapa komunitas open source sangat menyukai Stirling-PDF? Berikut adalah fitur-fitur kuncinya:

  • Manipulasi Halaman: Menggabungkan (Merge), memisahkan (Split), memutar (Rotate), dan menyusun ulang halaman PDF.
  • Konversi Format: Mengubah PDF ke Gambar, Gambar ke PDF, PDF ke Word/HTML, dan sebaliknya.
  • Keamanan: Menambahkan password, menghapus password, memberikan tanda tangan digital, dan menambahkan watermark.
  • OCR (Optical Character Recognition): Mengubah PDF hasil scan menjadi teks yang bisa dicari (searchable) dan disalin.
  • Edit & Kompresi: Menambahkan teks/gambar overlay dan memperkecil ukuran file PDF.
  • UI Modern: Mendukung Dark Mode dan antarmuka yang responsif.

Persyaratan Sistem

Stirling-PDF berjalan di dalam kontainer Docker, sehingga persyaratannya cukup fleksibel. Namun, untuk performa yang lancar terutama saat menggunakan fitur OCR, berikut rekomendasinya:

  • CPU: Minimal 2 vCPU (OCR membutuhkan daya pemrosesan yang cukup tinggi).
  • RAM: Minimal 2 GB (4 GB disarankan untuk produksi).
  • Disk: 10 GB ruang kosong (untuk image Docker dan temporary files).

Tutorial ini menggunakan sistem operasi Ubuntu LTS.

Panduan Instalasi Stirling-PDF di Ubuntu

Kita akan melakukan deployment menggunakan Docker Compose dan menjadikannya siap produksi dengan Nginx Reverse Proxy dan SSL.

Persiapan Server

Pertama, pastikan sistem operasi Anda mutakhir dan instal dependensi dasar: Docker, Docker Compose, Nginx, dan Certbot.

sudo apt update && sudo apt upgrade -y
sudo sh -c "curl -fsSL https://get.docker.com/ | sh"
sudo apt install nginx certbot python3-certbot-nginx -y

Instalasi Stirling-PDF dengan Docker Compose

Cara terbaik mengelola Stirling-PDF adalah menggunakan Docker Compose.

Buat direktori kerja:

mkdir stirling-pdf
cd stirling-pdf

Buat file docker-compose.yml:

nano docker-compose.yml

Masukkan konfigurasi berikut:

services:
  stirling-pdf:
    image: stirlingtools/stirling-pdf:latest
    container_name: stirling-pdf
    ports:
      - '8080:8080'
    volumes:
      # Persistent data storage
      - ./stirling-data/tessdata:/usr/share/tessdata     # OCR language files
      - ./stirling-data/configs:/configs                 # Settings & database
      - ./stirling-data/logs:/logs                       # Application logs
      - ./stirling-data/customFiles:/customFiles:rw      # Custom branding files
      - ./stirling-data/pipeline:/pipeline               # Automation configs
    environment:
      # Core Settings
      - SECURITY_ENABLELOGIN=true            # Enable user authentication

      # Language & Localization
      - LANGS=en_GB                          # Change to your locale

      # System Configuration
      - SYSTEM_DEFAULTLOCALE=en-GB           # Default locale
      - SYSTEM_GOOGLEVISIBILITY=false        # Hide from search engines
      - SYSTEM_ROOTURIPATH=/                 # Base URL path
      - SYSTEM_CONNECTIONTIMEOUTMINUTES=5    # Connection timeout
      - SYSTEM_MAXFILESIZE=2000              # Max file size in MB

      # Optional: Logging
      - SYSTEM_CUSTOMSTATICFILEPATH=/customFiles/static/  # Custom files path

    restart: unless-stopped

    # Optional: Resource limits
    deploy:
      resources:
        limits:
          memory: 4G
          cpus: '2.0'
        reservations:
          memory: 2G
          cpus: '1.0'

Jalankan Stirling-PDF:

sudo docker compose up -d

Verifikasi instalasi dengan mengecek status container:

sudo docker compose ps

Jika statusnya Up, aplikasi sudah berjalan di http://IP-Server-Anda:8080.

NAME           IMAGE                               COMMAND                  SERVICE        CREATED          STATUS          PORTS
stirling-pdf   stirlingtools/stirling-pdf:latest   "tini -- /scripts/in..."   stirling-pdf   30 seconds ago   Up 28 seconds   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp

Konfigurasi Nginx Reverse Proxy

Agar aplikasi dapat diakses melalui domain (misal: pdf.domainanda.com) dan mendukung upload file besar, kita perlu mengonfigurasi Nginx.

Buat file konfigurasi server block:

sudo nano /etc/nginx/sites-available/pdf.domainanda.com.conf

Masukkan konfigurasi berikut (sesuaikan server_name):

server {
    listen 80;
    server_name pdf.domainanda.com;

    # Log files
    access_log /var/log/nginx/stirling_access.log;
    error_log /var/log/nginx/stirling_error.log;

    # PENTING: Izinkan upload file besar (contoh: 100MB)
    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Konfigurasi timeout untuk proses berat seperti OCR
        proxy_read_timeout 300s;
        proxy_connect_timeout 300s;
    }
}

Aktifkan konfigurasi:

sudo ln -s /etc/nginx/sites-available/pdf.domainanda.com.conf /etc/nginx/sites-enabled/

Cek sintaks dan restart Nginx:

sudo nginx -t
sudo systemctl restart nginx

Instalasi SSL dengan Certbot

Langkah terakhir adalah mengamankan koneksi dengan HTTPS agar dokumen yang diupload terenkripsi.

sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--nginx -d pdf.domainanda.com \
--redirect

Stirling-PDF sudah dapat diakses di https://pdf.domainanda.com. Login dengan username = admin dan password = stirling.

Penutup

Selamat! Anda kini memiliki Stirling-PDF yang berjalan sepenuhnya di server Anda sendiri. Anda dapat mengaksesnya melalui https://pdf.domainanda.com dan mulai memproses dokumen dengan aman. Dengan langkah ini, Anda tidak hanya menghemat biaya operasional IT, tetapi juga menjamin privasi dan keamanan data dokumen organisasi Anda. Stirling-PDF adalah bukti bahwa solusi open-source mampu bersaing, bahkan mengungguli solusi komersial dalam hal fleksibilitas dan keamanan.

Berhasil konfigurasi dalam hitungan menit? Kirimkan apresiasi Anda untuk riset dan waktu yang kami dedikasikan di sini.

Beri Apresiasi

Related Posts