paperless-ngx
A community-supported supercharged version of paperless: scan, index and archive all your physical documents
Top Related Projects
Scan, index, and archive all of your paper documents
Quick Overview
Paperless-ngx is an open-source document management system that transforms physical documents into a searchable online archive. It allows users to scan, import, and organize their documents digitally, making it easier to find and manage important papers without the need for physical storage.
Pros
- Efficient document organization and searchability
- Automated OCR (Optical Character Recognition) for scanned documents
- Customizable tagging and metadata system
- Self-hosted solution for enhanced privacy and control
Cons
- Requires initial setup and maintenance
- Learning curve for new users
- Limited mobile app functionality compared to desktop version
- May require additional hardware (e.g., scanner) for optimal use
Getting Started
To get started with Paperless-ngx:
- Install Docker and Docker Compose on your system.
- Create a
docker-compose.yml
file with the following content:
version: "3.4"
services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
ports:
- 8000:8000
volumes:
- ./data:/usr/src/paperless/data
- ./media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
PAPERLESS_URL: http://localhost:8000
PAPERLESS_SECRET_KEY: changemelater
PAPERLESS_TIME_ZONE: America/New_York
- Run
docker-compose up -d
to start the Paperless-ngx container. - Access the web interface at
http://localhost:8000
and create an admin account. - Start importing documents by placing files in the
consume
directory or using the web interface.
For more detailed instructions and configuration options, refer to the official documentation at https://paperless-ngx.readthedocs.io/.
Competitor Comparisons
Scan, index, and archive all of your paper documents
Pros of Paperless
- Simpler architecture, potentially easier to set up for basic use cases
- Lighter resource requirements due to fewer features
- More stable and mature codebase, as it's the original project
Cons of Paperless
- Limited feature set compared to Paperless-ngx
- Less active development and slower updates
- Older user interface design
Code Comparison
Paperless (Python 3.6+):
from django.db import models
class Document(models.Model):
title = models.CharField(max_length=128)
content = models.TextField()
created = models.DateTimeField(auto_now_add=True)
Paperless-ngx (Python 3.7+):
from django.db import models
from django.utils.translation import gettext_lazy as _
class Document(models.Model):
title = models.CharField(_("Title"), max_length=128)
content = models.TextField(_("Content"))
created = models.DateTimeField(_("Created"), auto_now_add=True)
Paperless-ngx builds upon the original Paperless project, offering an enhanced feature set, more active development, and a modern user interface. It includes improvements like multi-user support, advanced search capabilities, and better document organization. However, it may require more resources and have a slightly more complex setup process compared to the original Paperless project.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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.
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)"
More details and step-by-step guides for alternative installation methods can be found in the documentation.
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.
Related Projects
Please see the wiki for a user-maintained list of related 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.
Top Related Projects
Scan, index, and archive all of your paper documents
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot