Code Monkey home page Code Monkey logo

paperless-ngx / paperless-ngx Goto Github PK

View Code? Open in Web Editor NEW
16.9K 16.9K 883.0 175.22 MB

A community-supported supercharged version of paperless: scan, index and archive all your physical documents

Home Page: https://docs.paperless-ngx.com

License: GNU General Public License v3.0

CSS 0.36% HTML 8.99% JavaScript 0.02% Shell 0.65% Python 51.19% Dockerfile 0.30% TypeScript 36.40% SCSS 2.10%
angular archiving django dms document-management document-management-system machine-learning ocr optical-character-recognition pdf

paperless-ngx's Introduction

ci Crowdin Documentation Status codecov Chat on Matrix demo

Paperless-ngx

Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.

Paperless-ngx is the official successor to the original Paperless & Paperless-ng projects and is designed to distribute the responsibility of advancing and supporting the project among a team of people. Consider joining us!

Thanks to the generous folks at DigitalOcean, a demo is available at demo.paperless-ngx.com using login demo / demo. Note: demo content is reset frequently and confidential information should not be uploaded.

This project is supported by:

Features

A full list of features and screenshots are available in the documentation.

Getting started

The easiest way to deploy paperless is docker compose. The files in the /docker/compose directory are configured to pull the image from GitHub Packages.

If you'd like to jump right in, you can configure a docker compose environment with our install script:

bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

Alternatively, you can install the dependencies and setup apache and a database server yourself. The documentation has a step by step guide on how to do it.

Migrating from Paperless-ng is easy, just drop in the new docker image! See the documentation on migrating for more details.

Documentation

The documentation for Paperless-ngx is available at https://docs.paperless-ngx.com.

Contributing

If you feel like contributing to the project, please do! Bug fixes, enhancements, visual fixes etc. are always welcome. If you want to implement something big: Please start a discussion about that! The documentation has some basic information on how to get started.

Community Support

People interested in continuing the work on paperless-ngx are encouraged to reach out here on github and in the Matrix Room. If you would like to contribute to the project on an ongoing basis there are multiple teams (frontend, ci/cd, etc) that could use your help so please reach out!

Translation

Paperless-ngx is available in many languages that are coordinated on Crowdin. If you want to help out by translating paperless-ngx into your language, please head over to https://crwd.in/paperless-ngx, and thank you! More details can be found in CONTRIBUTING.md.

Feature Requests

Feature requests can be submitted via GitHub Discussions, you can search for existing ideas, add your own and vote for the ones you care about.

Bugs

For bugs please open an issue or start a discussion if you have questions.

Affiliated Projects

Please see the wiki for a user-maintained list of affiliated projects and software that is compatible with Paperless-ngx.

Important Note

Document scanners are typically used to scan sensitive documents like your social insurance number, tax records, invoices, etc. Paperless-ngx should never be run on an untrusted host because information is stored in clear text without encryption. No guarantees are made regarding security (but we do try!) and you use the app at your own risk. The safest way to run Paperless-ngx is on a local server in your own home with backups in place.

paperless-ngx's People

Contributors

addadi avatar bastianpoe avatar bauerj avatar bmsleight avatar c0nsultant avatar dadosch avatar danielquinn avatar ddddavidmartin avatar dependabot[bot] avatar diveflo avatar erikarvstedt avatar gador avatar github-actions[bot] avatar jat255 avatar jonaswinkler avatar kpj avatar markschmitt avatar mhelleboid avatar ovv avatar p-h-a-i-l avatar paperlessngx-bot avatar pitkley avatar qcasey avatar shamoon avatar stumpylog avatar tido- avatar tooomm avatar transifex-integration[bot] avatar tribut avatar yschroeder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paperless-ngx's Issues

[Other] Adjustment of the Helm chart

There is a Kubernetes Helm chart in the k8s-at-home project here. I don't know who maintains this, but we should try and get it adjusted to use the new ghcr.io container line.

[Other] Strategy Request: Copying pending PRs

I do not like the idea of simply merging all 44 remaining PRs. Ideally those 44 PRs come over to this repo to be reviewed for conflicts, code quality, status checks, etc. before being merged/rejected.

I've started the oldest one (originating over two years ago!) at #2

My questions to anyone with an opinion:

  1. #2 is how I plan to do the other 43. Manually requesting a new PR from the contributor's branch into paperless-ngx:dev. Does that sound right?
  2. I did a little research and couldn't find an automated way of doing this. Is there something I'm missing? I don't mind doing it manually but would appreciate the hand from a robot too.

If I could get a couple opinions on this before starting, that would be great. After creating the PRs I'll tag in the relevant teams for review and testing.

[BUG] "File not found" after correctly consuming it

Describe the bug
After correctly consuming all 38 files I put in the consume folder, paperless generates a failed task for 22 of them saying it doesn't find them.

I added the files via webdav from the macOS Finder.

All the dropped files were correctly imported, I just have 22 useless failed task generating noise.

To Reproduce
Drop an "important" amount of files in the consume folder and watch it unfold. Important in my case being 38, but I also reproduced it with less although I didn't noted the amount.

Expected behavior
The files are imported and no failed task is generated after.

Screenshots
CleanShot 2022-02-27 at 08 32 57@2x

Webserver logs
Here is a sample from one failed task:

08:21:17 [Q] ERROR Failed [2021-07-23 facture.pdf] - 2021-07-23 facture.pdf: Cannot consume /usr/src/paperless/src/../consume/2021-07-23 facture.pdf: File not found. : Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/django_q/cluster.py", line 432, in worker
    res = f(*task["args"], **task["kwargs"])
  File "/usr/src/paperless/src/documents/tasks.py", line 74, in consume_file
    document = Consumer().try_consume_file(
  File "/usr/src/paperless/src/documents/consumer.py", line 195, in try_consume_file
    self.pre_check_file_exists()
  File "/usr/src/paperless/src/documents/consumer.py", line 86, in pre_check_file_exists
    self._fail(
  File "/usr/src/paperless/src/documents/consumer.py", line 70, in _fail
    raise ConsumerError(f"{self.filename}: {log_message or message}")
documents.consumer.ConsumerError: 2021-07-23 facture.pdf: Cannot consume /usr/src/paperless/src/../consume/2021-07-23 facture.pdf: File not found.

Relevant information

  • Host OS of the machine running paperless: Ubuntu 20.04 for the host, paperless runs in Docker
  • Browser: any
  • Version: 1.5.0 as per the footer, I'm currently running the latest paperless-ngx docker image.
  • Installation method: docker
  • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf: none relevant.

[Other] Allow access to webhooks for readthedocs

I recently set up the readthedocs site. Unfortunately, I don't have access to the webhooks settings of the project.
I requested access to it from the project owner. When granted, the docs will automatically update.
Also we should change some items in https://github.com/paperless-ngx/paperless-ngx/blob/master/docs/conf.py
(namely project = u'Paperless-ng' and copyright = u'2021, Daniel Quinn, Jonas Winkler')

Should we just add paperless-ngx team to it?

[BUG] Changing the Document Title works not properly

At first thank you for this awesome community-project. I will contribute by testing new releases.

Describe the bug
When I edit the title of a document, some letters disapers while typing and the cursor jumps very often to the right by navigating with the arrow keys on the keyboard.

To Reproduce
Steps to reproduce the behavior:

  • Edit a Document and change the title. Change more than 4 or 5 letters.
  • Some new title letters disapers while editing the title.
  • Reproduced in latest Firefox and MS Edge

Expected behavior
The title can be edit without missing letters.

Screenshots
I can make a quick video from this, but the bug is very obvious.

Webserver logs

It's a frontend bug.

Relevant information

  • Host OS of the machine running paperless: [e.g. Debian, OVM5]
  • Browser Firefox, Edge
  • Version 1.6.0-beta
  • Installation method: docker
  • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf: Official beta Image.

[BUG] Warning executing compile-frontend.sh

Describe the bug
To generate a production version of src-ui, while executing compile-frontend.sh it shows a warning related with the --prod deprecated flag.

It basically needs to be replaced with "--configuration production"

[Other] Problem starting docker container

Hi,

I am currently using following docker image: jonaswinkler/paperless-ng:latest
Now I wanted to replace it by an selfbuild image from this repo.
I changed my docker-compose.yaml to following:

version: "3.4"
services:
  broker:
    image: redis:6.0
    restart: unless-stopped

  db:
    image: postgres:13
    restart: unless-stopped
    volumes:
      - ./pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    build: ./build
    restart: unless-stopped
    depends_on:
      - db
      - broker
    expose:
        - "8000"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000"]
      interval: 30s
      timeout: 10s
      retries: 5
    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
      - PAPERLESS_DBHOST=db
      - VIRTUAL_HOST=mydomain
      - LETSENCRYPT_HOST=mydomain
      - LETSENCRYPT_EMAIL=mymail
      - VIRTUAL_PORT=8000
      - HTTPS_METHOD=redirect
    networks:
      - proxy-tier
      - default

networks:
    proxy-tier:
        external:
            name: proxy-tier

But after I started this setup, I get following message (with the docker hub image it runs):
Web-Browser:
image

Console:

webserver_1  | 12:22:56 [Q] INFO Q Cluster orange-massachusetts-foxtrot-william starting.
webserver_1  | 12:22:56 [Q] INFO Process-1:1 ready for work at 61
webserver_1  | 12:22:56 [Q] INFO Process-1:2 ready for work at 62
webserver_1  | 12:22:56 [Q] INFO Process-1:3 monitoring at 63
webserver_1  | 12:22:56 [Q] INFO Process-1 guarding cluster orange-massachusetts-foxtrot-william
webserver_1  | 12:22:56 [Q] INFO Process-1:4 pushing tasks at 64
webserver_1  | 12:22:56 [Q] INFO Q Cluster orange-massachusetts-foxtrot-william running.
webserver_1  | 2022-02-25 11:22:57,541 INFO success: consumer entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webserver_1  | 2022-02-25 11:22:57,541 INFO success: gunicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
webserver_1  | 2022-02-25 11:22:57,542 INFO success: scheduler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

T

[Other] Documentation Updates

I think it would be important to comb over the documentation to make it as effective as possible.

This is a running list of planned doc changes:

  • Consolidate the "Contributing" instructions. Right now someone wanting to contribute would read any of contributing.rst, extending.rst, and CONTRIBUTING.md #462
    • Removing contributing.rst (CONTRIBUTING.md integrates better with github)
    • Moving technical details of now removed contributing.rst into extending.rst
    • Better linking to extending.rstfrom CONTRIBUTING.md
    • Add translation instructions to CONTRIBUTING.md #108
  • Clarify the effect of docker volumes on config: #153 (comment)
  • In administration, verify backup strategies and include note about docker volumes vs host mounts #153
  • Emphasize importance backups in install guide, link to relevant docs.
  • Copy docs from configuration.rst to paperless.conf.example #99
  • Move "Migrating from Paperless to Paperless-ng" from README.md to docs #147 (comment)
  • Use "script" and "systemd unit" consistently #18
  • Beta Test Plan: list of things to try and a way to report results for thorough release testing

As issues from users start to pour in after #98 I imagine there will be more changes to make. Please let me know if there are more changes to add/discuss.

[BUG] Password reset after docker container restarted

Copy from old repository: jonaswinkler/paperless-ng#1511

Describe the bug
I deployed Paperless-NG in TrueNAS via the TrueCharts integration. TrueCharts uses the official docker container and passes environment variables to configure the superuser.

I changed the admin password in the Django admin interface. However, after redeploying the application (for example due to an update) the password gets overridden by the initial password passed via environment variable.

To Reproduce
Steps to reproduce the behavior:

  1. Deploy Paperless with credentials admin//secret
  2. Open Paperless
  3. Navigate to admin interface
  4. Change password to "mysupersecretpassword"
  5. Restart/update the docker container
  6. Navigate to Paperless and try to login with admin/mysupersecretpassword
  7. You can't login.

Expected behavior
The admin password should not be overridden by the initial password.

Relevant information

  • Version
  • Installation method: docker
  • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf. -

I think this is related to the admin user password reset when the docker container is started:
docker-entrypoint.sh calls docker-prepare.sh calls the manage_superuser mgmt command and there the password is updated:
https://github.com/jonaswinkler/paperless-ng/blob/master/src/documents/management/commands/manage_superuser.py#L29

Am I missing something?

[Other] molecule/ansible checks are broken

Currently the ansible/molecule checks done on commits are broken.
Issue I have found so far:

  • APIs seem to have moved on and some manifests are not compatible anymore
  • Many places in the scripts refer to jonaswinklers repository
  • The release/checkout logic is currently broken

[Other] Update example config to match the documentation

The current example config is just a full fetched config file with every possible configuration.
We should add some short information to each important part (or even config) so the user doesn't need to open the "big" documentation for each little change.

Especially the upcoming LDAP part should get some line-by-line doc to make each config entry more clearer.

[BUG] 1.6.0 Beta Bug

Describe the bug
Editing a document, removing a tag using the delete icon next to it doesn't activate the save button

To Reproduce
Steps to reproduce the behavior:

  1. From the main "documents" section, enter editing any document with tags assigned
  2. Remove a tag using the specific delete icon to the left of the tag
  3. None of the bottom action buttons activate (discard, save & next, save)

Screenshots
image

Relevant information

  • I've noticed that if you enter to edit a document and refresh the page, the "save & next" button is not present anymore. After refreshing the page, deleting a tag activates the action buttons and every works as expected.

[other] manifest unknown when pulling "latest"

When using the updated docker compose files referencing this repository

I get the following error: Pulling webserver (ghcr.io/paperless-ngx/paperless-ngx:latest)... manifest unknown.

[Other] Custom Color

Hi,

First of all, thank you for taking over the project.

With a Docker installation, do you have a suggestion to modify the css a bit, especially the primary color?

Thks

Matrix Bot

Now that we have a Matrix chat room, would it make sense to install a bot that notifies us about new PRs there?

Please vote 👍/👎 to show if you want this or not.

[Other][Migration] Collaboration with ngx team and community

Taking to an issue to track the ngx team and community views. There are a few options, some which are in place now for communication with the team/community.

We currently have:

  • GitHub Discussions
  • Matrix

A proposed way to communicate with the community in a simpler manner is also by having a paperless-ngx Discord server which allows for more real time interaction with community as well as allowing the community to interact with each other more. This is usually seen as a simpler way for general users to interact and provides more flexibility than the current Matrix or Github solutions.

Looking for feedback from the team on this.

[Bug] Docker Build armv7 fails

The problems with the armv7 build exists because there's no wheel package for pikepdf on armv7.
That leads to the package being compiled
pikepdf depends on qpdf > 10.3 whereas debian bullseye only provides v10.1. That leads to a compile error due to missing headers files.

I've created a stripped down workflow tring to solve the problem yesterday and the last run just when i felt asleep has been successfull.
The major change has been to compile a recent qpdf version manually.

The workflow can be seen at: https://github.com/schnuffle/paperless-ngx/tree/ci-fix

If there's interest in integrating the changes i can extract them and create a PR. Though we'll need to build the armv7 image differently from the other plattforms

Regards

Schnuffle

Filtering for correspondents / tags / doc types only works on page 1

Steps to reproduce

  1. Open "Correspondents page"
  2. Go to page 2
  3. Enter name of correspondent in filter field
  4. Press return

Expected behaviour:

Correspondent is shown

Actual behaviour:

Nothing happens

More information

The frontend requests /api/correspondents/?page=2&name__icontains=something to which the backend responds with "Invalid page". Indeed, when filtering for "something" only a single correspondent matches, so there is no page 2.

The frontend should probably drop the page from the query when filtering there.

This happens in 1.6.0-beta / #213

[Other] Migration tasks

  • rename repository to paperless-ngx
  • docker registry (use github registry?)
  • readthedocs
  • translations (crowdin)
  • chat/gitter
  • update readme with locations and some infos about the fork
  • dependabot
  • Coveralls
  • Codacity
  • Dissemination of new project: see #98

[Enhancement] Split docker image build into base image and application image

For the moment, the job build-docker-image in ci.yml takes some hours.

The reason:

  • The whole container is rebuild everytime it runs
  • The 2 components jbig2enc and pikepdf ( only arm ) get rebuild for every new build, though there're no changes

A possible Solution:

Seperate the docker build into 2 stages:

  • Build the base image with all deps only when there has been changes
  • Base the final image on the base image

I've started a POC in my fork and will report if there's any progress

Regards

Schnuffle

[Other] Dissemination of paperless-ngx (upon first new release)

Just wanted to create a list of places to consider announcing this project when the first release is ready.

Anywhere else people can think of?

[BUG] Unicode characters are not formatted properly in Content-Disposition field, causes issues in firefox

Describe the bug
When the filename of the file that you try to download from paperless contains UTF-8 characters after formatting, firefox will not able to properly format the resulting filename, causing issues when saving and trying to preview it.

Related issue in original repository jonaswinkler/paperless-ng#838

To Reproduce
Steps to reproduce the behavior:
0. Use Firefox

  1. Create a new document in paperless
  2. Create correspondent with UTF-8 characters like "Urząd Gorzów Document"
  3. Assign the correspondent to the newly created document
  4. Attempt to download the file
  5. File will be saved as .pdf instead of proper name

Expected behavior
File should save as Urząd Gorzów Document.pd

Screenshots
image

Webserver logs
There is no error in logs.

Relevant information

  • Linux - Manjaro
  • Firefox
  • 96.0.3 (64-bit)
  • Installation method: docker
  • Default configuration

[BUG] Install script creates unneeded named volumes

Describe the bug
When using the install script and providing a dedicated path for one of the volumes data, media or pgdata, the resulting compose file still contains these volumes under the volumes: section.
This results in unused volumes with the names paperless_data, paperless_media, paperless_pgdata
I would assume we have to remove the volume name under volumes: section in case the user selected a dedicated path for one of them.

To Reproduce
Steps to reproduce the behavior:
use install script and provide a path for either data, media or pgdata
after complete installation check with:
docker volume ls -f dangling=true

Expected behavior
unneeded volumes should not be created

Screenshots
If applicable, add screenshots to help explain your problem.

Webserver logs

If available, post any logs from the web server related to your issue.

Relevant information

  • Host OS of the machine running paperless: [Ubuntu 20.04]
  • Browser [chrome]
  • Version [1.5.0 paperless-ngx dev branch]
  • Installation method: [docker]

[Docker] Database gone

Hello,

I re-created my setup, which uses the docker image, because of a filesystem corruption of the drive that contained my Images.
As on this drive I only have my docker images, I did not have a backup - and I think that was a right choice.
So, I created the image newly by running docker-compose up -d

But unfortunately, all documents are gone now.
I think, this is due to:

  db:
    image: postgres:13
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

So the database is stored only in a docker volume and not stored where I have my other docker-data stored.
Is this a wise choice?
Would it not be better to remark in the documentation, in addition to:

Replace the part BEFORE the colon with a local directory of your choice:

- /home/jonaswinkler/paperless-inbox:/usr/src/paperless/consume

To do the same for the database?

Any recommendations how to start over now?
Would I just move all files from paperless_ng_media\documents\archive to consume?

Best regards,
Hendrik

Best regards,
Hendrik

[Feature] Add rotate to Bulk Edit

Sometimes the OCR recognition doesn't get it right and documents come out upside down. In my case, there are a lot of documents upside down. It would be nice to add an option to the already existing bulk edit functionality to rate the documents.

image

I looked at how the front-end has this implemented and feel comfortable enough adding it there. Now the backend would need to expose an additional bulk operation, but it should be doable and I think I could add it there too

Are you accepting new features? Let me know your thoughts :)

[BUG] Fresh install from ghcr.io doesn't build frontend

Just created a new docker-compose based install with postgres.
in the docker-compose.env file I set
PAPERLESS_OCR_LANGUAGES=hun
PAPERLESS_OCR_LANGUAGE=hun
Placed it to port 7777 because port 8000 is already used.
Created superuser as described in the documentation. This went fine.

The login screen appears just fine.
Login successfull but after that "nothing".
The page source says: "Paperless-ng is loading..."

[BUG] document_exporter does not export the user groups

the document exporter does not export the user groups as well. These are missing in the manifest.json. There is no entry of the model auth.group.

For the exported users, however, the group ID numbers are exported as well.

  {
    "model": "auth.user",
    "pk": 3,
    "fields": {
      "password": "...",
      "last_login": "2022-02-23T22:32:02Z",
      "is_superuser": false,
      "username": "TestUser",
      "first_name": "TestUser",
      "last_name": "TestUser",
      "email": "[email protected]",
      "is_staff": true,
      "is_active": true,
      "date_joined": "2022-02-23T22:28:51Z",
      "groups": [
        1
      ],
      "user_permissions": []
    }
  },

Since the stored user groups are unknown to the document_importer, an error occurs during the import.

	sudo docker-compose exec -T webserver document_importer ../export
	Traceback (most recent call last):
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 82, in _execute
		return self.cursor.execute(sql)
	psycopg2.errors.ForeignKeyViolation: insert or update on table "auth_user_groups" violates foreign key constraint "auth_user_groups_group_id_97559544_fk_auth_group_id"
	DETAIL:  Key (group_id)=(1) is not present in table "auth_group".


	The above exception was the direct cause of the following exception:

	Traceback (most recent call last):
	  File "/usr/src/paperless/src/manage.py", line 11, in <module>
		execute_from_command_line(sys.argv)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
		utility.execute()
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 413, in execute
		self.fetch_command(subcommand).run_from_argv(self.argv)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 354, in run_from_argv
		self.execute(*args, **cmd_options)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
		output = self.handle(*args, **options)
	  File "/usr/src/paperless/src/documents/management/commands/document_importer.py", line 78, in handle
		call_command("loaddata", manifest_path)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/__init__.py", line 181, in call_command
		return command.execute(*args, **defaults)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/base.py", line 398, in execute
		output = self.handle(*args, **options)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 78, in handle
		self.loaddata(fixture_labels)
	  File "/usr/local/lib/python3.9/site-packages/django/core/management/commands/loaddata.py", line 131, in loaddata
		connection.check_constraints(table_names=table_names)
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/postgresql/base.py", line 285, in check_constraints
		cursor.execute('SET CONSTRAINTS ALL IMMEDIATE')
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 66, in execute
		return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers
		return executor(sql, params, many, context)
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 84, in _execute
		return self.cursor.execute(sql, params)
	  File "/usr/local/lib/python3.9/site-packages/django/db/utils.py", line 90, in __exit__
		raise dj_exc_value.with_traceback(traceback) from exc_value
	  File "/usr/local/lib/python3.9/site-packages/django/db/backends/utils.py", line 82, in _execute
		return self.cursor.execute(sql)
	django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table "auth_user_groups" violates foreign key constraint "auth_user_groups_group_id_97559544_fk_auth_group_id"
	DETAIL:  Key (group_id)=(1) is not present in table "auth_group".

	ERROR: 1

After deleting the user group, the import is completed successfully. However, this cannot be the solution.

The backup function via the document_exporter, as well as the import via the document_importer must be working, so that a regular complete backup of the dataset can be performed, which can also be successfully imported later.

The backup of the database files is a simple and good way, but is not 100% safe. Especially if the database version and therefore the database files change.

[Other] Use a named volume for broker

Hi all,

I am a fan to keep the volumes well organized. Though there are already three Docker volumes defined there is a new volume with a hashkey popping up in a regular manner.

Is there a way to name the volume properly that the volumes are not messed up?

Thanks
Screenshot 2022-02-20 at 16 38 42
Screenshot 2022-02-20 at 16 38 52

[BUG] Auto-detected date is day before receipt date

Describe the bug
When the system automatically detects the date on the receipt, the "Date Created" field is set to the day before.

To Reproduce
Steps to reproduce the behavior:

  1. Have system timezone set to UTC-6
  2. Scan document that has approved date type
  3. See that date is day before date in receipt.

Expected behavior
Date should be exact date on receipt.

Webserver logs
N/A

Relevant information

  • Host OS of the machine running paperless: Docker/Ubuntu 18.04
  • Browser: Chrome
  • Version 1.5.0
  • Installation method: docker
  • Any configuration changes:
PAPERLESS_TIME_ZONE=America/Chicago
PAPERLESS_DATE_ORDER=MDY

[BUG] Upload progress on startpage will be not updated

Describe the bug
After a upload via webinterface the document upload progress will be updated. The document is uploaded sucessfully. Only the frontend upload progress is not updated.

To Reproduce
Steps to reproduce the behavior:

  1. Upload an document, for example a pdf file, via the webinterface on the startpage
  2. The document will be uploaded successfull, but the progess is not updated.

Expected behavior
The upload screen will be updated.

Screenshots
2022-03-06 11_12_29-Startseite - Paperless-ngx – Microsoft​ Edge

Webserver logs

If available, post any logs from the web server related to your issue.

Relevant information

  • Host OS of the machine running paperless: Debian on Docker / OVM5
  • Browser Edge
  • Version 1.6.0-beta
  • Installation method: docker
  • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf.

[Other] Unforking paperless-ngx

It's been discussed to "un-fork" this repo, detaching it in Github's UI from jonaswinkler's.

This would have a number of benefits:

  1. Show branches' commit status against our own (X commits ahead of YY).
  2. Remove the "fetch upstream" button.
  3. PRs would target our dev instead of Jonas' by default.
  4. Github code search feature would function.

From @dblitt in chat:

This process seems to be one way, so I won't push to do this immediately, but I will note the above benefits and the fact that jonaswinkler/paperless-ng isn't a GH fork itself.

I believe the only downside is that we won't be listed on the list of forks of paperless-ng and we won't have the badge saying "forked from jonaswinkler/paperless-ng"

The process seems simple enough here: https://ralphjsmit.com/unfork-github-repo/

I suggested this should be done once we're recognized as the successor project (i.e. #98). Are there any objections to that plan?

Translation of Paperless-ngx

The following text is based on the translation issue from Paperless-ng: jonaswinkler/paperless-ng#212.

In an effort to provide Paperless-ngx in multiple languages, there is a translation project at Crowdin, which is free for open source projects.

https://crowdin.com/project/paperless-ngx

If you want to see Paperless-ngx in your own language, please help out! The project page shows the status of the current languages. If you want a new language added to the project, mention @shamoon in this issue, he will add it to Crowdin.

Some notes about translation

  • There are two resources. src-ui/messages.xlf contains the translation strings for the front end. This is important. django.po contains strings for the administration section of paperless, which is nice to have translated but not critical.
  • Keep in mind that most of these strings are used on buttons, menu items, etc. The translated string should therefore not be much longer than the English original.
  • Translation units may contain placeholders. These usually mean that there's a name of a tag or document or something in the string. You can click on the placeholders to copy them.
  • Translation units may contain plural expressions such as {PLURAL_VAR, plural, =1 {one result} =0 {no results} other { results}}. Copy these verbatim and translate only the content in the inner {} brackets. Example: {PLURAL_VAR, plural, =1 {Ein Ergebnis} =0 {Keine Ergebnisse} other { Ergebnisse}}
  • Changes to translations at Crowdin will get pushed into the repository automatically.

[BUG] False "Unsupported mime type inode/x-empty" alarm

Describe the bug
I'm dropping files to the consume folder via webdav from the macOS Finder. It looks like the file is initially created empty then filled with its data, under the same name.
Paperless is too eager to do its job well and immediately detects the file and tries to load it, when it's still empty.
It then complains it can't load the file with the following error message in a failed task :

08:08:21 [Q] ERROR Failed [2021-09-28 facture.pdf] - 2021-09-28 facture.pdf: Unsupported mime type inode/x-empty : Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/django_q/cluster.py", line 432, in worker
    res = f(*task["args"], **task["kwargs"])
  File "/usr/src/paperless/src/documents/tasks.py", line 74, in consume_file
    document = Consumer().try_consume_file(
  File "/usr/src/paperless/src/documents/consumer.py", line 209, in try_consume_file
    self._fail(
  File "/usr/src/paperless/src/documents/consumer.py", line 70, in _fail
    raise ConsumerError(f"{self.filename}: {log_message or message}")
documents.consumer.ConsumerError: 2021-09-28 facture.pdf: Unsupported mime type inode/x-empty

The file is quickly loaded after its data are filled so paperless still ingests the correct file a short moment after.

To Reproduce
Drop a file to the consume folder via webdav.

Expected behavior
Don't try to ingest the file when it's still empty, give it some time. Don't generate a failed task for this.

Screenshots
CleanShot 2022-02-27 at 08 33 14@2x

Webserver logs
See above.

Relevant information

  • Host OS of the machine running paperless: Ubuntu 20.04 for the host, paperless runs in Docker
  • Browser: any
  • Version: 1.5.0 as per the footer, I'm currently running the latest paperless-ngx docker image.
  • Installation method: docker
  • Any configuration changes you made in docker-compose.yml, docker-compose.env or paperless.conf: none relevant.

[Vote] Repo Name Change to "paperless-ngx"

It's been suggested to change this repo's name to paperless-ngx (same as the organization) to prevent confusion with Jonas' upstream if/when people come to migrate.

Please vote 👍 if you like this idea, 👎 if you do not.

I'm open to any relevant suggestions or comments. I'll leave this open for a day or two before starting #3

[Other] Code formatting using `black` (and more)

It does currently not seem like paperless-ng(x) is following any particular coding style.

In order to keep everything uniform and prevent certain kinds of discussion, I'd suggest formatting all Python code with black.
As a next step, one could format the TypeScript code using, e.g. prettier. And linting with, e.g. flake8 might also be a good idea.

What do you guys think? I'd be happy to create a PR and then also add code formatting tests to our GitHub Actions workflows.

[BUG] 1.6.0-rc1 Filter indicator on Correspondent and Document types not showing a number

Describe the bug
The indicator on the filter Buttons is not showing a number on the Correspondent and Document types after slecting something. For the Tags it displays the selected number of Tags.
Bildschirmfoto 2022-03-07 um 21 28 04

To Reproduce
Steps to reproduce the behavior:

  1. Go to Documents
  2. Click on Correspondent or Document types
  3. Select one item
  4. Number indicator on filter button will not show a number

Expected behavior
The Indicator circle should have the number in it. In 1.4.5 it was working this way.
Bildschirmfoto 2022-03-07 um 21 32 37

Webserver logs
no, not that i know.

Relevant information

  • Host OS: Raspbian 10
  • Browser: Firefox
  • Version: 1.6.0-rc1
  • Installation method: docker
  • Any configuration changes: no, same as 1.4.5

[Other] Get rid of ngx-bootstrap

We have two libraries for using Bootstrap with Angular: @ng-bootstrap/ng-bootstrap and ngx-boostrap. We should remove ngx-bootstrap in favor of the other library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.