Raspberry Pi'de Paperless-NGX Çalıştırma

Bu yazı, PiMyLifeUp - Running Paperless-NGX on the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitimde, Raspberry Pi'ye Paperless-NGX'i nasıl kurup çalıştıracağınızı göstereceğiz.

Raspberry Pi Paperless-NG

Paperless-NGX, tüm kağıt belgeleriniz için dijital bir arşiv/indeks görevi görmek üzere tasarlanmış güçlü bir yazılımdır.

Paperless-NGX'e bir belge verdiğinizde, üzerinde OCR (Optik Karakter Tanıma) gerçekleştirerek görüntüleri aranabilir ve seçilebilir metne dönüştürecektir.

Bu, Paperless'ın yapabileceklerinin sadece yüzeyini çiziyor. Belgelerinizi toplamak için merkezi bir yere ihtiyacınız varsa, kesinlikle bu yazılıma göz atmalısınız.

Raspberry Pi, düşük miktarda güç kullandığından sürekli çalıştırmayı ucuz hale getirdiğinden Paperless-NGX için mükemmel bir cihazdır.

Paperless-NGX ile en iyi deneyim için, 4GB veya daha fazla belleğe sahip bir Raspberry Pi 4 veya daha yenisini kullanmalısınız. Ayrıca, cihazınızın belleğinden en iyi şekilde yararlanabilmesi için 64-bit bir işletim sistemi kullanmanız da yardımcı olacaktır.

Raspberry Pi'nizi Paperless-NG İçin Hazırlama

Bu bölüm, Raspberry Pi'nizi Paperless-NG için hazırlama adımlarını gösterecek.

Burada yapmamız gereken iki ana görev, "docker-compose"u kurmak ve Paperless'ın belgeleri alacağı bir dizin oluşturmaktır.

1. Herhangi bir şey yapmadan önce, paket listesini güncellememiz ve güncel olmayan tüm paketleri yükseltmemiz gerekecek.

Bu görevleri gerçekleştirmek için, terminalde aşağıdaki iki komutu çalıştırın.

sudo apt update
sudo apt upgrade

2. Güncelleme tamamlandıktan sonra, Paperless-NG'yi çalıştırmak için ihtiyacımız olan paketleri kurabiliriz. Paperless bir docker konteyneri olarak geldiğinden, sadece Docker kurmamız gerekiyor.

Devam etmeden önce, Raspberry Pi'ye Docker kurma rehberimizi takip etmeniz gerekiyor.

3. Artık Docker'ı kurduğumuza göre, Paperless'ın yeni belgeleri alacağı bir dizin oluşturmamız gerekiyor.

Bu eğitim için, kullanıcının ana dizini içinde "paperless" adlı başka bir dizinin içinde bulunacak "consume" adlı bir klasör oluşturacağız.

Bu dizinleri terminalde aşağıdaki komutu kullanarak oluşturabilirsiniz.

mkdir -p ~/paperless/consume

Raspberry Pi'ye Paperless-NGX Kurulumu

Raspberry Pi'miz hazırlandığına göre, Paperless-NGX kurmaya geçebiliriz. Bu adımlarda, Paperless-NGX'i kurup çalıştırmak için gereken bir "docker-compose.yml" dosyası ve bir ortam dosyası yazacağız.

1. Önceki bir adımda oluşturduğumuz dizine geçerek başlayalım.

Terminalde cd komutunu kullanarak bu dizine geçebilirsiniz.

cd ~/paperless/

docker-compose.yml Dosyasını Oluşturma

2. Artık "paperless" dizininde olduğumuza göre, aşağıdaki komutu kullanarak bu Docker yapılandırma dosyasını yazmaya başlayabiliriz.

Bu dosya, Docker'a hangi konteynerleri indirip çalıştırması gerektiğini söyler.

nano docker-compose.yml

3. Bu yapılandırma dosyasının içine, aşağıdaki satırları yazın. Biraz sonra ayarlamak isteyebileceğiniz birkaç seçeneği inceleyeceğiz.

services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - broker
    ports:
      - 8000:8000
    volumes:
      - data:/usr/src/paperless/data
      - media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - ./consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379

volumes:
  data:
  media:

4. Yapılandırma dosyasının içinde, Paperless-NGX'i Raspberry Pi'nize uyacak şekilde ayarlamak için değiştirmek isteyebileceğiniz birkaç şey var.

Varsayılan ayarlara sadık kalmaktan memnunsanız, bir sonraki adıma geçebilirsiniz.

Paperless-NGX'in Çalıştığı Portu Değiştirme

Değiştirmek isteyebileceğiniz ilk şey, Paperless-NGX'in Raspberry Pi'nizde kullandığı porttur. Varsayılan olarak, 8000 portunda çalışacaktır, ama bunu başka bir porta değiştirmek de mümkündür.

Portu değiştirmek için, iki nokta üst üstenin sol tarafındaki sayıyı değiştirmek isteyeceksiniz.

    ports:
      - 8000:8000

Örneğin, Paperless'ın 8080 portunda çalışmasını istediğiniz için değiştirmek isterseniz, bunu aşağıdaki gibi görünecek şekilde değiştirirsiniz.

    ports:
      - 8080:8000

İçe Alma Dizinini Değiştirme

Değiştirmek isteyebileceğiniz diğer seçenek, Paperless'ın Raspberry Pi'nizde dosyaları arayacağı konumdur. Varsayılan olarak, bu "consume" adlı göreceli dizin olacaktır (Bunun için bir yeri bu eğitimin başında oluşturduk).

Paperless'ın belgeleri içe aktardığı dizini değiştirmek isterseniz, sütunun sol tarafındaki dizini değiştirmek isteyeceksiniz.

      - ./consume:/usr/src/paperless/consume

Örneğin, "/mnt/paperless" konumunda bağlı bir paylaşımdan klasörleri içe aktarmak isteseydiniz, bu satırı aşağıdaki gibi görünecek şekilde değiştirirdiniz.

      - /mnt/paperless:/usr/src/paperless/consume

5. Bu dosyayı düzenlemeyi bitirdikten sonra, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkabilirsiniz.

Paperless-NGX Ortam Dosyasını Yazma

6. Paperless-NGX için gizli anahtar olarak kullanmak üzere rastgele bir dizeye ihtiyacımız olacak.

Terminalde aşağıdaki komutu kullanarak rastgele bir anahtar oluşturabilirsiniz.

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1

Bu komutu çalıştırdıktan sonra, aşağıdakine benzer bir sonuç almalısınız. Bu dizeyi kopyalayın, çünkü bir sonraki adımda kullanacağız.

McziUH4c8lidzd4wggZj5q1tpgBv7DcPMtFv5RD7f0rFUrQFOmh8rSOiuMwp9N6P

7. Aşağıdaki komutu çalıştırarak "docker-compose.env" dosyasını yazmaya başlayabiliriz.

nano docker-compose.env

8. Bu dosyanın içine, aşağıdaki satırları yazmanız gerekecek. Her parçayı eklerken açıklayacağız.

Ekleyeceğimiz ilk satır, Paperless için gizli anahtarı ayarlar. "YOURSECRETKEY" kısmını 6. adımda oluşturduğunuz anahtarla değiştirin.

PAPERLESS_SECRET_KEY=YOURSECRETKEY

9. "USERMAP" seçenekleriyle başlayalım. Bu seçenekler, Docker konteynerini belirli bir kullanıcıya ve gruba eşler. Raspberry Pi OS'de ana kullanıcı 1000 ID'sine sahip olacaktır.

Farklı bir şey kullanıyorsanız bu değerleri değiştirmeniz gerekecek.

USERMAP_UID=1000
USERMAP_GID=1000

10. Bir sonraki seçenek, Raspberry Pi'nizde Paperless'ın desteklemesi için ek diller eklemenizi sağlar. Varsayılan diller sizin için yeterliyse, bu seçeneği eklemeyi atlayabilirsiniz.

Varsayılan olarak, Paperless İngilizce, Almanca, İtalyanca, İspanyolca ve Fransızca dillerini destekler. Ancak, yazılım Debian paket listesine bakarak çok daha fazlasını destekleyebilir.

Her ek dil, üç harfli koduyla belirtilmelidir (Örn. Çekçe için ces). Her birini tek bir boşlukla ayırarak birden fazla ek dil ekleyebilirsiniz.

PAPERLESS_OCR_LANGUAGES=ADDITIONAL LANGS HERE

11. Varsayılan olarak, Paperless-NGX UTC saat dilimini kullanacaktır. Ancak, "PAPERLESS_TIME_ZONE" seçeneğini ayarlayarak bunu yerel saat diliminize değiştirebiliriz.

Wikipedia'da bir saat dilimleri listesi bulabilirsiniz. Aradığınız değer "TZ database name" sütunundadır.

Örneğin, saat dilimini Avustralya'nın Hobart şehrine ayarlamak için aşağıdaki satırı kullanırdık.

PAPERLESS_TIME_ZONE=Australia/Hobart

12. Bu bölümde inceleyeceğimiz son seçenek, Paperless'ın Raspberry Pi'nizde OCR için kullanacağı varsayılan dili ayarlamaktır.

Bu seçeneği, belgelerinizin çoğunun bulunacağı dile ayarlamalısınız.

Aşağıda eklediğimiz satırla, varsayılan dili İngilizce olarak ayarlayacağız.

PAPERLESS_OCR_LANGUAGE=eng

13. Bitirdiğinizde, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkabilirsiniz.

Raspberry Pi'de Paperless-NGX Kurulumunu Çalıştırma

14. Son olarak, aşağıdaki komutu kullanarak Raspberry Pi'de Paperless'ı çalıştırabiliriz.

Docker, gereken tüm konteynerleri indirmeye hemen başlayacak ve yapılandırmamızı kullanarak başlatacaktır.

docker compose up -d

İnternet bağlantınızın hızına bağlı olarak, bu süreç biraz zaman alabilir.

Paperless-NGX'in Web Arayüzü İçin Bir Kullanıcı Oluşturma

15. Paperless-NGX artık Raspberry Pi'nizde çalışır durumda olduğuna göre, bir kullanıcı oluşturmanız gerekecek.

Bu süreci başlatmak için, terminalde aşağıdaki komutu çalıştırmalısınız.

docker compose run --rm webserver createsuperuser

16. Sizden istenecek ilk şey, yeni kullanıcınız için bir kullanıcı adı belirtmenizdir.

Herhangi bir şey yazmadan ENTER tuşuna basarsanız, Paperless kullanıcıyı "paperless" adıyla oluşturacaktır.

Username (leave blank to use 'paperless'):

18. Şimdi bu kullanıcı için isteğe bağlı olarak bir e-posta adresi girmeniz istenecektir.

Kullanıcıya bir e-posta atamak istemiyorsanız bu alanı boş bırakabilirsiniz.

Email address:

19. Ardından, bu kullanıcı için şifreyi yazmanız gerekecek. Bunun güvenli bir şey olduğundan ve e-posta adresinize veya kullanıcı adınıza çok fazla benzemediğinden emin olun.

Password:

Şifreyi onaylamak için tekrar girmeniz istenecektir.

Password (again):

20. Paperless-NGX için kullanıcınız başarıyla oluşturulduysa, terminalde aşağıdaki mesajı görmelisiniz.

Artık Raspberry Pi'nizde Paperless'a giriş yapmaya ve kullanmaya geçebilirsiniz.

Superuser created successfully.

Raspberry Pi'nin Paperless-NGX Web Arayüzünü Kullanma

Sonraki birkaç bölümde, Paperless-NGX'in web arayüzüne nasıl erişip kullanacağınızı göstereceğiz.

Bu bölüm için ihtiyacınız olan tek şey favori web tarayıcınız ve Raspberry Pi'nize bir bağlantıdır.

Paperless-NGX Web Arayüzüne Erişim

1. Raspberry Pi'nizde Paperless-NGX web arayüzüne erişmek için, IP adresini bilmeniz gerekir.

Raspberry Pi'nizin IP'sini almanın en kolay yolu, terminalde hostname komutunu kullanmaktır.

hostname -I

Genellikle, Pi'nize atanan IP, listelenen ilk adres olacaktır.

2. Raspberry Pi'nizin IP adresini öğrendikten sonra, aşağıdaki adrese gitmek isteyeceksiniz.

"IPADDRESS" kısmını IP'nizle değiştirdiğinizden emin olun. Docker yapılandırma dosyasındaki portu değiştirdiyseniz "8000" portunu da değiştirmeniz gerekir.

http://IPADRESI:8000

3. Artık sizi Paperless giriş ekranı karşılayacak. Bu ekranda, önceki bölümde belirlediğiniz hem kullanıcı adını hem de şifreyi doldurmanız gerekecek (1.).

Giriş bilgilerinizi doldurduktan sonra, "Sign in" düğmesine tıklayın (2.).

Paperless-NG Web Arayüzüne Giriş Yapma

4. Artık sizi Paperless-NGX gösterge paneli karşılayacak. Bu gösterge panelini tüm belgelerinizi görüntülemek ve yönetmek için kullanabilirsiniz.

Bu arayüzü, belgelerinizi Paperless'a manuel olarak yükleyip işletmek için bile kullanabilirsiniz.

Raspberry Pi'de Paperless-NG Gösterge Paneli

Web Arayüzü Üzerinden Paperless'a Bir Belge Yükleme

5. Raspberry Pi'nize Paperless üzerinden bir dosya yüklemek için, gösterildiği gibi sol kenar çubuğuna sürükleyip bırakmak isteyeceksiniz.

Alternatif olarak, "Browse files" düğmesine tıklayarak yüklemek istediğiniz belgeleri manuel olarak seçebilirsiniz.

Paperless'a bir belge yükleme

6. Paperless'a bir dosya yüklendiğinde, otomatik olarak belgeyi işlemeye başlayacaktır.

Bu süreç, tüm belgeyi taraması gerektiğinden zaman alabilir.

Paperless belge işleniyor

İşlenmiş Bir Belgeyi Düzenleme

7. Paperless'a belgeler yüklendikten sonra, oluşturulan meta verileri düzenlemek mümkündür. Bu, yüklediğiniz tüm farklı belgeleri düzgün bir şekilde kategorize etmek için kullanışlıdır.

Meta veriyi düzenlemek, Paperless'ın makine öğrenmesinin belgelerinizi otomatik olarak kategorize etmesine de yardımcı olacaktır.

Bir belgeyi düzenlemek için, onu yükledikten hemen sonra "Open document"a tıklayabilirsiniz (1.).

Alternatif olarak, bu belgeleri "Documents" sayfasında bulabilirsiniz (2.)

Belgeleri Açma

8. Aşağıda, Paperless'a yüklediğimiz bir ekran görüntüsü için düzenleme ekranını görebilirsiniz.

Belgeyi tarayarak metni kolayca vurgulamanızı ve kopyalamanızı sağlamaya çalışmıştır.

Bu belgeler ekranını, bu belgenin başlığı, etiketleri, belge türü ve daha fazlası gibi çeşitli ayrıntılarını düzenlemek için kullanabilirsiniz.

Raspberry Pi Paperless'ta belge düzenleme

Sonuç

Bu noktada, artık Raspberry Pi'nizde Paperless-NGX çalışıyor olmalıdır.

Paperless, tüm kağıt belgelerinizi tek bir merkezi konumda dijitalleştirmek için harika, güçlü bir yazılımdır.

Paperless'ı Raspberry Pi'nizde çalışır hale getirme hakkında sorularınız varsa, aşağıya yorum bırakın.