SSD Nodes Learn 8GB RAM — సంవత్సరానికి $66
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-01

VPSలో Paperless-ngx సెటప్ చేయడం ఎలా?

Docker Compose ఉపయోగించి VPSలో Paperless-ngxను సులభంగా ఇన్‌స్టాల్ చేయండి. Postgres డేటాబేస్, OCR భాషలు, HTTPS సెటప్ మరియు బ్యాకప్ పద్ధతుల గురించి పూర్తి వివరాలను ఈ గైడ్‌లో చూడండి.

మీరు ఏమి నిర్మిస్తున్నారు

VPSలో Paperless-ngx అనేది స్కాన్ చేసిన పత్రాల ఫోల్డర్‌ను శోధించదగిన ఆర్కైవ్‌గా మారుస్తుంది. మీరు ఒక PDFని వాచ్డ్ డైరెక్టరీలోకి పంపినప్పుడు, సర్వర్ దానిపై OCR (ఆప్టికల్ క్యారెక్టర్ రికగ్నిషన్)ని రన్ చేస్తుంది, టెక్స్ట్‌ను సంగ్రహిస్తుంది, తేదీని మరియు కరస్పాండెంట్‌ను అంచనా వేసి, ఫైల్ చేస్తుంది. ఈ ఇన్‌స్టాలేషన్ నాలుగు సర్వీసులతో కూడిన ఒక Docker Compose ఫైల్. ఆ తర్వాత అంతా కాన్ఫిగరేషన్ మాత్రమే, మరియు ఈ గైడ్ ఎక్కువ భాగం దానికే కేటాయించబడింది, ఎందుకంటే ఇన్‌స్టాలేషన్లు అక్కడే విఫలమవుతాయి.

Paperless-ngx అనేది అసలైన Paperless ప్రాజెక్ట్ యొక్క నిర్వహించబడుతున్న కమ్యూనిటీ ఫోర్క్. ఇది ఉచితం, సెల్ఫ్-హోస్టెడ్ మరియు మీ పత్రాలను డిస్క్‌లో సాధారణ ఫైల్‌లుగా నిల్వ చేస్తుంది, కాబట్టి మీరు మీ స్వంత ఆర్కైవ్‌కు ఎప్పటికీ దూరం కారు. దీన్ని హోమ్ బాక్స్‌కు బదులుగా VPSలో రన్ చేయడం వల్ల, మీ హోమ్ రౌటర్‌లో పోర్ట్‌ను తెరవాల్సిన అవసరం లేకుండానే మీ స్కాన్‌లను ఎక్కడి నుండైనా యాక్సెస్ చేయవచ్చు, మరియు ఇది కాగితం కాని ఫైల్‌ల కోసం ఒక ప్రైవేట్ Nextcloud ఇన్‌స్టెన్స్‌తో బాగా సరిపోతుంది.

ఈ స్టాక్ వాస్తవానికి ఏమి రన్ చేస్తుంది

అధికారిక compose ఫైల్ నాలుగు కంటైనర్లను ప్రారంభిస్తుంది. ప్రతి కంటైనర్ ఏమి చేస్తుందో తెలుసుకోవడం వల్ల లాగ్‌లను చదవడం సులభం అవుతుంది.

  • webserver: ఇది paperless-ngx ఇమేజ్. ఇది వెబ్ ఇంటర్‌ఫేస్, API, మీ ఇన్‌పుట్ ఫోల్డర్‌ను పర్యవేక్షించే కన్స్యూమర్ మరియు OCR చేసే Celery టాస్క్ వర్కర్లను రన్ చేస్తుంది.
  • db: PostgreSQL. ఇది మెటాడేటా, ట్యాగ్‌లు, కరస్పాండెంట్‌లు మరియు ఫుల్-టెక్స్ట్ సెర్చ్ ఇండెక్స్ టేబుల్‌లను కలిగి ఉంటుంది. ఇది మీ PDF ఫైళ్లను నిల్వ చేయదు.
  • broker: Valkey, ఇది Redis-అనుకూల కీ-వాల్యూ స్టోర్. ఇది వెబ్ ప్రాసెస్ మరియు వర్కర్ల మధ్య టాస్క్ క్యూగా పనిచేస్తుంది.
  • gotenberg మరియు tika: ఇవి ఐచ్ఛికం, కేవలం -tika compose వేరియంట్‌లలో మాత్రమే ఉంటాయి. ఇవి ఆఫీస్ డాక్యుమెంట్లను (.docx, .xlsx, .odt) PDFలుగా మారుస్తాయి, తద్వారా paperless వాటిని ఇండెక్స్ చేయగలదు.

జూలై 2026 నాటికి, postgres compose ఫైల్ docker.io/library/postgres:18 మరియు docker.io/valkey/valkey:9-alpine వెర్షన్లను పిన్ చేస్తుంది మరియు ghcr.io/paperless-ngx/paperless-ngx:latest నుండి యాప్‌ను పుల్ చేస్తుంది.

ముందస్తు అవసరాలు

  • sudo యాక్సెస్ ఉన్న Ubuntu 24.04 KVM VPS, మరియు ఇప్పటికే ఇన్‌స్టాల్ చేయబడిన Docker తో పాటు Compose ప్లగిన్. ఒకవేళ ఇది మీకు కొత్త అయితే, ముందుగా VPS కోసం Docker Compose ప్రాథమిక అంశాలు చదివి తిరిగి రండి.
  • మీ VPS కి పాయింట్ చేసే A రికార్డుతో కూడిన డొమైన్ పేరు. Paperless తనకు తెలియని హోస్ట్‌నేమ్‌పై సేవలను అందించదు, కాబట్టి మీరు ఊహించిన దానికంటే ముందే ఇది అవసరమవుతుంది.
  • మెమరీ అనేది ప్రధాన పరిమితి. PostgreSQL, Valkey, gunicorn మరియు Tesseract OCR వర్కర్ అన్నీ ఒకేసారి నడవాలంటే తేలికపాటి వినియోగానికి 2 GB సరిపోతుంది. మీరు వందలాది స్కాన్‌లను దిగుమతి చేయాలనుకుంటే 4 GB మెమరీని కేటాయించండి, ఎందుకంటే పెద్ద మల్టీ-పేజీ PDF లపై OCR చేసేటప్పుడు మెమరీ వినియోగం ఒక్కసారిగా పెరిగి, కర్నల్ యొక్క out-of-memory కిల్లర్ ద్వారా వర్కర్ ప్రాసెస్ నిలిపివేయబడవచ్చు.
  • డిస్క్: మీ ఆర్కైవ్ రెండుసార్లు నిల్వ చేయబడుతుంది, అంటే అసలు ఫైల్ మరియు OCR చేయబడిన ఆర్కైవ్ PDF. కాబట్టి మీ స్కాన్‌ల పరిమాణం కంటే సుమారు రెట్టింపు డిస్క్ స్థలాన్ని కేటాయించండి.

అధికారిక compose ఫైళ్లను పొందడం

ఇక్కడ ఒక ఇంటరాక్టివ్ ఇన్‌స్టాలర్ ఉంది:

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

ఇది మిమ్మల్ని కొన్ని ప్రశ్నలు అడుగుతుంది మరియు మీ కోసం ఫైళ్లను సిద్ధం చేస్తుంది. మాన్యువల్‌గా చేయడం వల్ల నాలుగు కమాండ్లు ఉంటాయి మరియు ప్రతిదీ ఎక్కడ ఉందో మీకు తెలుస్తుంది, మీరు నిర్వహించే సర్వర్‌లో ఇదే మీకు కావాల్సింది.

mkdir -p ~/paperless && cd ~/paperless
curl -fsSL -o docker-compose.yml https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.postgres.yml
curl -fsSL -o docker-compose.env https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.env
curl -fsSL -o .env https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/.env

దీని వేరియంట్లు ఒకే డైరెక్టరీలో ఉంటాయి: docker-compose.sqlite.yml, docker-compose.mariadb.yml, మరియు ప్రతిదానికీ ఒక -tika వెర్షన్. కొత్త ఇన్‌స్టాలేషన్ కోసం postgresని ఎంచుకోండి. కొన్ని వందల డాక్యుమెంట్ల వరకు SQLite సరిపోతుంది, కానీ PostgreSQL కంటే ముందే ఫుల్-టెక్స్ట్ సెర్చ్ ఇండెక్స్ నెమ్మదిస్తుంది.

.env ఫైల్ ఒక లైన్‌ను కలిగి ఉంటుంది, అది COMPOSE_PROJECT_NAME=paperless. ఆ పేరు ప్రతి కంటైనర్ మరియు వాల్యూమ్‌కు ప్రిఫిక్స్‌గా మారుతుంది, కాబట్టి దాన్ని తొలగించకండి, లేదంటే మీ డేటాను docker compose down -v ఎందుకు కనుగొనలేకపోతుందో అని ఆశ్చర్యపోవాల్సి వస్తుంది.

మొదటిసారి ప్రారంభించే ముందు docker-compose.envని కాన్ఫిగర్ చేయండి

రెండు సెట్టింగ్‌లు తప్పనిసరి. ప్రాజెక్ట్ డాక్యుమెంటేషన్‌లో పేర్కొన్న కమాండ్‌తో సీక్రెట్ కీని జనరేట్ చేయండి:

python3 -c "import secrets; print(secrets.token_urlsafe(64))"

ఆ తర్వాత docker-compose.envని ఎడిట్ చేయండి:

PAPERLESS_SECRET_KEY=<the long string you just generated>
PAPERLESS_URL=https://paperless.example.com
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
USERMAP_UID=1000
USERMAP_GID=1000

PAPERLESS_SECRET_KEY అనేది change-me అనే అక్షరాలా విలువతో వస్తుంది. ఇది సెషన్ కుక్కీలను సైన్ చేస్తుంది, కాబట్టి దీనిని అలాగే వదిలేస్తే, డిఫాల్ట్ విలువ తెలిసిన ఎవరైనా సెషన్‌ను ఫోర్జరీ చేయగలరు. దీనిని మొదటిసారి ప్రారంభించే ముందే సెట్ చేయండి, ఎందుకంటే తర్వాత మార్చితే వినియోగదారులందరూ లాగ్ అవుట్ అవుతారు.

PAPERLESS_URL అనేది మీ సమయాన్ని ఆదా చేసే సెట్టింగ్. Paperless అనేది ఒక Django అప్లికేషన్, మరియు Django ప్రతి అభ్యర్థన యొక్క Host హెడర్‌ను ధృవీకరిస్తుంది. PAPERLESS_URLని సెట్ చేస్తే, అది మీ కోసం ALLOWED_HOSTS, CORS_ALLOWED_HOSTS మరియు CSRF_TRUSTED_ORIGINS విలువలను పూరిస్తుంది. దీనిని ఖాళీగా వదిలి, ఒక డొమైన్‌ను సర్వర్‌కు పాయింట్ చేస్తే, ప్రతి పేజీ Bad Request (400) ఎర్రర్‌ను చూపుతుంది మరియు కంటైనర్ లాగ్‌లో DisallowedHost కనిపిస్తుంది. దీనిని చివరలో స్లాష్ (/) లేకుండా మరియు పాత్ లేకుండా రాయండి.

USERMAP_UID మరియు USERMAP_GID కంటైనర్ ఏ యూజర్ ఖాతాతో రన్ అవ్వాలో నిర్ణయిస్తాయి. వీటిని మీ సొంత ఖాతా వివరాలతో సరిపోల్చండి, వీటిని id -u మరియు id -g కమాండ్లతో తనిఖీ చేయవచ్చు. ఒకవేళ ఇవి సరిపోలకపోతే, మీరు consume ఫోల్డర్‌లోకి కాపీ చేసే ఫైల్‌లను కన్స్యూమర్ చదవలేదు, మరియు లాగ్‌లో ఇంపోర్ట్ ఎర్రర్‌కు బదులుగా పర్మిషన్ ఎర్రర్ కనిపిస్తుంది.

స్టాక్‌ను ప్రారంభించి మొదటి వినియోగదారుని సృష్టించండి

docker compose pull
docker compose up -d
docker compose run --rm webserver createsuperuser
docker compose logs -f webserver

createsuperuser వినియోగదారు పేరు, ఇమెయిల్ మరియు పాస్‌వర్డ్ కోసం అడుగుతుంది. ఇందులో డిఫాల్ట్ లాగిన్ ఏదీ లేదు, కాబట్టి ఈ దశను దాటవేస్తే మీరు సైన్-ఇన్ పేజీ వద్దే ఉండిపోతారు, అక్కడ ఏ వివరాలు పనిచేయవు. బ్రౌజర్‌లో ప్రయత్నించే ముందు, సర్వర్ 8000 పోర్ట్‌లో లిజన్ అవుతున్నట్లు లాగ్ లైన్ కనిపించే వరకు వేచి ఉండండి. మొదటిసారి ప్రారంభించినప్పుడు డేటాబేస్ మైగ్రేషన్లు కూడా జరుగుతాయి, దీనికి ఒకటి లేదా రెండు నిమిషాలు పడుతుంది.

డొమైన్‌ను అనుసంధానించే ముందు స్థానికంగా తనిఖీ చేయండి:

curl -I http://127.0.0.1:8000

302 నుండి /accounts/login/ కి రీడైరెక్ట్ అవ్వడం అంటే స్టాక్ సరిగ్గా పనిచేస్తోందని అర్థం.

HTTPSని ముందు ఉంచండి

స్టాక్ compose ఫైల్ 8000:8000ని పబ్లిష్ చేస్తుంది, ఇది ప్రతి ఇంటర్‌ఫేస్‌కు బైండ్ అవుతుంది. పబ్లిక్ VPSలో ఇది మీ మొత్తం డాక్యుమెంట్ ఆర్కైవ్‌ను ఎవరైనా అడ్రస్‌ను కనుగొంటే, ప్లెయిన్ HTTP ద్వారా వారికి అందిస్తుంది. లూప్‌బ్యాక్‌కు మాత్రమే బైండ్ చేయడానికి పోర్ట్ లైన్‌ను మార్చండి:

    ports:
      - "127.0.0.1:8000:8000"

తర్వాత రివర్స్ ప్రాక్సీలో TLS (transport layer security)ని టెర్మినేట్ చేసి, 127.0.0.1:8000కి ఫార్వర్డ్ చేయండి. బాక్స్‌లో ఇదే ఏకైక యాప్ అయితే, ACME (automatic certificate management environment) క్లయింట్ ఉన్న ఏదైనా ప్రాక్సీ సరిపోతుంది. మీరు ఒకే సర్టిఫికేట్ సెటప్ వెనుక అనేక కంటైనర్‌లను రన్ చేస్తుంటే, అనేక Docker Compose యాప్‌ల కోసం Traefik రివర్స్ ప్రాక్సీ పద్ధతిని అనుసరించండి మరియు webserver సర్వీస్‌ను ఎటువంటి పబ్లిష్డ్ పోర్ట్ లేకుండా ప్రాక్సీ నెట్‌వర్క్‌కు అటాచ్ చేయండి.

మీరు ఏ ప్రాక్సీని ఉపయోగించినా, అది తప్పనిసరిగా X-Forwarded-Proto: httpsని పంపాలి. ఇది లేకపోతే, రిక్వెస్ట్ HTTP ద్వారా వచ్చిందని Django భావిస్తుంది, లాగిన్ ఫామ్‌లో ఆరిజిన్ చెక్ విఫలమవుతుంది, మరియు సరిగ్గా కనిపించే పేజీలో మీకు CSRF verification failed. Request aborted. వస్తుంది. ఆ పరిష్కారంలో రెండో భాగం PAPERLESS_URLని మీరు బ్రౌజర్‌లో టైప్ చేసే ఖచ్చితమైన https:// అడ్రస్‌కు సెట్ చేయడం.

అలాగే ప్రాక్సీ యొక్క అప్‌లోడ్ సైజ్ పరిమితిని పెంచండి. 1 MB బాడీ పరిమితి ఉన్న ప్రాక్సీ ద్వారా 40 MB స్కాన్ పంపితే, అది paperlessకు చేరకముందే తిరస్కరించబడుతుంది, మరియు బ్రౌజర్ ఒక సాధారణ అప్‌లోడ్ వైఫల్యాన్ని చూపిస్తుంది.

consume డైరెక్టరీ ఎలా పనిచేస్తుంది

ఈ compose ఫైల్, compose డైరెక్టరీ నుండి ./consume ని కంటైనర్‌లోకి bind-mount చేస్తుంది. మీరు అక్కడ ఉంచే ఏదైనా ఫైల్ ఇంపోర్ట్ చేయబడుతుంది, ఆపై ఫోల్డర్ నుండి తొలగించబడుతుంది, ఎందుకంటే ఆ ఫైల్ ఇప్పుడు paperless నిర్వహణలో ఉన్న media వాల్యూమ్‌లో ఉంటుంది.

cp ~/scan-2026-07-14.pdf ~/paperless/consume/
docker compose logs -f webserver

consumer ఫైల్ పేరును గుర్తించడం, OCR రన్ చేయడం మరియు డాక్యుమెంట్ జోడించబడిందని తెలిపే లైన్‌తో పూర్తి చేయడం మీరు చూడవచ్చు. ఒక పేజీ స్కాన్ కోసం ఈ మొత్తం ప్రక్రియకు కొన్ని సెకన్లు పడుతుంది, అదే సుదీర్ఘమైన డాక్యుమెంట్ అయితే ఒక నిమిషం లేదా అంతకంటే ఎక్కువ సమయం పట్టవచ్చు.

రెండు సెట్టింగ్‌లు ఫైల్‌లను కనుగొనే విధానాన్ని మారుస్తాయి. PAPERLESS_CONSUMER_RECURSIVE=true సెట్టింగ్ paperless ని సబ్-ఫోల్డర్‌లలో వెతకమని చెబుతుంది, మరియు PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true ప్రతి సబ్-ఫోల్డర్ పేరును ఒక ట్యాగ్‌గా మారుస్తుంది. కాబట్టి, ఒక ఫైల్‌ను consume/invoices/2026/ లో ఉంచితే, అది invoices మరియు 2026 ట్యాగ్‌లను పొందుతుంది. మీరు నిర్మించగలిగే అత్యంత తక్కువ ఖర్చుతో కూడిన ఫైలింగ్ సిస్టమ్ ఇదే.

మరొక ముఖ్యమైన అంశం డిటెక్షన్ (గుర్తింపు). డిఫాల్ట్‌గా PAPERLESS_CONSUMER_POLLING_INTERVAL అనేది 0 గా ఉంటుంది, అంటే paperless కెర్నల్ ఫైల్‌సిస్టమ్ నోటిఫికేషన్‌లను ఉపయోగిస్తుంది, ఇవి వెంటనే స్పందిస్తాయి. ఆ నోటిఫికేషన్‌లు నెట్‌వర్క్ ఫైల్‌సిస్టమ్ ద్వారా పనిచేయవు. మీ consume ఫోల్డర్ ఒక NFS లేదా SMB షేర్ అయి ఉండి, నెట్‌వర్క్ స్కానర్ దానిలోకి ఫైల్‌లను రాస్తుంటే, ఏదీ గుర్తించబడదు. దీనిని సరిచేయడానికి, interval ని ఒక పాజిటివ్ సెకన్ల సంఖ్యకు సెట్ చేయాలి, తద్వారా paperless ఆ ఫోల్డర్‌ను క్రమం తప్పకుండా స్కాన్ చేస్తుంది.

OCR భాషలు మరియు వాటి వ్యయం

PAPERLESS_OCR_LANGUAGE మూడు అక్షరాల Tesseract కోడ్‌ను తీసుకుంటుంది, డిఫాల్ట్‌గా eng ఉంటుంది. భాషలను కలపడానికి ప్లస్ గుర్తును ఉపయోగించండి, ఉదాహరణకు deu+eng. అప్పుడు Tesseract ప్రతి భాషను ప్రయత్నించి ఉత్తమ ఫలితాన్ని ఉంచుకుంటుంది, కాబట్టి ప్రతి అదనపు భాష ప్రతి పేజీపై ఖర్చు చేసే CPU సమయాన్ని పెంచుతుంది. షేర్డ్-vCPU VPSలో ఇది ఒక స్కాన్ పది సెకన్లలో పూర్తి కావడానికి మరియు ఒక నిమిషం పట్టడానికి మధ్య గల వ్యత్యాసాన్ని కలిగిస్తుంది. మీ పత్రాలు వాస్తవంగా ఏ భాషల్లో ఉన్నాయో వాటిని మాత్రమే జాబితా చేయండి.

ఈ ఇమేజ్ ఇంగ్లీష్, జర్మన్, ఇటాలియన్, స్పానిష్ మరియు ఫ్రెంచ్ భాషలతో వస్తుంది. ఇతర భాషల కోసం, PAPERLESS_OCR_LANGUAGESలో స్పేస్‌తో వేరు చేయబడిన జాబితాగా ఆ భాషను జోడించండి, ఉదాహరణకు PAPERLESS_OCR_LANGUAGES=tur ces, ఆపై రీస్టార్ట్ చేయండి. కంటైనర్ స్టార్టప్ సమయంలో Tesseract డేటా ప్యాక్‌లను డౌన్‌లోడ్ చేస్తుంది, కాబట్టి ఆ మార్పు తర్వాత మొదటి బూట్ నెమ్మదిగా ఉంటుంది.

డేటాబేస్ మరియు మీడియాను బ్యాకప్ చేయడం

PostgreSQL రన్ అవుతున్నప్పుడు Docker వాల్యూమ్‌లను కాపీ చేయడం వల్ల, పునరుద్ధరించలేని బ్యాకప్ వచ్చే అవకాశం ఉంది. Paperless సొంత ఎక్స్‌పోర్టర్‌ను కలిగి ఉంటుంది, ఇది పత్రాలను మరియు అన్ని మెటాడేటా యొక్క JSON మానిఫెస్ట్‌ను ./export బైండ్ మౌంట్‌లోకి వ్రాస్తుంది:

docker compose exec webserver document_exporter ../export --delete --no-progress-bar

ప్రస్తుత పత్రంతో సరిపోలని ఎగుమతి చేసిన ఫైళ్లను --delete తొలగిస్తుంది, తద్వారా ఫోల్డర్ నిరంతరం పెరగకుండా మిర్రర్‌గా ఉంటుంది. ఇది cron నుండి రన్ అయినప్పుడు అవుట్‌పుట్‌ను శుభ్రంగా ఉంచడానికి --no-progress-bar ఉపయోగపడుతుంది.

కొత్త స్టాక్‌లో అదే ఫోల్డర్‌కు వ్యతిరేకంగా document_importer చేయడం ద్వారా పునరుద్ధరణ జరుగుతుంది, అంటే ఎగుమతి డైరెక్టరీని మాత్రమే మీరు సురక్షితంగా ఉంచుకోవాలి. మీ VPS నుండి ఎన్‌క్రిప్ట్ చేయబడిన, డీడూప్లికేట్ చేయబడిన restic బ్యాకప్‌లు ఉపయోగించి షెడ్యూల్ ప్రకారం దీన్ని ఆఫ్‌సైట్‌కు పంపండి, మరియు restic సగం వ్రాయబడిన ఆర్కైవ్‌ను క్యాప్చర్ చేయకుండా ఉండటానికి ముందుగా ఎగుమతిని రన్ చేయండి.

export/manifest.json ఉందో లేదో తనిఖీ చేయడం ద్వారా మరియు ఇంటర్‌ఫేస్‌లోని మీ పత్రాల సంఖ్యతో ఫైల్ కౌంట్ సరిపోలుతుందో లేదో చూడటం ద్వారా బ్యాకప్‌ను ధృవీకరించండి. మీరు ఎప్పుడూ తనిఖీ చేయని బ్యాకప్, బ్యాకప్ కాదు.

FAQ

మీ డొమైన్‌ను పాయింట్ చేసిన తర్వాత ప్రతి పేజీ "Bad Request (400)" అని ఎందుకు చూపిస్తుంది?

మీ డొమైన్ ALLOWED_HOSTSలో లేనందున Django Host హెడర్‌ను తిరస్కరించింది. docker-compose.envలో PAPERLESS_URL=https://paperless.example.comని సెట్ చేయండి, చివరలో స్లాష్ లేకుండా చూసుకోండి, ఆపై కంటైనర్‌ను తిరిగి సృష్టించడానికి docker compose up -dని రన్ చేయండి. కేవలం env ఫైల్‌ను ఎడిట్ చేయడం వల్ల ఏమీ జరగదు, ఎందుకంటే రన్ అవుతున్న కంటైనర్ అది ప్రారంభమైనప్పటి పాత ఎన్విరాన్‌మెంట్‌నే కలిగి ఉంటుంది.

నేను consume ఫోల్డర్‌లో PDFని ఉంచాను, కానీ ఏమీ జరగలేదు. సమస్య ఏమిటి?

ముందుగా docker compose logs webserverని తనిఖీ చేయండి. పర్మిషన్ ఎర్రర్ వస్తుందంటే, ఫైల్ యజమాని అయిన అకౌంట్‌తో USERMAP_UID మరియు USERMAP_GID సరిపోలడం లేదని అర్థం, కాబట్టి వాటిని సరిచేసి కంటైనర్‌ను తిరిగి సృష్టించండి. లాగ్‌లో ఎటువంటి లైన్ కనిపించకపోతే, ఫైల్ ఈవెంట్ అందలేదని అర్థం. నెట్‌వర్క్ షేర్లలో కెర్నల్ నోటిఫికేషన్లు పనిచేయవు కాబట్టి ఇలా జరుగుతుంది. PAPERLESS_CONSUMER_POLLING_INTERVALని 30 వంటి విలువకు సెట్ చేయండి, అప్పుడు paperless ప్రతి 30 సెకన్లకు ఫోల్డర్‌ను స్కాన్ చేస్తుంది.

నేను PostgreSQLకి బదులుగా SQLiteతో paperless-ngxని రన్ చేయవచ్చా?

అవును, docker-compose.sqlite.yml సపోర్ట్ చేయబడుతుంది మరియు ఇది తక్కువ మెమరీని తీసుకుంటుంది, ఇది చిన్న VPSలకు అనుకూలంగా ఉంటుంది. మీ ఆర్కైవ్ పెరిగేకొద్దీ దీని పరిమితులు కనిపిస్తాయి: వేల సంఖ్యలో డాక్యుమెంట్లు ఉన్నప్పుడు ఫుల్-టెక్స్ట్ సెర్చ్ మరియు బల్క్ ట్యాగ్ ఎడిట్స్ నెమ్మదిస్తాయి. తర్వాత మైగ్రేట్ చేయాలంటే ఎక్స్‌పోర్ట్ మరియు ఇంపోర్ట్ చేయాల్సి ఉంటుంది, కాబట్టి మీ ఆర్కైవ్ పెరుగుతుందని మీరు భావిస్తే ఇప్పుడే PostgreSQLని ఎంచుకోండి.

స్కాన్‌ల ఆర్కైవ్‌కు నిజంగా ఎంత డిస్క్ స్పేస్ అవసరం?

మీ సోర్స్ ఫైల్స్ పరిమాణం కంటే సుమారు రెండు రెట్లు ఎక్కువ అవసరం. Paperless ఒరిజినల్ ఫైల్‌ను మార్చకుండా అలాగే ఉంచుతుంది మరియు సెర్చ్ చేయగల టెక్స్ట్ లేయర్‌తో కూడిన రెండవ OCR'd PDFని, అలాగే చిన్న థంబ్‌నెయిల్స్‌ను స్టోర్ చేస్తుంది. 200 KB ఉన్న టెక్స్ట్-ఓన్లీ స్కాన్ చిన్నదిగానే ఉంటుంది. 30 MB ఉన్న కలర్ స్కాన్ సుమారు 60 MBని తీసుకుంటుంది. మీరు ఎక్స్‌పోర్ట్ డైరెక్టరీని కూడా అదే డిస్క్‌లో ఉంచితే, అదే ఆర్కైవ్ డిస్క్‌లో మూడుసార్లు స్టోర్ అవుతుంది.

నాకు Tika మరియు Gotenberg కంటైనర్లు అవసరమా?

మీరు Word, Excel లేదా OpenDocument ఫైళ్లను మీ PDFలతో పాటు ఇండెక్స్ చేయాలనుకుంటే మాత్రమే ఇవి అవసరం. ఇవి ఆ ఫార్మాట్లను PDFలోకి మారుస్తాయి, తద్వారా paperless వాటిని OCR చేసి సెర్చ్ చేయగలదు. ఇవి అదనంగా రెండు కంటైనర్లను రన్ చేస్తాయి మరియు కొన్ని వందల మెగాబైట్ల మెమరీని తీసుకుంటాయి, కాబట్టి మీరు ఫైల్ చేసేవన్నీ ఇప్పటికే PDF లేదా ఇమేజ్ ఫార్మాట్లలో ఉంటే, చిన్న సర్వర్లలో వీటిని వదిలేయవచ్చు.

#paperless-ngx#documents#self-hosting#docker#ocr