SSD Nodes Learn Hosting plans →
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-27

VPS-ல் Chaptarr-ஐ நிறுவுவது எப்படி? முழுமையான வழிகாட்டி

Readarr நிறுத்தப்பட்ட பிறகு audiobook-களை நிர்வகிக்க Chaptarr சிறந்த மாற்றாகும். Docker Compose, PUID, PGID அமைப்புகள் மற்றும் metadata பிழைகளை சரிசெய்யும் முறைகளை இதில் அறியலாம்.

Chaptarr என்றால் என்ன, Readarr பயனர்களுக்கு அது ஏன் தேவை

Chaptarr என்பது Readarr-ன் ஒரு fork ஆகும். இது ஒரே instance-ல் இருந்து audiobook மற்றும் ebook-களை நிர்வகிக்கிறது. இது புதிய releases-ஐக் கண்காணித்து, அவற்றை உங்கள் download client-க்கு அனுப்பி, பின்னர் முடிவுகளை மறுபெயரிட்டு (rename) உங்கள் library-ல் கோப்புகளாகச் சேர்க்கிறது. இது எதையும் பிளே செய்யாது, எனவே Audiobookshelf போன்ற ஒரு player-உடன் இதை இணைக்க வேண்டும்.

Readarr 2025 ஜூன் 27 அன்று நிறுத்தப்பட்டது. Servarr குழுவின் அறிவிப்பு இதற்கான காரணத்தைக் கூறுகிறது: திட்டத்தின் metadata பயன்படுத்த முடியாத நிலைக்குச் சென்றது, மேலும் Open Library-க்கு மாறுவதற்கான சமூக முயற்சி முடங்கியது. அந்த repository இப்போது காப்பகப்படுத்தப்பட்டுள்ளது (archived). இதனால் புத்தகம் மற்றும் audiobook சேகரிப்புகளை நிர்வகிக்க பராமரிக்கப்படும் மென்பொருள் ஏதுமில்லாமல் போனது, அந்தப் பணியை Chaptarr ஏற்றுக்கொண்டது. இது Sonarr மற்றும் Radarr-ல் உங்களுக்குத் தெரிந்த அதே அமைப்பைக் கொண்டுள்ளது (indexers, download clients, quality profiles, root folders). அதனுடன் audiobook கையாளுதலையும் சேர்க்கிறது: narrator-ஐ அடிப்படையாகக் கொண்ட அமைப்பு, ஒரே தலைப்பின் பல பதிப்புகள், M4B மற்றும் chaptered MP3 ஆதரவு, மற்றும் MP3-ஐ M4B-ஆக மாற்றும் வசதி.

இந்த வழிகாட்டி chaptarr/chaptarr:0.9.925 image tag-ஐப் பயன்படுத்தியது, இது 2026 ஆகஸ்ட் 9 அன்று வெளியிடப்பட்ட புதிய release ஆகும். Chaptarr தன்னை ஒரு beta மென்பொருள் என்று அழைக்கிறது. உங்களால் மாற்ற முடியாத ஒரு library-ஐ இதனுடன் இணைக்கும் முன், இறுதியில் உள்ள பராமரிப்பு (maintenance) பகுதியை வாசிக்கவும்.

தொடங்குவதற்கு முன் உங்களுக்குத் தேவையானவை

Docker மற்றும் Compose plugin இயங்கும் ஒரு VPS, மற்றும் library-க்குத் தேவையான போதிய disk இடம் இருக்க வேண்டும். Audiobooks கோப்புகள் பெரியவை. Hardlinks பயன்படுத்த முடியாத ஒரு import செயல்முறை, கோப்பின் இரண்டு பிரதிகளைச் சிறிது காலம் வைத்திருக்கும். இதைப் பற்றி கீழே உள்ள volume பகுதியில் விளக்கப்பட்டுள்ளது. உங்கள் server-ல் Docker இன்னும் நிறுவப்படவில்லை என்றால், VPS-ல் Docker நிறுவி இயக்குதல் என்ற பகுதியிலிருந்து தொடங்கிவிட்டு மீண்டும் இங்கே வரவும்.

Chaptarr தற்போது Docker image-ஆக மட்டுமே கிடைக்கிறது. Windows-க்கான native build தயாரிப்பில் உள்ளது, மேலும் இதற்கெனத் தனி distribution package எதுவும் இல்லை. இந்த container தனது database-ஐ இயல்பாக /config-ல் SQLite வடிவில் சேமிக்கிறது. நீங்கள் ஏற்கனவே ஒரு PostgreSQL server பயன்படுத்துகிறீர்கள் என்றால், Chaptarr__Postgres__* environment variables மூலம் அதைப் பயன்படுத்திக்கொள்ளலாம். ஒரு பயனர் மற்றும் ஒரு server-க்கு SQLite-ஐப் பயன்படுத்துவதே சரியான தேர்வாகும்.

Chaptarr-க்கான Compose சேவை

இந்தச் சேவை ஏற்கனவே உள்ள stack-ல் இணைகிறது. இது ஒரு குறிப்பிட்ட release tag-ஐப் பயன்படுத்துகிறது, web UI-ஐ loopback-ல் மட்டும் வெளியிடுகிறது, மேலும் உங்கள் download client ஏற்கனவே பயன்படுத்தும் network-ல் இணைகிறது.

services:
  chaptarr:
    image: chaptarr/chaptarr:0.9.925
    container_name: chaptarr
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=002
      - TZ=Europe/Berlin
    volumes:
      - ./config:/config
      - /srv/media/audiobooks:/audiobooks
      - /srv/media/ebooks:/ebooks
      - /srv/media/downloads:/downloads
    ports:
      - 127.0.0.1:8789:8789
    restart: unless-stopped
    networks:
      - arr

networks:
  arr:
    external: true

external: true வரி என்பது "இந்த network ஏற்கனவே உள்ளது, இதனுடன் இணையவும்" என்று பொருள்படும். Prowlarr மற்றும் உங்கள் torrent client ஆகியவை வெவ்வேறு Compose project-ல் இருக்கும்போது இதைப் பயன்படுத்தவும். இல்லையெனில், இரண்டாவது Compose கோப்பு அதன் சொந்த தனிமைப்படுத்தப்பட்ட network-ஐ உருவாக்கும், அப்போது Chaptarr-ஆல் qbittorrent-ஐ பெயரின் அடிப்படையில் கண்டறிய முடியாது. docker network ls மூலம் சரியான பெயரைப் பெறவும். உங்கள் stack ஏற்கனவே ஒரே கோப்பில் இருந்தால், chaptarr: சேவையை அந்த கோப்பில் சேர்த்துவிட்டு, முழு networks: தொகுதியையும் நீக்கிவிடவும். விரிவான அமைப்பு Docker Compose-ன் கீழ் முழுமையான arr stack என்பதிலும், பெயரிடும் விதிகள் Compose networks மற்றும் service பெயர்கள் எவ்வாறு செயல்படுகின்றன என்பதிலும் விளக்கப்பட்டுள்ளன.

config கோப்பகத்தை நீங்களே உருவாக்கிவிட்டு, சேவையைத் தொடங்கவும்.

mkdir -p ./config
sudo chown 1000:1000 ./config
docker compose up -d
docker compose ps
docker compose logs -f chaptarr

docker compose ps கட்டளை container-ஐ Up நிலையில் காட்ட வேண்டும். Restarting என்று பட்டியலிடப்பட்ட container தொடங்கத் தவறிவிட்டது மற்றும் மீண்டும் தொடங்க முயற்சிக்கிறது என்று பொருள்; இதற்கு பெரும்பாலும் config கோப்பகமே காரணமாக இருக்கும். port 8789-ல் app இயங்கத் தொடங்கியதும் log நகர்வது நின்றுவிடும்.

PUID, PGID மற்றும் root பயனராக Docker உருவாக்கும் கோப்பகம்

நீங்கள் PUID=99 மற்றும் PGID=100 மதிப்புகளை அமைக்கவில்லை என்றால், Chaptarr இயல்பாகவே அந்த மதிப்புகளைப் பயன்படுத்தும். இவை unRAID-க்கான மதிப்புகள்; சாதாரண Ubuntu VPS-ல் இவை எந்தப் பயனுள்ள பயனருக்கும் உரியவை அல்ல. இதனால், உங்கள் login கணக்கினால் எழுத முடியாத உரிமையாளருடன் கோப்புகள் உருவாக்கப்படும். id -u மற்றும் id -g கட்டளைகளைப் பயன்படுத்தி உங்கள் சொந்த எண்களைக் கண்டறிந்து, அவற்றை கோப்பில் உள்ளிடவும்.

ஒரே கோப்புகளை அணுகும் அனைத்து container-களும் ஒரே ஜோடி மதிப்புகளைப் பயன்படுத்த வேண்டும். Download client /srv/media/downloads-ல் கோப்புகளை எழுதுகிறது, Chaptarr அவற்றை /srv/media/audiobooks-க்கு நகர்த்துகிறது, player அங்கிருந்து கோப்புகளைப் படிக்கிறது. Download client 1000:1000 ஆகவும், Chaptarr 99:100 ஆகவும் இயங்கினால், கோப்பின் உரிமையாளர் Chaptarr ஆக இல்லாததால் அதை நீக்கவோ அல்லது நகர்த்தவோ முடியாமல் import தோல்வியடையும். பல container-கள் ஒரே media group-ஐப் பகிரும்போது, புதிய கோப்புகளை group-ல் உள்ள அனைவரும் எழுதும் வகையில் மாற்ற UMASK=002 உதவும். முழுமையான mapping விவரங்களை PUID மற்றும் PGID எவ்வாறு container பயனரை host கோப்புகளுடன் இணைக்கிறது என்பதில் காணலாம்.

README-ல் ஒரு குறிப்பிட்ட சிக்கலைப் பற்றி எச்சரிக்கப்பட்டுள்ளது, அதை மீண்டும் குறிப்பிடுவது அவசியம். நீங்கள் docker compose up கட்டளையை இயக்கும்போது ./config கோப்பகம் இல்லையென்றால், Docker அதை root:root உரிமையாளருடன் உருவாக்கிவிடும். அப்போது container UID 1000 ஆக இயங்கும், ஆனால் அதன் சொந்த database-ஐ எழுத முடியாது. இதனால் அது தொடர்ந்து restart ஆகிக்கொண்டே இருக்கும். ls -ln ./config கட்டளையைப் பயன்படுத்தி இதைச் சரிபார்க்கவும்; இது பெயர்களுக்குப் பதிலாக உரிமையாளரின் எண்களைக் காட்டும். இரண்டு பூஜ்ஜியங்கள் (zeros) இருந்தால், root உரிமையாளராக உள்ளது என்று பொருள். sudo chown -R 1000:1000 ./config கட்டளையைப் பயன்படுத்தி இதைச் சரிசெய்துவிட்டு, container-ஐ மீண்டும் தொடங்கவும்.

மேலே உள்ள அமைப்பு /audiobooks, /ebooks மற்றும் /downloads ஆகியவற்றைத் தனித்தனி binds-ஆக மவுண்ட் செய்கிறது, இது அந்தத் திட்டத்தின் சொந்த run கட்டளைக்கு இணங்க உள்ளது. இதைப் புரிந்துகொள்வது எளிது, ஆனால் இதில் ஒரு முக்கிய சிக்கல் உள்ளது: hardlinks வேலை செய்யாது.

Hardlink என்பது வட்டில் உள்ள அதே தரவிற்கான இரண்டாவது பெயராகும். இது கூடுதல் இடத்தைப் பயன்படுத்தாது மற்றும் உடனடியாகச் செயல்படும், இதனால்தான் arr குடும்ப மென்பொருள்கள் கோப்புகளை நகலெடுப்பதை விட இதை விரும்புகின்றன. ஒரு hardlink ஒரே filesystem-க்குள் மட்டுமே வேலை செய்யும். கொள்கலனுக்குள் (container) இவை மூன்று தனித்தனி மவுண்ட் புள்ளிகளாக இருப்பதால், host பாதைகள் ஒரே வட்டில் இருந்தாலும் kernel இந்த இணைப்பை மறுத்துவிடும். நீங்களே இதைச் சோதித்துப் பாருங்கள்.

docker exec chaptarr sh -c 'touch /downloads/linktest && ln /downloads/linktest /audiobooks/linktest'

இந்தக் கட்டளை Invalid cross-device link என்று முடியும் பிழையுடன் தோல்வியடையும். மவுண்ட் புள்ளிகளுக்கு இடையே இணைப்பை ஏற்படுத்த kernel மறுப்பதே இதற்குக் காரணம், இதனால்தான் Chaptarr கோப்பை நகலெடுக்கும் முறைக்கு மாறுகிறது. நகல் சரியாக இருந்தாலும் அது மெதுவானது, மேலும் நீங்கள் torrent-ஐ seeding செய்யும் வரை அதை நீக்க மாட்டீர்கள் என்பதால், ஆடியோபுக் இரண்டு முறை வட்டில் இருக்கும். அதன் பிறகு /srv/media/downloads/linktest-ஐ நீக்கவும்.

Hardlinks-ஐத் தக்கவைக்க, அதற்குப் பதிலாக ஒரு parent directory-ஐ மவுண்ட் செய்யவும்:

    volumes:
      - ./config:/config
      - /srv/media:/data

பிறகு Chaptarr-க்குள் உள்ள root folders-ஐ /data/audiobooks மற்றும் /data/ebooks என அமைக்கவும், மேலும் download client-க்கு அதே /srv/media:/data மவுண்ட்டைக் கொடுக்கவும், அப்போதுதான் இரண்டு கொள்கலன்களும் ஒரே மாதிரியான பாதையைப் பார்க்கும். host பக்கத்தில் ஒரே filesystem உள்ளதா என்பதை முதலில் உறுதிப்படுத்தவும்: df -h /srv/media/downloads /srv/media/audiobooks கட்டளை இரண்டுக்கும் Filesystem நெடுவரிசையில் ஒரே மதிப்பைக் காட்ட வேண்டும். வெவ்வேறு மதிப்புகள் இருந்தால் அவை வெவ்வேறு வட்டுகள் என்று பொருள், எந்த மவுண்ட் அமைப்பாலும் அவற்றுக்கு இடையே hardlink செய்ய முடியாது. இதற்கும் named storage-க்கும் இடையிலான வேறுபாடுகள் ஊடகங்களுக்கான bind mounts மற்றும் named volumes ஒப்பீடு பகுதியில் விளக்கப்பட்டுள்ளன.

இணைய இடைமுகத்தை (web UI) வெளிப்படுத்தாமல் அணுகுதல்

127.0.0.1-ல் port-ஐ வெளியிடுவதற்கு ஒரு காரணம் உள்ளது. Docker ஒரு port-ஐ வெளியிடும்போது, ufw deny 8789 அதை முழுமையாகப் பாதுகாப்பதில்லை. ஏனெனில், Docker தனது சொந்த NAT (network address translation) விதிகளை kernel-ன் சங்கிலியில் (chain) எழுதும்; இது ufw விதிகளை விட முன்னதாகவே செயல்படும். எனவே, உங்கள் விதிகள் சரிபார்க்கப்படுவதற்கு முன்பே traffic முன்னோக்கி அனுப்பப்பட்டுவிடும். இந்தச் செயல்பாடு பலரைத் தவறாக வழிநடத்துகிறது. இது ஏன் வெளியிடப்பட்ட Docker port உங்கள் ufw விதிகளைப் புறக்கணிக்கிறது என்பதில் விளக்கப்பட்டுள்ளது. Loopback-ல் bind செய்வதன் மூலம் இதை முழுமையாகத் தவிர்க்கலாம்.

உங்கள் கணினியிலிருந்து SSH tunnel வழியாக web UI-ஐ அணுகவும்:

ssh -N -L 8789:127.0.0.1:8789 you@your-server

அதை இயங்கவிட்டு, உங்கள் browser-ல் http://127.0.0.1:8789-ஐத் திறக்கவும். முதல்முறை இயக்கும்போது authentication-ஐ அமைக்கவும். அதற்குப் பிறகு மட்டுமே, அதன் முன்னால் TLS (transport layer security) கொண்ட reverse proxy-ஐப் பயன்படுத்துவதைப் பற்றிச் சிந்திக்கவும். இதுபோன்ற மூன்று அல்லது நான்கு கருவிகளைத் தனித்தனி கடவுச்சொற்களுடன் tunnel மூலம் அணுகத் தொடங்கிய பிறகு, Authentik போன்ற ஒரு self-hosted single sign-on server-ஐ proxy-க்கு பின்னால் வைப்பதே சிறந்த தீர்வாகும். இதன் மூலம் ஒரே login-ல் அனைத்து app-களையும் அணுக முடியும், மேலும் ஒரே revocation மூலம் அனைத்தையும் மூட முடியும்.

Indexers மற்றும் download client-ஐ இணைத்தல்

Chaptarr, standard arr indexer மற்றும் download client protocols-ஐ ஆதரிக்கிறது. எனவே, Prowlarr மூலம் indexer-களை Sonarr-க்கு இணைப்பது போலவே இதற்கும் இணைக்கலாம். வழக்கமான torrent மற்றும் usenet client-களை எந்தவித கூடுதல் மாற்றமும் இன்றி இணைக்க முடியும்.

ஒரு குறிப்பிட்ட அமைப்பு மட்டும் பலருக்கும் குழப்பத்தை ஏற்படுத்துகிறது. Chaptarr-ல் download client host-ஐ உள்ளிடும்போது, localhost அல்லது 127.0.0.1 என்று தட்டச்சு செய்ய வேண்டாம். Container-க்குள் அந்த முகவரி என்பது அந்த container-ஐயே குறிக்கும். எனவே, Chaptarr தனது சொந்த port 8080-ல் தொடர்பு கொள்ள முயன்று, இணைக்க முடியவில்லை என்று பிழையைக் காட்டும். அதற்குப் பதிலாக, container-ன் பெயரான qbittorrent மற்றும் port 8080-ஐப் பயன்படுத்தவும். docker network inspect arr கட்டளையைப் பயன்படுத்தி, இரண்டு container-களும் ஒரே network-ல் இருப்பதை உறுதிப்படுத்தவும்; இது இணைக்கப்பட்டுள்ள அனைத்து container-களின் பெயர்களையும் பட்டியலிடும்.

உங்கள் download client ஒரு VPN container வழியாக network_mode: "service:gluetun" மூலம் இயங்கினால், அதற்கு network-ல் தனிப்பெயர் இருக்காது, ஏனெனில் அது Gluetun-ன் network namespace-ஐப் பகிர்ந்து கொள்கிறது. எனவே, Gluetun வெளிப்படுத்தும் port-ல் அதை gluetun என்று குறிப்பிடவும். அந்த அமைப்பு மற்றும் அதனுடன் தொடர்புடைய routing விவரங்களை routing a download client through Gluetun பகுதியில் காணலாம்.

Readarr மாற்றம்: இடம்பெயர்வுக்கான உண்மையான செலவு

Chaptarr, Readarr-ன் metadata ஆதாரங்களுடன் இணக்கமானது அல்ல. இது தலைப்புகள், ஆசிரியர்கள் மற்றும் பதிப்புகளைப் பல வழங்குநர்கள் வழியாகத் தனது சொந்த pipeline மூலம் கண்டறிகிறது, எனவே Readarr சேமித்து வைத்திருந்த identifiers இங்கே பயன்படாது. இதில் database import வசதியோ அல்லது எளிதான upgrade வழியோ இல்லை.

ஏற்கனவே உள்ள ஒரு library-க்கு, கோப்புகள் (files) பாதுகாப்பாக இருக்கும், ஆனால் அமைப்புகள் (settings) இருக்காது. இந்தச் செயல்பாட்டில் வட்டில் (disk) உள்ள எதையும் மாற்ற முடியாது. நீங்கள் ஒரு root folder-ஐச் சேர்த்து, library import-ஐ இயக்க வேண்டும்; அப்போது Chaptarr கண்டறியும் கோப்புகளைத் தனது சொந்த metadata-வுடன் ஒப்பிட்டுப் பார்க்கும். நீங்கள் கைமுறையாக மீண்டும் உருவாக்க வேண்டியவை: quality profiles, naming format, indexer மற்றும் client அமைப்புகள், மற்றும் Chaptarr தவறாகக் கணிக்கும் ஒவ்வொரு பொருத்தம் (match). பெரிய library-ஆக இருந்தால், கைமுறையாகச் சரிசெய்ய வேண்டியிருக்கும், எனவே பத்து நிமிடங்களுக்குப் பதிலாக ஒரு மாலைப் பொழுதை இதற்காக ஒதுக்குங்கள்.

இதை இந்த வரிசையில் செய்யுங்கள். Readarr container-ஐ நிறுத்துங்கள், ஆனால் அதன் config volume-ஐ அப்படியே வைத்திருங்கள், அப்போதுதான் பழைய அமைப்புகளைப் பார்த்துப் புதியதில் உள்ளிட முடியும். முதலில் ஒரு சிறிய folder-ஐ மட்டும் Chaptarr-ல் காட்டி, அனைத்தையும் import செய்வதற்கு முன் பொருத்தங்களைச் சரிபார்க்கவும். நீங்கள் திருப்தியடைந்த பிறகு மட்டும் பழைய container-ஐ நீக்கவும்.

முழு library-ஐயும் scan செய்வதற்கு முன் தெரிந்துகொள்ள வேண்டிய ஒரு தனியுரிமை விவரம்: metadata தேடல்கள் api2.chaptarr.com-க்குச் செல்லும். அந்தத் தேடல்களில் provider IDs, search text, media type, tags மற்றும் filenames ஆகியவை இருக்கலாம் என்றும், முழுமையான paths, பயனர் அடையாளம் மற்றும் credentials ஆகியவை தவிர்க்கப்படும் என்றும் README கூறுகிறது. கோப்புப் பெயர்கள் (filenames) உங்கள் server-ஐ விட்டு வெளியேறும். இது ஒரு metadata சேவைக்கு இயல்பானது, இருப்பினும் இதை நீங்கள் கவனமாக முடிவு செய்ய வேண்டும்.

Audiobook-களை ஒரு player-க்கு அனுப்புதல்

Chaptarr கோப்புகளை ஒழுங்கமைக்கிறது. அவற்றை இயக்குவது மற்றொரு நிரலின் வேலை. Audiobookshelf இதற்கான பொதுவான தேர்வாகும், ஏனெனில் இது பல்வேறு சாதனங்களில் நீங்கள் கேட்கும் இடத்தைக் கண்காணிப்பதோடு, இதற்கென பிரத்யேக phone apps-களையும் கொண்டுள்ளது. இதன் அதிகாரப்பூர்வ image ghcr.io/advplyr/audiobookshelf:latest ஆகும். இதன் ஆவணப்படுத்தப்பட்ட Compose உதாரணம், host port 13378-ஐ container port 80-க்கு வெளியிடுகிறது.

  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - 127.0.0.1:13378:80
    volumes:
      - ./abs/config:/config
      - ./abs/metadata:/metadata
      - /srv/media/audiobooks:/audiobooks
    environment:
      - TZ=Europe/Berlin
    restart: unless-stopped

Chaptarr எழுதும் அதே host path-ஐ mount செய்யவும். பின்னர், web UI-க்குள் /audiobooks-ஐ ஒரு library-ஆகச் சேர்க்கவும். அடுத்த scan-க்கு பிறகு புதிய import தோன்றும்.

நீங்கள் ஏற்கனவே Jellyfin பயன்படுத்துகிறீர்கள் என்றால், அந்த folder-ஐ அங்கு ஒரு library-ஆகச் சேர்க்கலாம்; அது கோப்புகளை இயக்கும். இருப்பினும், நீண்ட audiobook கோப்புகளில் மீண்டும் தொடரும் (resume) வசதி, பிரத்யேக audiobook server-ஐ விட இதில் குறைவாகவே இருக்கும். அந்த அமைப்பை உருவாக்குவது VPS-ல் media server-ஆக Jellyfin-ஐ இயக்குதல் பகுதியில் விவரிக்கப்பட்டுள்ளது. Ebook பகுதிக்கு, /srv/media/ebooks-ஐ ஒரு reader application-க்கு அனுப்பவும்; கோப்பு பெயரிடப்பட்டு சேமிக்கப்பட்டவுடன் Chaptarr-ன் வேலை முடிவடைகிறது.

பராமரிப்பு இடர்: உரிமம், இயக்கநேரம் மற்றும் விரைவாக மாறும் tag

Chaptarr என்பது GPL-3.0 உரிமத்தின் கீழ் உள்ளது. இதன் பதிப்புரிமை Chaptarr பங்களிப்பாளர்களிடமும், சில பகுதிகள் Servarr குழுவிடமும் உள்ளது. எனவே, இந்த மென்பொருள் திறந்த மூலமாகவே இருக்கும்; தற்போதைய பராமரிப்பாளர் நிறுத்தினால், எவரும் இதை மீண்டும் fork செய்ய முடியும். இது .NET 10-ல் கட்டமைக்கப்பட்டுள்ளது. இது ஆகஸ்ட் 2026 நிலவரப்படி, runtime-ன் தற்போதைய நீண்டகால ஆதரவு (LTS) வெளியீடாகும். இதன் பொருள், இதன் அடிப்படை கட்டமைப்பு மாதக்கணக்கில் அல்லாமல், பல ஆண்டுகளுக்கு ஆதரவு பெறும். அடுத்த ஆண்டு இந்தத் திட்டம் இருக்குமா என்று நீங்கள் மதிப்பிடும்போது, இந்த இரண்டு உண்மைகளும் முக்கியமானவை.

பதிப்பு எண்கள் மிக வேகமாக மாறுகின்றன. வெளியீடுகள் pre-releases ஆக வெளியிடப்படுகின்றன; இந்த வழிகாட்டி எழுதப்பட்ட அதே நாளில் 0.9.925 பதிப்பு வெளியானது. ஒரு குறிப்பிட்ட tag-ஐ மட்டும் பயன்படுத்துங்கள். latest-ஐப் பயன்படுத்துவது என்பது, கவனிக்கப்படாத ஒரு docker compose pull உங்களை ஒரே வாரத்தில் பல பதிப்புகளுக்கு முன்னோக்கி நகர்த்தக்கூடும் என்பதாகும். இவ்வளவு புதிய ஒரு fork, வெளியீடுகளுக்கு இடையே அதன் API-ஐ மாற்றக்கூடும். இது நீங்கள் உருவாக்கிய எந்தவொரு script அல்லது dashboard-ஐயும் செயலிழக்கச் செய்யும்.

ஒவ்வொரு மேம்படுத்தலுக்கு (upgrade) முன்பும் backup எடுங்கள், அதன் பிறகு திட்டமிட்டு மேம்படுத்துங்கள்.

docker compose stop chaptarr
sudo tar czf chaptarr-config-backup.tgz ./config
docker compose start chaptarr
docker compose pull chaptarr
docker compose up -d chaptarr

இந்த project, சுமார் ஆறு மாத காலத்திலும் 11,000-க்கும் மேற்பட்ட users-இடையிலும் data loss நிகழ்வுகள் எதுவும் பதிவாகவில்லை என்று தெரிவிக்கிறது. இருப்பினும், backups வைத்திருக்க வேண்டும் என்றும், இழந்துவிடக் கூடாத library-ஐ அதனுடன் இணைக்கக் கூடாது என்றும் அது தொடர்ந்து அறிவுறுத்துகிறது. இந்த இரண்டு அம்சங்களையும் தீவிரமாக எடுத்துக்கொள்ளுங்கள்.

config archive-ஐ server-க்கு வெளியே copy செய்யுங்கள். பாதுகாக்கப்படும் தரவுடன் அதே disk-ல் இருக்கும் backup உண்மையான backup அல்ல. Chaptarr தனது state-ஐ /config-ன் கீழ் உள்ள ஒரே SQLite file-ல் வைத்திருப்பதால் மட்டுமே அந்த ஒரே tarball போதுமானதாகிறது. தனி database server-ல் இருக்கும் எந்தத் தரவுக்கும் database dump-ஐயும் உருவாக்க வேண்டும். Postgres data மற்றும் uploaded files உடன் VPS-ல் Chatwoot-ஐ self-hosting செய்வது போன்ற சூழலில் backup step-ன் வடிவம் இதுவாகும்.

தோல்வி முறைகள் மற்றும் நீங்கள் காணும் செய்திகள்

Container மீண்டும் மீண்டும் restart ஆகிறது. docker compose ps-ல் Restarting என்று காட்டுகிறது. ls -ln ./config கட்டளையை இயக்கவும். உரிமையாளர் நெடுவரிசையில் இரண்டு பூஜ்ஜியங்கள் இருந்தால், Docker அந்த கோப்பகத்தை root உரிமையில் உருவாக்கியுள்ளது என்று பொருள்; இதனால் container-ல் உள்ள பயனர் அதன் database-ல் எழுத முடியாது. sudo chown -R 1000:1000 ./config கட்டளையை இயக்கவும்.

Imports முடிவடைவதில்லை மற்றும் கோப்புகள் downloads கோப்பகத்திலேயே இருக்கின்றன. Chaptarr-ஆல் download கோப்பகத்தைப் படிக்க முடிகிறது, ஆனால் library-க்குள் எழுத முடியவில்லை. உங்கள் PUID மற்றும் PGID ஆகியவற்றுடன் ls -ln /srv/media/audiobooks-ஐ ஒப்பிட்டுப் பார்க்கவும். கோப்பகம் வேறு ஒரு UID-க்கு சொந்தமாக இருந்தாலோ அல்லது உங்கள் group-க்கு எழுதும் உரிமை (group write) இல்லாமலோ இருந்தால், கோப்பு நகர்த்தப்படாது. UMASK=002 புதிய கோப்புகளுக்கு இத்தகைய சிக்கலைத் தவிர்க்கும்.

ஒவ்வொரு import-க்குப் பிறகும் வட்டு பயன்பாடு (disk usage) இருமடங்காகிறது. Hardlink உருவாக்கப்படவில்லை, எனவே கோப்பு நகலெடுக்கப்பட்டுள்ளது. Volumes பகுதியில் உள்ள ln சோதனையை இயக்கவும். Invalid cross-device link என முடியும் பிழை ஏற்பட்டால், அது hardlink உருவாக்கப்படவில்லை என்பதை உறுதிப்படுத்துகிறது; இதற்கு single-parent mount-ஐப் பயன்படுத்துவதே தீர்வாகும்.

Download client இணைக்க மறுக்கிறது. நீங்கள் host-ஆக localhost என்று குறிப்பிட்டுள்ளீர்கள். Container-க்குள் அது Chaptarr-ஐயே குறிக்கும். Container பெயரைப் பயன்படுத்தவும் மற்றும் docker network inspect arr கட்டளை மூலம் இரண்டு container-களும் பட்டியலில் உள்ளதா எனச் சரிபார்க்கவும்.

Compose சேவையைத் தொடங்க மறுக்கிறது. Bind for 127.0.0.1:8789 failed: port is already allocated என்றால், அந்த port-ஐ வேறொரு சேவை பயன்படுத்துகிறது என்று பொருள். sudo ss -lntp | grep 8789 கட்டளையைப் பயன்படுத்தி அதைக் கண்டறியவும்.

Browser-ல் எதுவும் தெரியவில்லை. Port 127.0.0.1-ல் பிணைக்கப்பட்டிருந்தால் (bound), இணையம் வழியாக உங்கள் மடிக்கணினியால் எதையும் இணைக்க முடியாது. இதுவே எதிர்பார்க்கப்படும் செயல்பாடு. முதலில் SSH tunnel-ஐத் திறக்கவும்.

FAQ

எனது Readarr library-ஐ Chaptarr-க்கு மாற்ற முடியுமா?

இறக்குமதி (import) செய்யும் வசதி கிடையாது. Readarr-ன் metadata ஆதாரங்கள் Chaptarr-க்கு பொருந்தாது; இது தனக்கென பிரத்யேக provider pipeline-ஐ பயன்படுத்துகிறது. எனவே, Readarr-ல் சேமிக்கப்பட்ட identifiers-க்கு இங்கு அர்த்தமில்லை, database மாற்றமும் செய்ய முடியாது. உங்கள் வட்டில் (disk) உள்ள கோப்புகள் பாதிக்கப்படாது. நீங்கள் அதே கோப்பு பாதைகளை (paths) root folders-ஆக சேர்த்து, library import-ஐ இயக்க வேண்டும்; Chaptarr தானாகவே கோப்புகளை அடையாளம் காணும். Quality profiles, naming format, indexer settings மற்றும் தவறான பொருத்தங்களை நீங்களே சரிசெய்ய வேண்டும். எனவே, அனைத்தையும் இறக்குமதி செய்வதற்கு முன் ஒரு சிறிய கோப்புறையை வைத்து சோதிக்கவும்.

எனது audiobook கோப்புறையில் Chaptarr ஏன் எழுத முடியவில்லை?

Container-ன் user-க்கு அந்த கோப்புகளின் உரிமை (ownership) இல்லை. PUID=99 மற்றும் PGID=100 ஆகிய variables அமைக்கப்படாதபோது, Chaptarr அவற்றை இயல்பாக எடுத்துக்கொள்ளும். இவை unRAID-க்கான மதிப்புகள், சாதாரண Ubuntu VPS-ல் இவை தவறானவை. இவற்றை உங்கள் சொந்த id -u மற்றும் id -g மதிப்புகளுக்கு மாற்றவும். Download client-லும் அதே ஜோடியைப் பயன்படுத்தவும். புதிய கோப்புகள் group-writable நிலையில் இருக்க UMASK=002-ஐ அமைக்கவும். Library கோப்பகத்தில் ls -ln கட்டளையைப் பயன்படுத்தி உரிமையைச் சரிபார்க்கவும்; இது பெயர்களுக்குப் பதிலாக எண்களைக் காட்டுவதால், அவற்றை ஒப்பிடுவது எளிது.

இறக்குமதி செய்த பிறகு எனது disk பயன்பாடு ஏன் இருமடங்கானது?

Hardlink செய்ய முடியாததால் Chaptarr கோப்பை நகல் (copy) எடுத்துள்ளது. /downloads மற்றும் /audiobooks ஆகியவற்றை தனித்தனி binds-ஆக mount செய்யும்போது, அவை container-க்குள் தனித்தனி mount points-ஆக மாறுகின்றன. வெவ்வேறு mount points-க்கு இடையே hardlink செய்ய kernel அனுமதிக்காது, இதனால் Invalid cross-device link பிழை ஏற்படும். /srv/media:/data போன்ற ஒரு பொதுவான parent directory-ஐ mount செய்து, app-க்குள் /data/downloads மற்றும் /data/audiobooks-ஐப் பயன்படுத்தவும். இரண்டு பாதைகளும் ஒரே host filesystem-ல் இருக்க வேண்டும், இதை df -h மூலம் உறுதிப்படுத்தலாம்.

Chaptarr எனது audiobook-களை ஒலிபரப்புமா (play)?

இல்லை. இது கோப்புகளைத் தேடுதல், பதிவிறக்குதல், பெயர் மாற்றுதல் மற்றும் கோப்புறைகளில் அடுக்கும் பணிகளை மட்டுமே செய்யும். ஒலிபரப்புவதற்கு தனி மென்பொருள் தேவை. Audiobookshelf இதனுடன் பொதுவாகப் பயன்படுத்தப்படுகிறது, ஏனெனில் இது சாதனங்களுக்கு இடையே நீங்கள் நிறுத்திய இடத்திலிருந்து மீண்டும் ஒலிபரப்ப உதவும். இதற்கு அதிகாரப்பூர்வ image ghcr.io/advplyr/audiobookshelf:latest-ஐப் பயன்படுத்தி, அதே host audiobook பாதையை mount செய்யவும். Jellyfin-லும் கோப்புறையை library-ஆகச் சேர்த்தால் ஒலிபரப்பலாம், ஆனால் நீண்ட ஒற்றைக் கோப்பு audiobook-களில் மீண்டும் தொடங்கும் வசதி (resume) அவ்வளவு சிறப்பாக இருக்காது.

நான் பாதுகாக்கும் library-ல் Chaptarr-ஐ இயக்குவது பாதுகாப்பானதா?

இது ஒரு புதிய fork-லிருந்து வந்த beta மென்பொருள். சுமார் ஆறு மாதங்களாக, பதினோராயிரம் பயனர்களுக்கு மேல் இதைப் பயன்படுத்தியதில் தரவு இழப்பு எதுவும் ஏற்படவில்லை என்று திட்டக்குழு கூறுகிறது. GPL-3.0 உரிமம் இருப்பதால் குறியீட்டை (code) மாற்றிக்கொள்ள முடியும் என்பது ஒரு பாதுகாப்பு. மேலும், ஆகஸ்ட் 2026 நிலவரப்படி .NET 10 என்பது நீண்ட கால ஆதரவு (LTS) கொண்ட runtime ஆகும். latest-க்கு பதிலாக 0.9.925 போன்ற ஒரு குறிப்பிட்ட image tag-ஐப் பயன்படுத்தவும். ஒவ்வொரு upgrade-க்கு முன்பும் /config-ஐ backup எடுக்கவும், அந்த archive-ஐ server-க்கு வெளியே பாதுகாப்பாக வைக்கவும்.