Tropic Host

Audiobookshelf-ը VPS-ում․ ձեր սեփական աուդիոգրքերի և փոդքասթների գրադարանը

1 րոպե կարդալ
Tropic
Audiobookshelf-ը VPS-ում․ ձեր սեփական աուդիոգրքերի և փոդքասթների գրադարանը

Language: hy

Audiobookshelf․ ինչպես ստեղծել սեփական աուդիոգրքերի և փոդքասթների սերվերը

Գիրքը համակարգչում լսել սկսելը, հեռախոսում նույն տեղից շարունակելը, ճանապարհորդությունից առաջ ներբեռնելը և սարքը փոխելուց հետո առաջընթացը պահպանելը հնարավոր է առանց ևս մեկ վճարովի ծառայությունից կախված լինելու։ Audiobookshelf-ը ձեր աուդիոհավաքածուն վերածում է կոկիկ առցանց գրադարանի՝ կազմերով, գլուխներով, հավելվածներով և ամբողջ ընտանիքի համար առանձին պրոֆիլներով։

Սա ոչ խանութ է, ոչ էլ անվճար գրքերի աղբյուր։ Օգտատերերն իրենք են ավելացնում օրինականորեն ձեռք բերված աուդիոֆայլերը, որոնք չունեն անհամատեղելի DRM պաշտպանություն։ Փոխարենը գրքերը, լսելու պատմությունը և կարգավորումները մնում են սեփական սերվերում։

Ի՞նչ է Audiobookshelf-ը

Audiobookshelf-ը աուդիոգրքերի և փոդքասթների համար նախատեսված անվճար, բաց կոդով, սեփական սերվերում տեղադրվող սերվեր է։ Այն սկանավորում է մեդիաֆայլերի թղթապանակները, կազմակերպում գրադարանը ըստ հեղինակների և շարքերի, ստանում մետատվյալներն ու կազմերը, ապա թույլ է տալիս հավաքածուն լսել բրաուզերից կամ բջջային հավելվածից։

Գործնականում սա անձնական հոսքային ծառայություն է, որի կատալոգը դուք եք ստեղծում։ Սերվերը պահում է գրադարանը և լսելու առաջընթացը, իսկ հեռախոսը, պլանշետը կամ համակարգիչը գործում են որպես հաճախորդ։ Այդ պատճառով մի սարքում դադարեցրած գիրքը կարող եք շարունակել մյուսում՝ պահպանված դիրքից։

Audiobookshelf-ը կարող է աշխատել տանը՝ NAS-ի կամ մինի-համակարգչի վրա։ VPS-ն ավելի հարմար է, երբ ցանկացած ցանցից հասանելիություն է պետք՝ առանց տնային համակարգիչը մշտապես միացված պահելու, պորտերի վերահասցեավորում կարգավորելու կամ տնային ինտերնետից կախված լինելու։

Ի՞նչ կարող է անել Audiobookshelf-ը

Առաջընթացի համաժամացում սարքերի միջև

Յուրաքանչյուր օգտատեր ունի իր պահպանված դիրքը, պատմությունը և էջանիշերը։ Հասանելի են վեբ ինտերֆեյսը, Progressive Web App-ը և Android-ի ու iOS-ի պաշտոնական բջջային հաճախորդները։ Գիրքը կարող եք նախապես ներբեռնել հեռախոսում և լսել առանց ինտերնետ կապի։

Առանձին հաշիվների ստեղծում

Մեկ սերվերում կարելի է ստեղծել մի քանի օգտատեր՝ առանց նրանց լսելու առաջընթացը խառնելու։ Ադմինիստրատորը կառավարում է գրադարանների և թույլտվությունների հասանելիությունը, իսկ անհրաժեշտության դեպքում կարող է սահմանափակել բովանդակությունը թեգերով։ Յուրաքանչյուր օգտատեր պահպանում է ընթացիկ գրքերի, պատմության և էջանիշերի իր ցուցակը։

Գրադարանի կազմակերպում

Ծառայությունը արտաքին աղբյուրներից ստանում է վերնագրերը, նկարագրությունները, հեղինակներին և կազմերը, խմբավորում գրքերը ըստ հեղինակների ու շարքերի և թույլ է տալիս ուղղել գլուխներն ու հետևել հերթականությանը։ Մի քանի MP3 ֆայլ կարելի է միավորել մեկ M4B ֆայլի մեջ, իսկ կազմն ու մետատվյալները ներկառուցել ֆայլում։ Սկզբնական ֆայլերը փոփոխելուց առաջ լավագույնն է գրադարանի պատճենը ստեղծել։

Փոդքասթների ավտոմատ ներբեռնում

Փոդքասթը կարելի է ավելացնել վերնագրով, RSS URL-ով կամ OPML ֆայլով, որից հետո կարող եք պլանավորել նոր թողարկումների ավտոմատ ներբեռնումը։ Ծառայությունն անմիջապես չի հեռարձակում թողարկումը․ ֆայլը նախ պահվում է սերվերում։ Սա հնարավորություն է տալիս արխիվացնել այն թողարկումները, որոնք կարող են անհետանալ, սակայն պահանջում է նաև սկավառակի տարածք։

Էլեկտրոնային գիրքը աուդիոգրքի կողքին պահելը

Գրքի թղթապանակում կարող եք տեղադրել EPUB, PDF, CBR, CBZ, AZW3 կամ MOBI ֆայլ, որպեսզի աուդիոն և տեքստը բացվեն գրադարանի նույն գրառումից։ Ներկառուցված ընթերցիչը հիմնական հնարավորություններ ունի և չի փոխարինում Calibre-Web-ին կամ Kavita-ին։

Ո՞ւմ համար է Audiobookshelf-ը

Ծառայությունը հատկապես օգտակար է հետևյալ իրավիճակներում․

  • արդեն ունեք աուդիոգրքերի հավաքածու MP3, M4B, M4A կամ այլ տարածված ձևաչափերով,
  • լսում եք մի քանի սարքով և ուզում եք համաժամացում,
  • գրադարանից օգտվում են ընտանիքի մի քանի անդամներ,
  • ցանկանում եք պահպանել ձեր փոդքասթների սեփական արխիվը,
  • ուզում եք լիակատար վերահսկողություն ֆայլերի, օգտատերերի հաշիվների և պահուստային պատճենների նկատմամբ,
  • սովորական ամպային թղթապանակը դարձել է անհարմար, քանի որ չունի կազմեր, գլուխներ և լսելու պատմություն։

Եթե մեկ հեռախոսով լսում եք ընդամենը մեկ կամ երկու գիրք, առանձին սերվերը կարող է ավելորդ լինել։ Audiobookshelf-ն առավել օգտակար է դառնում, երբ հավաքածուն մեծանում է կամ մշտական հեռավար հասանելիություն է պետք։

Ի՞նչ սերվեր է պետք Audiobookshelf-ին

Նախագիծը չունի միասնական պաշտոնական նվազագույն պահանջներ․ բեռնվածությունը կախված է գրադարանի չափից, օգտատերերի քանակից, ֆայլերի սկանավորումից և աուդիոյի տրանսկոդավորման անհրաժեշտությունից։ Փոքր անձնական հավաքածուի համար որպես մեկնարկային ուղեցույց կարելի է օգտագործել հետևյալ կազմաձևը․

ՍցենարCPURAMՍկավառակ
1–2 օգտատեր, փոքր գրադարան1 vCPU1 GB30–40 GB-ից
Ընտանեկան օգտագործում և մի քանի միաժամանակյա կապ2 vCPU2 GB60–100 GB-ից
Մեծ գրադարան, հաճախակի սկանավորում և ֆայլերի մշակում2–4 vCPU4 GBըստ հավաքածուի չափի

Սա գործնական ուղեցույց է, ոչ թե պաշտոնական նվազագույն պահանջ։ Գլխավոր ռեսուրսը սկավառակի տարածքն է։ 64–128 Kbit/s որակով տասը ժամանոց գիրքը զբաղեցնում է մոտ 0.3–0.6 GB, ուստի հարյուր գրքի համար՝ առանց փոդքասթների և պահուստային պատճենների, պետք է մոտ 30–60 GB։ Խելամիտ է սկսել փոքր VPS-ից, որը հետագայում հնարավոր կլինի ընդլայնել։

Ինչպես տեղադրել Audiobookshelf-ը Docker Compose-ով

Մշակողները Docker-ը խորհուրդ են տալիս որպես տեղադրման եղանակ։ Հետևյալ քայլերը ենթադրում են, որ Docker-ը և Compose պլագինն արդեն տեղադրված են Ubuntu-ում կամ Debian-ում։

Ստեղծեք նախագծի թղթապանակը և տվյալների դիրեկտորիաները․

mkdir -p /opt/audiobookshelf/{config,metadata,audiobooks,podcasts}
cd /opt/audiobookshelf

Ստեղծեք compose.yml ֆայլը․

services:
  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    container_name: audiobookshelf
    ports:
      - "13378:80"
    volumes:
      - ./config:/config
      - ./metadata:/metadata
      - ./audiobooks:/audiobooks
      - ./podcasts:/podcasts
    environment:
      - TZ=UTC
    restart: unless-stopped

Գործարկեք կոնտեյները․

docker compose up -d

Գործարկումից հետո վահանակը ժամանակավորապես հասանելի կլինի հետևյալ հասցեով․

http://SERVER_IP:13378

Առաջին այցելության ժամանակ ստեղծեք root ադմինիստրատորի հաշիվը, ապա ավելացրեք Books տեսակի գրադարան և նշեք /audiobooks դիրեկտորիան։ Փոդքասթների համար ստեղծեք առանձին գրադարան՝ /podcasts ճանապարհով։

Ինչպես ճիշտ կազմակերպել աուդիոգրքերի թղթապանակները

Audiobookshelf-ում մեկ գիրքը սովորաբար համապատասխանում է մեկ թղթապանակի։ Ամենահստակ կառուցվածքն այսպիսին է․

/audiobooks/
  Author/
    Series/
      01 - Book title/
        01 - Chapter.mp3
        02 - Chapter.mp3
        cover.jpg

Առանձին գրքի համար շարքի մակարդակը կարելի է բաց թողնել։ Մեկ M4B ֆայլը նույնպես կարելի է պահել իր սեփական գրքի թղթապանակում։

Կառուցվածքը կարևոր է․ եթե նույն հեղինակի մի քանի գիրք տեղադրվի մեկ ընդհանուր թղթապանակում, սկաները կարող է դրանք միավորել գրադարանի մեկ գրառման մեջ։ Ավելի լավ է ֆայլերը կազմակերպել առաջին ամբողջական սկանավորումից առաջ։ Գիրքը մի գրադարանից մյուսը տեղափոխելը համարվում է նոր տարրի ստեղծում, ուստի դրա մետատվյալներն ու առաջընթացը ավտոմատ չեն փոխանցվի։

Ինչպես անվտանգ հասանելի դարձնել գրադարանը ինտերնետից

Վահանակը բաց HTTP 13378 պորտում մշտապես թողնելը խորհուրդ չի տրվում։ Հեռավար հասանելիության համար ավելի լավ է միացնել դոմեն, HTTPS վկայագիր և Nginx-ի, Caddy-ի կամ Traefik-ի վրա հիմնված reverse proxy։

Audiobookshelf-ը օգտագործում է WebSocket, ուստի պրոքսիում պետք է միացնել դրա աջակցությունը։ HTTPS-ը կարգավորելուց հետո կոնտեյների պորտը կարելի է կապել միայն տեղային ինտերֆեյսին․

ports:
  - "127.0.0.1:13378:80"

Օգտագործեք եզակի գաղտնաբառեր, յուրաքանչյուր ունկնդրի համար ստեղծեք առանձին հաշիվ, թարմ պահեք կոնտեյները և ադմինիստրատորի իրավունքներ անհարկի մի տրամադրեք։

Ի՞նչ պետք է իմանալ պահուստային պատճենների մասին

Audiobookshelf-ի ներկառուցված պահուստավորումը պահպանում է տվյալների բազան և որոշ մետատվյալներ, այդ թվում՝ metadata դիրեկտորիայում գտնվող կազմերը։ Աուդիոգրքերը, փոդքասթները և մեդիաֆայլերի կողքին պահված կազմերն այս պահուստում չեն ներառվում։

Հետևաբար հուսալի պահուստավորման ռազմավարությունը բաղկացած է երկու մասից․

  1. տվյալների բազայի և մետատվյալների ավտոմատ ներկառուցված պահուստավորում,
  2. audiobooks և podcasts դիրեկտորիաների առանձին պատճենը մեկ այլ սկավառակի կամ հեռակա պահոցի վրա։

/config դիրեկտորիան պարունակում է SQLite տվյալների բազան։ Մշակողները խորհուրդ են տալիս այն պահել նույն սերվերի տեղական սկավառակի վրա, այլ ոչ թե միացնել ցանցով․ ցանցային պահոցը կարող է նվազեցնել արտադրողականությունը և վնասել տվյալների բազան։

Audiobookshelf-ը tropic.host-ի VPS-ում

Անձնական գրադարանի համար առավելագույն հաշվողական հզորությունն այնքան կարևոր չէ, որքան շարունակական հասանելիությունը, բավարար սկավառակի տարածքը և կայուն կապը։ VPS-ում Audiobookshelf-ը աշխատում է շուրջօրյա և հասանելի է մնում հեռախոսից, համակարգչից կամ պլանշետից՝ անկախ տնային ցանցի վիճակից։

Փոքր հավաքածուի համար կարող եք սկսել հիմնական tropic.host սերվերից, տեղադրել Docker, միացնել դոմենն ու HTTPS-ը, ապա գրադարանի աճին զուգահեռ ավելացնել ռեսուրսները։ Սակագին ընտրելիս նախ գնահատեք աուդիոֆայլերի չափը և տեղ թողեք նոր գրքերի ու փոդքասթների համար։

Սահմանափակումներ, որոնք պետք է նախապես իմանալ

Audiobookshelf-ը գրքերի կատալոգ չի տրամադրում և չի հեռացնում DRM պաշտպանությունը։ Այն աշխատում է այն ֆայլերի հետ, որոնք օգտատերերն իրենք են ավելացնում և պահելու իրավունք ունեն։

Բջջային հավելվածները ակտիվորեն մշակվում են և պաշտոնապես դեռ ունեն բետա կարգավիճակ, ուստի վեբ ինտերֆեյսը կամ PWA-ն մնում են օգտակար պահուստային տարբերակ։ Էլեկտրոնային գրքերի աջակցությունը հիմնական է, իսկ մեծ հավաքածուն կոկիկ ներմուծելու համար պետք է հետևել թղթապանակների կառուցվածքին և երբեմն ձեռքով ուղղել մետատվյալները։

Աուդիոգրքերի համար ծառայությունն ապահովում է այն ամենը, ինչ սովորական ամպային թղթապանակը չունի՝ գլուխներ, շարքեր, առաջընթացի հետևում, օֆլայն ներբեռնումներ, պրոֆիլներ և փոդքասթների աջակցություն։

Եզրակացություն

Audiobookshelf-ը աուդիոֆայլերը վերածում է մի քանի սարքերի և օգտատերերի համար նախատեսված անձնական մեդիագրադարանի։ Docker Compose-ով տեղադրումը պարզ է, սակայն հուսալի աշխատանքի համար անհրաժեշտ են կոկիկ թղթապանակների կառուցվածք, HTTPS և մեդիաֆայլերի առանձին պահուստային պատճեններ։

FAQ

Audiobookshelf-ն անվճա՞ր է

Այո։ Սերվերը և պաշտոնական հաճախորդները տարածվում են որպես բաց կոդով ծրագրային ապահովում։ Պետք է վճարեք միայն սարքավորման, VPS-ի, դոմենի կամ լրացուցիչ պահոցի համար, եթե դրանք օգտագործում եք։

Audiobookshelf-ը տրամադրո՞ւմ է անվճար աուդիոգրքեր

Ոչ։ Սա ձեր սեփական հավաքածուի սերվերն ու նվագարկիչն է։ Աուդիոֆայլերը պետք է օրինականորեն ձեռք բերեք և ինքներդ ավելացնեք գրադարանում։

Կարո՞ղ եմ գրքեր լսել առանց ինտերնետ կապի

Այո։ Բջջային հավելվածը թույլ է տալիս գիրքը նախապես ներբեռնել սարքում։ Ներբեռնելուց հետո լսելու համար սերվերի հետ կապ այլևս պետք չէ։

Որքա՞ն RAM է պետք Audiobookshelf-ին

Փոքր գրադարանի և մեկ կամ երկու օգտատիրոջ համար 1 GB RAM-ը ողջամիտ մեկնարկ է։ Մի քանի ունկնդրի, լայնածավալ սկանավորման կամ ֆայլերի մշակման դեպքում ավելի լավ է ընտրել 2–4 GB։

Պարտադի՞ր է Audiobookshelf-ը տեղադրել VPS-ում

Ոչ։ Այն կարող է աշխատել տնային սերվերի, NAS-ի կամ համատեղելի համակարգչի վրա։ VPS-ն ավելի հարմար է, երբ տարբեր ցանցերից շուրջօրյա հասանելիություն է պետք՝ առանց տնային երթուղիչը կարգավորելու կամ տան կապից կախված լինելու։