Lightweight paperless-ngx alternative? - eviltoast

As much as I adore paperless-ngx for its UX, I hate it for its tech-stack. Idling it already uses 300 MB RAM, when changing a few metadata fields on a document it easily spikes to 700 oder 800 MB. That’s insane for the work it actually does. Is there anything more lightweight? All I need is metadata management and a gallery with filters and previews.

    • aksdb@feddit.deOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I wish there is a Go alternative.

      Exactly what I was wishing for. Or Rust. Don’t care. At least something that doesn’t eat resources for breakfast.

      I actually contemplated starting such a thing. But before I dive into another project I likely don’t finish, I was hoping for something out-of-the-box.

      • adr1an@programming.dev
        link
        fedilink
        English
        arrow-up
        5
        ·
        1 year ago

        Wasn’t this reported as a bug on their repo? Does anyone know why is it eating such an amount of ram? It might be that this can be fixed.

        • lckdscl [they/them]@whiskers.bim.boats
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 year ago

          I think all the RAM related issues were closed a while back and were supposedly fixed. I just don’t understand why when interfacing with the front-end, it uses so much it would get OOM kill itself with 1.5 GB allocated memory.

          Every page, as well as loading in the initial dashboard from an idle state, spikes the RAM. Are there no clever lazyloading happening or something? Surely viewing and modifying database entries can’t be this memory intensive?

          Maybe it’s just an unoptimized Python thing. I stopped self-hosting stuff written in Python, with the exception of Linkding (which takes a while to also submit a link) and Whoogle.

  • daco@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I use docspell and I find it great. I run it on VM on an old microserver running proxmox.

    There is also Mayan edms based on Django, but it has to many features for my use case.

    • aksdb@feddit.deOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      It looks like docspell might even be heavier than paperless-ngx, given that I need to spin up at least 3 JVMs. Thanks for mentioning it anyway; don’t get me wrong. But my current quest is for a lightweight solution.

      Current contender might be SeedDMS, but it’s a more generic DMS, not so much focused as paperless-ngx. I miss the gallery view, for example.

    • Lalaz4@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      So glad you mentioned Docspell! Just started getting into self-hosting and was looking into paperless-ngx though Docspell looks more geared toward what I want.

      • daco@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        I’m happy it helped.
        I tried many systems (paperless and it’s derivatives as well) and I found docspell is a lot easier to use and has all the features I need.

        • I can archive emails by moving them to a category and docspell converts it to pdf and saves it to the database.
        • I can choose a file system storage or a database storage. I chose database storage (Postgres, which is also the default) because is a lot easier to backup)
        • I love the way I can categorize the files by adding recipient and sender. That way I can filter all the files related to a specific person.
        • I can export all the files in a filter to a zip file.
        • I can batch edit.

        That as a summary :)

        My only recommendations are

        • to deploy it using a tag in docker and not using automatically the latest version. That way you are in control of the updates.
        • And always do database backups :) (using a tag in docker means you can always redeploy a specific version.