VPS-இல் Paperless-ngx நிறுவுவது எப்படி?
Docker Compose மூலம் Paperless-ngx-ஐ VPS-இல் நிறுவுவதற்கான முழுமையான வழிகாட்டி. Postgres, OCR மொழிகள், HTTPS மற்றும் தரவு காப்புப்பிரதி எடுக்கும் முறைகளை இதில் விரிவாகக் காணலாம்.
நீங்கள் உருவாக்குவது என்ன
VPS-இல் இயங்கும் Paperless-ngx, ஸ்கேன் செய்யப்பட்ட காகிதங்களின் கோப்புறையை தேடக்கூடிய காப்பகமாக மாற்றுகிறது. நீங்கள் ஒரு PDF கோப்பை குறிப்பிட்ட கண்காணிப்பு கோப்பகத்தில் (watched directory) இடும்போது, சர்வர் அதன் மீது OCR (optical character recognition) செயல்பாட்டை இயக்கும். இது உரையை பிரித்தெடுத்து, தேதியையும் தொடர்புடைய நபரையும் கணித்து, கோப்புகளை வகைப்படுத்தும். இந்த நிறுவல் நான்கு சேவைகளைக் கொண்ட ஒரு Docker Compose கோப்பாகும். இதற்குப் பிந்தைய அனைத்தும் உள்ளமைவு (configuration) சார்ந்தவை. நிறுவல்கள் பெரும்பாலும் இங்குதான் தோல்வியடைவதால், இந்த வழிகாட்டி அதன் பெரும்பகுதியை இதற்காகவே ஒதுக்குகிறது.
Paperless-ngx என்பது அசல் Paperless திட்டத்தின் பராமரிக்கப்படும் சமூகப் பதிப்பாகும் (community fork). இது இலவசமானது, நீங்களே ஹோஸ்ட் செய்யக்கூடியது, மேலும் உங்கள் ஆவணங்களை வட்டில் சாதாரண கோப்புகளாகச் சேமிக்கிறது. எனவே, உங்கள் காப்பகத்தை அணுக முடியாமல் போகும் சூழல் ஏற்படாது. இதை உங்கள் வீட்டு கணினிக்கு பதிலாக ஒரு VPS-இல் இயக்குவதன் மூலம், உங்கள் வீட்டு ரௌட்டரில் போர்ட்களைத் திறக்காமலேயே, எங்கிருந்தும் உங்கள் ஸ்கேன் செய்யப்பட்ட கோப்புகளை அணுக முடியும். மேலும், காகித வடிவில் இல்லாத கோப்புகளுக்கான தனிப்பட்ட Nextcloud instance உடன் இது சிறப்பாகச் செயல்படும்.
இந்த ஸ்டேக் உண்மையில் எவ்வாறு இயங்குகிறது
அதிகாரப்பூர்வ compose கோப்பு நான்கு கன்டெய்னர்களைத் தொடங்குகிறது. ஒவ்வொன்றும் என்ன செய்கிறது என்பதை அறிந்துகொள்வது, லாக் (logs) கோப்புகளைப் புரிந்துகொள்ள உதவும்.
webserver: paperless-ngx இமேஜ். இது இணைய இடைமுகம் (web interface), API, உங்கள் உள்ளீட்டு கோப்புறையைக் கண்காணிக்கும் கன்சூமர் (consumer) மற்றும் OCR பணிகளைச் செய்யும் Celery டாஸ்க் வொர்க்கர்களை இயக்குகிறது.db: PostgreSQL. இது மெட்டாடேட்டா, டேக்குகள், கரஸ்பாண்டன்ட்கள் மற்றும் முழு-உரை தேடல் குறியீட்டு அட்டவணைகளைச் சேமிக்கிறது. இது உங்கள் PDF கோப்புகளைச் சேமிப்பதில்லை.broker: Valkey, இது Redis-இணக்கமான கீ-வேல்யூ ஸ்டோர் (key-value store). இது இணைய செயல்முறைக்கும் வொர்க்கர்களுக்கும் இடையிலான பணி வரிசையாக (task queue) செயல்படுகிறது.gotenbergமற்றும்tika: இவை விருப்பத்தேர்வுக்குரியவை,-tikacompose வகைகளில் மட்டுமே இருக்கும். இவை ஆபீஸ் ஆவணங்களை (.docx,.xlsx,.odt) PDF ஆக மாற்றுகின்றன, இதன் மூலம் paperless அவற்றை இன்டெக்ஸ் செய்ய முடியும்.
ஜூலை 2026 நிலவரப்படி, postgres compose கோப்பு docker.io/library/postgres:18 மற்றும் docker.io/valkey/valkey:9-alpine ஆகியவற்றை நிலைநிறுத்துகிறது (pins), மேலும் ghcr.io/paperless-ngx/paperless-ngx:latest இலிருந்து செயலியைப் பதிவிறக்குகிறது.
முன்நிபந்தனைகள்
- sudo அணுகல் கொண்ட ஒரு Ubuntu 24.04 KVM VPS மற்றும் ஏற்கனவே நிறுவப்பட்ட Docker உடன் Compose பிளக்கின். இந்தப் பகுதி உங்களுக்குப் புதியது என்றால், VPS-க்கான Docker Compose அடிப்படைகள் என்பதிலிருந்து தொடங்கிவிட்டு மீண்டும் இங்கே வரவும்.
- உங்கள் VPS-ஐச் சுட்டிக்காட்டும் A ரெக்கார்டைக் கொண்ட ஒரு டொமைன் பெயர். Paperless தனக்குத் தெரியாத ஹோஸ்ட்பெயரில் இயங்க மறுத்துவிடும், எனவே இது நீங்கள் எதிர்பார்ப்பதை விட முன்னதாகவே முக்கியத்துவம் பெறுகிறது.
- நினைவகம் (Memory) தான் உண்மையான கட்டுப்பாடு. PostgreSQL, Valkey, gunicorn மற்றும் ஒரு Tesseract OCR ஒர்க்கர் ஆகிய அனைத்தும் ஒரே நேரத்தில் இயங்க, குறைந்த பயன்பாட்டிற்கு 2 GB போதுமானது. நீங்கள் நூற்றுக்கணக்கான ஸ்கேன் செய்யப்பட்ட கோப்புகளை இறக்குமதி செய்யத் திட்டமிட்டால், 4 GB நினைவகத்தை ஒதுக்குங்கள். ஏனெனில், பெரிய பல பக்கங்களைக் கொண்ட PDF கோப்புகளை OCR செய்யும்போது ஏற்படும் நினைவக அதிகரிப்பு, கர்னலின் out-of-memory கில்லர் மூலம் ஒர்க்கரை நிறுத்திவிடக்கூடும்.
- வட்டு (Disk): உங்கள் ஆவணக் காப்பகம் இரண்டு முறை சேமிக்கப்படுகிறது; அசல் கோப்பு மற்றும் OCR செய்யப்பட்ட காப்பக PDF. எனவே, உங்கள் ஸ்கேன் கோப்புகளின் அளவைப் போல இருமடங்கு இடவசதியைத் திட்டமிடுங்கள்.
அதிகாரப்பூர்வ compose கோப்புகளைப் பெறுதல்
இதற்கென ஒரு ஊடாடும் (interactive) நிறுவி உள்ளது:
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 போதுமானது, ஆனால் முழு-உரை தேடல் குறியீட்டு முறை (full-text search index), PostgreSQL-ஐ விட முன்னதாகவே மெதுவாகிவிடும்.
.env கோப்பில் ஒரே ஒரு வரி மட்டுமே உள்ளது, அது COMPOSE_PROJECT_NAME=paperless ஆகும். அந்தப் பெயர் ஒவ்வொரு கன்டெய்னர் (container) மற்றும் வால்யூமிற்கும் (volume) முன்னொட்டாக (prefix) அமையும். எனவே, அதை நீக்கிவிட்டு, ஏன் docker compose down -v உங்கள் தரவைக் கண்டறிய முடியவில்லை என்று குழப்பமடைய வேண்டாம்.
docker-compose.env கோப்பை முதல்முறை தொடங்குவதற்கு முன் கட்டமைத்தல்
இரண்டு அமைப்புகள் கட்டாயமானவை. திட்ட ஆவணத்தில் உள்ள கட்டளையைப் பயன்படுத்தி ரகசிய சாவியை (secret key) உருவாக்கவும்:
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=1000PAPERLESS_SECRET_KEY என்பது change-me என்ற இயல்புநிலை மதிப்பைக் கொண்டுள்ளது. இது அமர்வு குக்கீகளை (session cookies) கையொப்பமிடுகிறது, எனவே இதை மாற்றாமல் விடுவது, இயல்புநிலை மதிப்பை அறிந்த எவரும் அமர்வை போலியாக உருவாக்க வழிவகுக்கும். முதல்முறை தொடங்குவதற்கு முன்பே இதை அமைக்கவும், ஏனெனில் பிறகு மாற்றினால் அனைத்து பயனர்களும் வெளியேற்றப்படுவார்கள்.
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 கோப்புறையில் நகலெடுக்கும் கோப்புகளை கன்டெய்னரால் படிக்க முடியாது, மேலும் பதிவில் இறக்குமதி பிழைக்கு பதிலாக அனுமதி மறுப்பு (permission error) பிழை தோன்றும்.
ஸ்டேக்கை தொடங்கி முதல் பயனரை உருவாக்குதல்
docker compose pull
docker compose up -d
docker compose run --rm webserver createsuperuser
docker compose logs -f webservercreatesuperuser பயனர் பெயர், மின்னஞ்சல் மற்றும் கடவுச்சொல்லைக் கேட்கும். இதில் இயல்புநிலை உள்நுழைவு (default login) எதுவும் இல்லை. எனவே, இந்த படிநிலையைத் தவிர்த்தால், நீங்கள் உள்நுழைவுப் பக்கத்தில் இருப்பீர்கள், அங்கு எந்தத் தகவலும் ஏற்கப்படாது. சர்வர் 8000 போர்ட்டில் இயங்கத் தொடங்கியதைக் குறிக்கும் லாக் வரி வரும் வரை காத்திருந்து, அதன் பிறகு பிரவுசரில் சரிபார்க்கவும். முதல்முறை தொடங்கும் போது டேட்டாபேஸ் மைக்ரேஷன்கள் (database migrations) நடைபெறும், இதற்கு ஒன்று அல்லது இரண்டு நிமிடங்கள் ஆகலாம்.
டொமைனை இணைப்பதற்கு முன் உள்ளூர் அளவில் சரிபார்க்கவும்:
curl -I http://127.0.0.1:8000302 இலிருந்து /accounts/login/ க்கான ரீடைரக்ட் (redirect) கிடைத்தால், ஸ்டேக் சரியாக இயங்குகிறது என்று பொருள்.
HTTPS-ஐ முன்னால் அமைத்தல்
வழக்கமான compose கோப்பு 8000:8000-ஐ வெளியிடுகிறது, இது அனைத்து இடைமுகங்களுடனும் (interfaces) இணைகிறது. பொது இணையத்தில் உள்ள ஒரு VPS-இல், முகவரியைக் கண்டறியும் எவருக்கும் உங்கள் முழு ஆவணக் காப்பகத்தையும் சாதாரண HTTP மூலம் இது வழங்குகிறது. லூப்பேக் (loopback) முகவரியுடன் மட்டும் இணைக்க போர்ட் வரியை மாற்றவும்:
ports:
- "127.0.0.1:8000:8000"பின்னர், ஒரு ரிவர்ஸ் ப்ராக்ஸியில் (reverse proxy) TLS (transport layer security)-ஐ முடித்து, அதை 127.0.0.1:8000-க்கு அனுப்பவும். இந்த சர்வரில் இந்த ஒரு செயலி மட்டுமே இருந்தால், ACME (automatic certificate management environment) கிளையண்ட் கொண்ட எந்த ப்ராக்ஸியும் போதுமானது. ஒரே சான்றிதழ் அமைப்பின் கீழ் பல கன்டெய்னர்களை நீங்கள் இயக்கினால், பல Docker Compose செயலிகளுக்கான Traefik ரிவர்ஸ் ப்ராக்ஸி முறையைப் பின்பற்றவும், மேலும் webserver சேவையை எந்த போர்ட்டையும் வெளியிடாமல் ப்ராக்ஸி நெட்வொர்க்குடன் இணைக்கவும்.
நீங்கள் எந்த ப்ராக்ஸியைப் பயன்படுத்தினாலும், அது X-Forwarded-Proto: https-ஐ அனுப்ப வேண்டும். இது இல்லையெனில், கோரிக்கை HTTP வழியாக வந்ததாக Django கருதும், லாகின் படிவத்தில் உள்ள ஆரிஜின் சரிபார்ப்பு (origin check) தோல்வியடையும், மேலும் சரியாகத் தோன்றும் பக்கத்தில் CSRF verification failed. Request aborted. பிழையைப் பெறுவீர்கள். இந்தத் தீர்வின் மற்றொரு பகுதி, நீங்கள் பிரவுசரில் தட்டச்சு செய்யும் அதே https:// முகவரிக்கு PAPERLESS_URL-ஐ அமைப்பதாகும்.
மேலும், ப்ராக்ஸியின் பதிவேற்ற அளவு வரம்பை (upload size limit) அதிகரிக்கவும். 1 MB வரம்பு கொண்ட ப்ராக்ஸி வழியாக 40 MB ஸ்கேன் அனுப்பப்படும்போது, அது paperless-க்குச் செல்வதற்கு முன்பே நிராகரிக்கப்படும், மேலும் பிரவுசர் ஒரு பொதுவான பதிவேற்றத் தோல்வியைக் காட்டும்.
consume கோப்பகம் எவ்வாறு செயல்படுகிறது
இந்த compose கோப்பு ./consume-ஐ compose கோப்பகத்திலிருந்து கன்டெய்னருக்குள் bind-mount செய்கிறது. நீங்கள் அங்கு இடும் எந்தவொரு கோப்பும் இறக்குமதி செய்யப்பட்டு, அந்த கோப்பகத்திலிருந்து நீக்கப்படும். ஏனெனில், அந்த கோப்பு இப்போது paperless நிர்வாகத்தின் கீழ் உள்ள media வால்யூமில் சேமிக்கப்பட்டுவிடும்.
cp ~/scan-2026-07-14.pdf ~/paperless/consume/
docker compose logs -f webserverநுகர்வோர் (consumer) கோப்பின் பெயரை எடுத்துக்கொண்டு, OCR-ஐ இயக்கி, ஆவணம் சேர்க்கப்பட்டதை உறுதிப்படுத்தும் வரியுடன் முடிப்பதை நீங்கள் காணலாம். ஒரு பக்க ஸ்கேனிற்கு இந்த முழு சுழற்சியும் சில நொடிகள் ஆகும்; நீண்ட ஆவணங்களுக்கு ஒரு நிமிடம் அல்லது அதற்கு மேல் ஆகலாம்.
கோப்புகள் கண்டறியப்படும் விதத்தை இரண்டு அமைப்புகள் மாற்றுகின்றன. PAPERLESS_CONSUMER_RECURSIVE=true அமைப்பானது paperless-ஐ துணைக்கோப்பகங்களுக்குள் (subfolders) தேடச் செய்கிறது. PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true அமைப்பானது ஒவ்வொரு துணைக்கோப்பகத்தின் பெயரையும் ஒரு டேக்-ஆக (tag) மாற்றுகிறது. எனவே, ஒரு கோப்பை consume/invoices/2026/-க்குள் இடும்போது, அது invoices மற்றும் 2026 என டேக் செய்யப்படும். இது நீங்கள் உருவாக்கக்கூடிய மிக எளிமையான கோப்பு முறைமையாகும்.
கண்டறிதல் என்பது இதன் மற்றொரு பாதியாகும். இயல்பாக PAPERLESS_CONSUMER_POLLING_INTERVAL என்பது 0 என இருக்கும். அதாவது, paperless கர்னல் கோப்பு முறைமை அறிவிப்புகளைப் (kernel filesystem notifications) பயன்படுத்துகிறது, இவை உடனடியாகச் செயல்படும். இந்த அறிவிப்புகள் நெட்வொர்க் கோப்பு முறைமைகளில் (network filesystem) செயல்படாது. உங்கள் consume கோப்பகம் ஒரு NFS அல்லது SMB பகிர்வாக இருந்து, ஒரு நெட்வொர்க் ஸ்கேனர் அதில் கோப்புகளை எழுதினால், எதையும் கண்டறிய முடியாது. இதைச் சரிசெய்ய, அந்த இடைவெளியை ஒரு நேர்மறை வினாடி எண்ணாக மாற்ற வேண்டும்; அப்போதுதான் paperless அந்த கோப்பகத்தை ஸ்கேன் செய்யும்.
OCR மொழிகள் மற்றும் அவற்றின் செலவு
PAPERLESS_OCR_LANGUAGE ஒரு மூன்று எழுத்து Tesseract குறியீட்டை எடுத்துக்கொள்கிறது, முன்னிருப்பாக eng பயன்படுத்தப்படுகிறது. மொழிகளை இணைக்க பிளஸ் குறியீட்டைப் பயன்படுத்தவும், உதாரணமாக deu+eng. Tesseract ஒவ்வொரு மொழியையும் முயற்சி செய்து சிறந்த முடிவைத் தக்கவைக்கும், எனவே ஒவ்வொரு கூடுதல் மொழியும் ஒவ்வொரு பக்கத்திற்கும் செலவிடப்படும் CPU நேரத்தைப் பெருக்கும். பகிரப்பட்ட vCPU கொண்ட VPS-இல், இது ஒரு ஸ்கேன் பத்து வினாடிகளில் முடிவதற்கும் ஒரு நிமிடத்தில் முடிவதற்கும் உள்ள வித்தியாசமாகும். உங்கள் ஆவணங்கள் எந்த மொழிகளில் எழுதப்பட்டுள்ளனவோ, அந்த மொழிகளை மட்டும் பட்டியலிடவும்.
இந்த இமேஜ் English, German, Italian, Spanish மற்றும் French ஆகிய மொழிகளுடன் வருகிறது. வேறு ஏதேனும் மொழிக்கு, அந்த மொழியை PAPERLESS_OCR_LANGUAGES-இல் இடைவெளியால் பிரிக்கப்பட்ட பட்டியலாகச் சேர்க்கவும், உதாரணமாக PAPERLESS_OCR_LANGUAGES=tur ces, பின்னர் ரீஸ்டார்ட் செய்யவும். கண்டெய்னர் தொடங்கும் போது Tesseract டேட்டா பேக்குகளைப் பதிவிறக்கும், எனவே அந்த மாற்றத்திற்குப் பிறகு முதல் பூட் மெதுவாக இருக்கும்.
தரவுத்தளம் மற்றும் ஊடகங்களை காப்புப்பிரதி எடுத்தல்
PostgreSQL இயங்கிக்கொண்டிருக்கும்போது Docker தொகுதிகளை (volumes) நகலெடுப்பது, மீட்டெடுக்க முடியாத ஒரு காப்புப்பிரதியை உருவாக்கலாம். Paperless தனது சொந்த ஏற்றுமதி கருவியை (exporter) வழங்குகிறது. இது ஆவணங்களையும், அனைத்து மெட்டாடேட்டாக்களையும் கொண்ட ஒரு JSON மேனிஃபெஸ்ட்டையும் ./export பைண்ட் மவுண்டில் (bind mount) எழுதும்:
docker compose exec webserver document_exporter ../export --delete --no-progress-bar--delete தற்போதைய ஆவணத்துடன் பொருந்தாத ஏற்றுமதி செய்யப்பட்ட கோப்புகளை நீக்குகிறது. இதனால் கோப்புறை தொடர்ந்து வளர்வதற்குப் பதிலாக ஒரு கண்ணாடியாக (mirror) இருக்கும். --no-progress-bar, இது cron மூலம் இயங்கும்போது வெளியீட்டைத் தெளிவாக வைத்திருக்கும்.
மீட்டெடுப்பது என்பது அதே கோப்புறையில் document_importer மூலம் புதிய ஸ்டேக்கில் (stack) செய்யப்படுகிறது. இதன் பொருள், ஏற்றுமதி கோப்பகத்தை (export directory) மட்டுமே நீங்கள் பாதுகாப்பாக வைத்திருக்க வேண்டும். உங்கள் VPS-லிருந்து குறியாக்கம் செய்யப்பட்ட, நகல் நீக்கப்பட்ட restic காப்புப்பிரதிகள் மூலம் இதை அட்டவணைப்படி வெளியகத்திற்கு (offsite) அனுப்புங்கள். 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-ஐச் சரிபார்க்கவும். அனுமதிப் பிழை (permission error) இருந்தால், USERMAP_UID மற்றும் USERMAP_GID ஆகியவை கோப்பின் உரிமையாளர் கணக்குடன் பொருந்தவில்லை என்று அர்த்தம். அவற்றைச் சரிசெய்து கன்டெய்னரை மீண்டும் உருவாக்கவும். லாக் கோப்பில் எந்த வரியும் இல்லை என்றால், கோப்பு நிகழ்வு (file event) சென்றடையவில்லை என்று பொருள். நெட்வொர்க் ஷேர்களில் கர்னல் அறிவிப்புகள் செயல்படாது என்பதால் இது நிகழும். PAPERLESS_CONSUMER_POLLING_INTERVAL அமைப்பை 30 போன்ற மதிப்பில் மாற்றினால், paperless ஒவ்வொரு 30 வினாடிக்கும் ஃபோல்டரை ஸ்கேன் செய்யும்.
நான் paperless-ngx-ஐ PostgreSQL-க்கு பதிலாக SQLite உடன் இயக்க முடியுமா?
ஆம், docker-compose.sqlite.yml ஆதரிக்கப்படுகிறது. இது குறைந்த நினைவகத்தையே பயன்படுத்துவதால், சிறிய VPS-களுக்கு ஏற்றது. உங்கள் ஆவணங்களின் எண்ணிக்கை ஆயிரக்கணக்கில் அதிகரிக்கும்போது, முழு-உரை தேடல் (full-text search) மற்றும் மொத்தமாக டேக் திருத்துதல் (bulk tag edits) ஆகியவற்றின் வேகம் குறையும். பிற்காலத்தில் இடம்பெயர (migrate) வேண்டுமென்றால், தரவுகளை ஏற்றுமதி செய்து மீண்டும் இறக்குமதி செய்ய வேண்டும். எனவே, உங்கள் ஆவணக் காப்பகம் தொடர்ந்து வளரும் என்று கருதினால், இப்போதே PostgreSQL-ஐத் தேர்ந்தெடுக்கவும்.
ஸ்கேன் செய்யப்பட்ட ஆவணக் காப்பகத்திற்கு எவ்வளவு வட்டு இடம் (disk space) தேவைப்படும்?
உங்கள் மூலக் கோப்புகளின் அளவைப் போல சுமார் இரண்டு மடங்கு தேவைப்படும். Paperless அசல் கோப்பை மாற்றாமல் அப்படியே வைத்திருக்கும். தேடக்கூடிய உரை அடுக்குடன் (searchable text layer) கூடிய இரண்டாவது OCR செய்யப்பட்ட PDF கோப்பையும், சிறிய தம்ப்நெயில்களையும் சேமிக்கும். 200 KB அளவுள்ள உரை மட்டும் கொண்ட ஸ்கேன் சிறியதாகவே இருக்கும். 30 MB அளவுள்ள வண்ணமயமான ஒப்பந்த ஆவணம் சுமார் 60 MB இடத்தைப் பிடிக்கும். நீங்கள் ஏற்றுமதி கோப்பகத்தையும் (export directory) அதே வட்டில் வைத்திருந்தால், ஒரே ஆவணம் வட்டில் மூன்று முறை சேமிக்கப்படும்.
எனக்கு Tika மற்றும் Gotenberg கன்டெய்னர்கள் தேவையா?
உங்கள் PDF கோப்புகளுடன் சேர்த்து Word, Excel அல்லது OpenDocument கோப்புகளையும் இன்டெக்ஸ் செய்ய விரும்பினால் மட்டுமே இவை தேவை. இந்த கோப்புகளை PDF-ஆக மாற்றினால் மட்டுமே paperless-ஆல் அவற்றை OCR செய்து தேட முடியும். இவை கூடுதலாக இரண்டு கன்டெய்னர்களை இயக்கி, சில நூறு மெகாபைட் நினைவகத்தைப் பயன்படுத்தும். எனவே, நீங்கள் சேமிக்கும் அனைத்தும் ஏற்கனவே PDF அல்லது படங்களாக இருந்தால், சிறிய கணினிகளில் இவற்றைத் தவிர்க்கலாம்.