Paperless-ngx: 나만의 검색 가능한 문서 아카이브를 만드는 방법
계약서에 중요한 금액이 적혀 있었다는 것은 기억나지만, 파일 이름은 scan_2024_03_17.pdf이고 비슷한 파일 수백 개 사이에 섞여 있습니다. 일반 파일 관리자는 이름으로만 검색하지만, 필요한 단어는 스캔 이미지 안에 들어 있습니다.
Paperless-ngx는 이 문제를 해결합니다. PDF, 영수증 사진 또는 이메일 첨부 파일을 올리면 서비스가 텍스트를 인식하고 색인을 만든 뒤 흩어진 파일을 하나의 아카이브로 정리합니다. 이후에는 성, 주소, 계좌 번호 또는 페이지 안의 어떤 문구로도 문서를 찾을 수 있습니다.
Paperless-ngx란 무엇인가
Paperless-ngx는 무료 오픈 소스 문서 관리 시스템입니다. 자신의 서버에 설치해 여러 출처의 파일을 받아들이고, OCR을 수행하며, 문서 내용으로 검색할 수 있게 해 줍니다.
하나의 경직된 폴더 구조 대신 발신처, 문서 유형, 태그, 날짜, 사용자 정의 필드, 저장 규칙을 사용합니다. 덕분에 2026년 전기 요금 청구서, 특정 아파트와 관련된 문서 또는 곧 만료되는 보증서를 몇 초 만에 표시할 수 있습니다.
Paperless-ngx가 일반 폴더보다 나은 이유
문서가 적고 자신이 정한 이름 규칙을 기억하는 동안에는 폴더도 잘 작동합니다. 몇 년이 지나면 문서, 스캔, 새 파일, 정리할 것 같은 디렉터리가 생기고, 필요한 파일을 찾기 어려워집니다.
| 일반 폴더 | Paperless-ngx |
|---|---|
| 파일 이름으로 검색 | 문서 내부 텍스트 검색 |
| 파일 하나당 폴더 하나 | 여러 태그와 속성 사용 |
| 수동으로 이름 지정 및 분류 | 메타데이터 자동 지정 |
| 첨부 파일을 직접 저장해야 함 | 이메일에서 가져오기 |
| 스캔본은 이미지로 남음 | OCR로 텍스트 검색 가능 |
어느 디렉터리에 저장했는지 기억하려고 애쓰는 대신, 문서 속 단어 하나만 기억하면 됩니다.
Paperless-ngx가 파일을 처리하는 방식
파일을 업로드하면 서비스는 다음 작업을 수행합니다.
- 원본 파일을 저장합니다.
- 기존 텍스트를 추출하거나 OCR을 시작합니다.
- 필요한 경우 보존용 PDF 버전과 미리 보기를 만듭니다.
- 내용을 전체 텍스트 색인에 추가합니다.
- 규칙을 적용하고 발신처, 유형, 태그, 저장 경로를 제안합니다.
처음에는 업로드와 검색만 사용하고, 자동화는 나중에 추가해도 됩니다.
Paperless-ngx의 가장 유용한 기능
스캔본 내부 검색
OCR 처리 후에는 주소로 계약서를 찾고, 고객 번호로 청구서를 찾으며, 기기 모델명으로 영수증을 찾을 수 있습니다. 예를 들어 “중도 해지”를 검색하면 원본 PDF가 이미지로만 구성되어 있어도 해당 문구가 들어 있는 문서가 표시됩니다.
인식 품질은 스캔 상태에 따라 달라집니다. 반듯하고 대비가 높은 페이지는 어둡고 비스듬히 찍은 사진보다 더 잘 인식됩니다. 러시아어와 영어가 섞인 아카이브라면 두 OCR 언어를 모두 설치하는 것이 중요합니다.
자동 분류
Paperless-ngx는 새 문서를 이미 정리한 문서와 비교할 수 있습니다. 같은 공급자의 청구서 몇 장을 직접 분류하면, 서비스가 이후 파일에 동일한 발신처, 유형, 태그를 제안하도록 학습합니다.
엄격한 처리 논리가 필요할 때는 텍스트, 파일 이름, 출처 또는 업로드 폴더를 기준으로 규칙을 만들 수 있습니다.
이메일에서 가져오기
서비스는 IMAP을 통해 메일함을 확인하고 규칙에 따라 메시지를 처리할 수 있습니다. 예를 들어 특정 공급자가 보낸 PDF 첨부 파일만 가져와 아카이브로 보내고, 이후 이메일을 읽음으로 표시하거나 다른 폴더로 옮길 수 있습니다.
청구서가 받은편지함에 계속 쌓이지 않고 스캔 문서와 함께 검색됩니다.
워크플로, 필드 및 저장된 보기
워크플로는 문서가 업로드, 추가, 변경될 때 또는 일정에 따라 작업을 실행합니다. 소유자를 지정하고, 태그를 추가하며, 유형과 저장 경로를 선택할 수 있습니다.
사용자 정의 필드를 이용하면 아카이브를 작은 데이터베이스처럼 활용할 수 있습니다. 계약서에는 만료일을, 청구서에는 금액과 납부 기한을, 장비에는 일련번호를 저장할 수 있습니다. 저장된 보기에서는 예를 들어 “결제 필요” 또는 “이번 달 보증 만료” 목록을 표시할 수 있습니다.
바코드를 이용한 일괄 스캔
Paperless-ngx는 바코드를 이용해 하나의 큰 스캔 파일을 여러 문서로 나눌 수 있습니다. 종이 사이에 구분 페이지를 넣거나 각 문서의 첫 장에 ASN 코드를 붙일 수 있습니다.
ASN은 디지털 사본과 종이 원본을 연결하는 아카이브 일련번호입니다. 많은 양의 종이를 한꺼번에 디지털화할 때 편리합니다.
문서 버전과 선택형 AI
Paperless-ngx 3.x 계열에는 문서 버전, 공동 접근을 위한 링크 모음, 내장 AI 기능이 추가되었습니다. 모델을 연결하면 서비스가 메타데이터를 제안하고 문서에 관한 질문에 답할 수 있습니다.
핵심 기능에는 AI가 필요하지 않습니다. OCR, 검색, 규칙, 태그, 이메일 가져오기는 AI 없이 작동합니다. 외부 AI API를 사용하면 일부 텍스트가 서버 밖으로 전송될 수 있고, 로컬 모델은 더 많은 자원을 요구합니다.
Paperless-ngx가 적합한 사용자
개인 및 가족 아카이브: 계약서, 보험 증권, 명세서, 보증서, 영수증, 주거 관련 문서, 기기 설명서.
프리랜서와 소규모 사업자: 청구서, 검수 문서, 계약서, 지출 자료, 거래처와의 서신. 이메일 가져오기는 수작업을 줄이고, 접근 권한은 사용자 간 문서 공유를 가능하게 합니다.
행정 업무: 원본 증빙의 빠른 검색, 공급자 및 기간별 필터링, 미처리 파일 대기열 관리.
Paperless-ngx는 회계 프로그램, 전자 서명 또는 기업용 ECM 시스템을 대체하지 않습니다.
Paperless-ngx에 필요한 서버 사양
부하는 페이지 수, 스캔 품질, 업로드 빈도, 추가 구성 요소에 따라 달라집니다. 시작할 때는 다음과 같은 실용적인 기준을 사용할 수 있습니다.
| 사용 시나리오 | CPU | RAM | 디스크 |
|---|---|---|---|
| 개인 아카이브 | 2 vCPU | 2 GB | NVMe 30–50 GB 이상 |
| 가족 또는 소규모 팀 | 2–4 vCPU | 4 GB | NVMe 60–100 GB 이상 |
| 대량 문서, Office 파일, 로컬 AI | 4 vCPU 이상 | 8 GB 이상 | 아카이브 용량에 여유 공간 추가 |
성능이 낮은 서버에서도 인터페이스는 정상적으로 작동할 수 있지만, 큰 문서의 OCR은 느려집니다. Word, Excel 및 기타 오피스 형식을 처리하는 Tika와 Gotenberg도 메모리 사용량을 늘립니다.
디스크 용량은 여유 있게 계산해야 합니다. 원본 외에도 보존용 버전, 미리 보기, 색인, 데이터베이스, 임시 파일이 저장될 수 있습니다. 백업을 위한 별도 공간도 필요합니다.
Docker로 VPS에 Paperless-ngx 설치하기
가장 간단하면서 공식적으로 지원되는 방법은 Docker Compose입니다. Linux 서버, Docker Engine, Compose 플러그인이 필요합니다.
공식 프로젝트는 대화형 설치 프로그램을 제공합니다.
bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"설치 디렉터리, 데이터베이스, 포트, OCR 언어, 추가 구성 요소, 관리자 계정을 묻고 나서 Compose 구성을 만들고 컨테이너를 시작합니다.
운영 서버에서는 먼저 스크립트를 내려받아 내용을 확인하는 편이 더 안전합니다.
curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh \
-o install-paperless-ngx.sh
less install-paperless-ngx.sh
bash install-paperless-ngx.sh설치 디렉터리에서 다음 명령으로 시작 상태를 확인할 수 있습니다.
docker compose ps
docker compose logs -f webserver러시아어와 영어 OCR에는 보통 rus+eng를 지정하고, Docker에 추가 언어 데이터 rus eng를 설치합니다.
애플리케이션의 내부 포트를 인터넷에 직접 공개하지 마십시오. 리버스 프록시를 통해 도메인을 연결하고 HTTPS를 활성화한 뒤 불필요한 포트를 닫으십시오. 개인 아카이브라면 VPN을 통해서만 접근하도록 제한하는 것이 더 안전합니다.
tropic.host VPS에서 Paperless-ngx 운영하기
소규모 아카이브에는 2 vCPU, 2–4 GB RAM, NVMe 디스크를 갖춘 VPS가 적합합니다. tropic.host에서 Ubuntu를 배포하고 Docker를 설치하면, 집에 NAS를 두지 않아도 컴퓨터와 휴대전화에서 Paperless-ngx에 접근할 수 있습니다.
VPS는 24시간 작동하므로 서비스가 정기적으로 이메일 첨부 파일을 가져올 수 있습니다. 다만 문서에는 개인 정보가 포함되는 경우가 많으므로 HTTPS 또는 VPN, SSH 키, 제한적인 방화벽, 독립적인 백업을 사용해야 합니다.
보안 및 백업
Paperless-ngx는 문서용 종단 간 암호화를 기본 제공하지 않습니다. 서버, Docker 볼륨 또는 백업에 대한 전체 접근 권한이 있는 사용자는 아카이브를 읽을 가능성이 있습니다.
최소한 다음 조치를 적용해야 합니다.
- 신뢰할 수 있는 인프라에만 서비스를 배치합니다.
- 시스템과 컨테이너를 업데이트합니다.
- SSH 접근을 키 인증으로 제한합니다.
- 암호화된 사본을 주 서버 밖에 보관합니다.
- 복구 절차를 정기적으로 테스트합니다.
이전과 백업에는 내장된 document_exporter를 사용할 수 있습니다.
docker compose exec webserver document_exporter ../export내보낸 디렉터리는 다른 장치나 독립된 저장소로 복사해야 합니다. 같은 VPS에 둔 사본은 디스크 손상, 실수로 인한 삭제 또는 접근 권한 상실로부터 보호해 주지 못합니다.
Paperless-ngx를 설치할 가치가 있는가
Paperless-ngx는 문제가 파일 저장이 아니라 파일 찾기로 바뀌었을 때 유용합니다. 스캔본, 첨부 파일, 이름을 알아보기 어려운 PDF를 내용으로 검색할 수 있고 일관된 규칙으로 처리되는 아카이브로 바꿉니다.
처음에는 서비스를 설치하고 OCR 언어를 설정한 뒤 첫 파일을 업로드하는 것만으로 충분합니다. 태그, 이메일 가져오기, 워크플로, 바코드, AI 기능은 명확한 반복 작업이 생겼을 때 추가하는 것이 좋습니다.
FAQ
Paperless-ngx를 무료로 사용할 수 있나요?
네. 오픈 소스 프로젝트입니다. 비용은 하드웨어, VPS, 도메인 또는 외부 서비스에만 발생합니다.
Paperless-ngx가 러시아어 텍스트를 인식할 수 있나요?
네. OCR은 Tesseract의 rus 언어 패키지를 사용합니다. 여러 언어가 섞인 아카이브에는 보통 rus+eng를 설정합니다.
OCR 후 원본 파일이 삭제되나요?
아니요. 원본 파일은 보존됩니다. 설정에 따라 별도의 보존용 PDF 버전이 함께 생성될 수 있습니다.
휴대전화에서 문서를 업로드할 수 있나요?
네. 웹 인터페이스, API, 호환 모바일 앱 또는 연결된 이메일 주소로 문서를 전달하는 방법을 사용할 수 있습니다.
VPS 백업만으로 충분한가요?
VPS 스냅샷은 유용하지만 내장 내보내기 도구와 함께 사용하고 사본을 별도로 보관하는 편이 좋습니다. 아카이브를 만드는 것뿐 아니라 깨끗한 설치 환경에서 복구를 시험하는 것도 중요합니다.
