Kurulum öncesi mimari ve gereksinimler
- Ubuntu 24.04, Docker Compose
- 4 vCPU ve 8 GB RAM önerilen başlangıç; yoğun OCR için daha fazla CPU
- documents.example.com DNS kaydı
- Orijinal belgeler ve exporter yedeği için ayrı depolama
Paperless-ngx’i PostgreSQL, Redis ve Türkçe OCR ile Ubuntu’da kurun; tarayıcı klasörü, e-posta tüketimi, belge kuralları, Nginx SSL, exporter yedeği, geri yükleme ve bütünlük kontrolünü tamamlayın.

Paperless-ngx’i PostgreSQL, Redis ve Türkçe OCR ile Ubuntu’da kurun; tarayıcı klasörü, e-posta tüketimi, belge kuralları, Nginx SSL, exporter yedeği, geri yükleme ve bütünlük kontrolünü tamamlayın. Komutlar kopyalanabilir biçimde verilmiştir; örnek alan adları ve parolalar çalıştırılmadan önce kendi değerlerinizle değiştirilmelidir.
mkdir -p /opt/paperless-ngx
cd /opt/paperless-ngx
curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.postgres.yml -o docker-compose.yml
curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.env -o docker-compose.envPAPERLESS_URL=https://documents.example.com
PAPERLESS_TIME_ZONE=Europe/Istanbul
PAPERLESS_OCR_LANGUAGE=tur+eng+deu
PAPERLESS_OCR_LANGUAGES=tur deu
PAPERLESS_SECRET_KEY=GUCLU_RASTGELE_SECRET
PAPERLESS_ADMIN_USER=ekaadmin
PAPERLESS_ADMIN_PASSWORD=ILK_GIRISTEN_SONRA_DEGISTIR
PAPERLESS_REDIS=redis://broker:6379
PAPERLESS_DBHOST=dbmkdir -p consume export data media
sudo chown -R 1000:1000 consume export data media
sudo docker compose --env-file docker-compose.env config
sudo docker compose --env-file docker-compose.env up -dsudo docker compose ps
sudo docker compose logs --tail 150 webserver
sudo docker compose exec webserver tesseract --list-langs
curl -I http://127.0.0.1:8000sudo docker compose exec -T webserver document_exporter ../export --compare-checksums --delete --no-progress-bar
find export -type f | wc -l
sha256sum export/manifest.jsonsudo docker compose down
sudo docker compose up -d db broker
sudo docker compose run --rm webserver document_importer ../export --no-progress-bar
sudo docker compose up -dsudo docker compose exec webserver document_sanity_checker
sudo docker compose exec webserver document_index reindex --if-needed
sudo docker compose exec webserver document_create_classifiersudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
sudo tee /etc/nginx/sites-available/documents.example.com > /dev/null <<'NGINX'
server {
listen 80;
listen [::]:80;
server_name documents.example.com;
client_max_body_size 10G;
proxy_read_timeout 3600;
proxy_send_timeout 3600;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
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;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
NGINX
sudo ln -s /etc/nginx/sites-available/documents.example.com /etc/nginx/sites-enabled/documents.example.com
sudo nginx -t
sudo systemctl reload nginxsudo certbot --nginx -d documents.example.com --redirect --agree-tos --no-eff-email -m [email protected]
sudo certbot renew --dry-run
curl -I https://documents.example.com
openssl s_client -connect documents.example.com:443 -servername documents.example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates| Belirti / Symptom | Kök neden ve çözüm / Root cause and fix |
|---|---|
| Belge consume edilmiyor | Host klasörünün container içinde doğru /usr/src/paperless/consume yoluna mount edildiği ve UID/GID izinleri kontrol edilir. |
| Türkçe karakterler okunmuyor | tur dil paketinin container içinde listelendiği ve PAPERLESS_OCR_LANGUAGE değerinin yeniden oluşturulan container’a uygulandığı doğrulanır. |
| Duplicate document | Dosya checksum’u, daha önce tüketilen belge ve ASN/filename eşleşmesi incelenir; orijinal silinmez. |
| Import farklı sürümde bozuluyor | Boş hedef kurulum exporter ile aynı Paperless sürümüne alınır, sonra kontrollü şekilde güncellenir. |
Evet; fakat örnek değerler değiştirilmeden, erişim sınırları uygulanmadan ve geri yükleme testi yapılmadan üretime alınmamalıdır.
Minimum değer yalnız kurulumun açılması içindir. Eş zamanlı kullanıcı, veri büyümesi ve arka plan işleri ölçülerek kaynak payı bırakılmalıdır.
Evet. SSL modu Full (strict), doğru origin sertifikası ve WebSocket/gerçek IP başlıkları uygulamanın gereksinimine göre ayarlanmalıdır.
Major sürümler otomatik güncellenmemelidir. Sürüm notu, veritabanı migration bilgisi, yedek ve geri dönüş imajı kontrol edilmelidir.
Veritabanı, yüklenen dosyalar, volume verileri, yapılandırma, şifreleme anahtarları ve kullanılan sürüm etiketi aynı geri dönüş setinde tutulmalıdır.
Web paneli ve standart iş yükleri için NVMe VPS yeterli olabilir. Model inference, OCR hızlandırma veya video transcoding varsa uygun GPU gerekir.
Paperless-ngx’i PostgreSQL, Redis ve Türkçe OCR ile Ubuntu’da kurun; tarayıcı klasörü, e-posta tüketimi, belge kuralları, Nginx SSL, exporter yedeği, geri yükleme ve bütünlük kontrolünü tamamlayın.