Tropic Host

VPS-тегі Audiobookshelf: жеке аудиокітаптар мен подкасттар кітапханасы

5 мин оқу
Tropic
VPS-тегі Audiobookshelf: жеке аудиокітаптар мен подкасттар кітапханасы

Language: kk

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-тен бастаған жөн.

Docker Compose арқылы Audiobookshelf орнату

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

Жеке кітап үшін Series деңгейін өткізіп жіберуге болады. Бір M4B файлын да өз кітап бумасында сақтауға болады.

Құрылым маңызды: бір автордың бірнеше кітабын ортақ бумаға салсаңыз, сканер оларды бір кітапхана жазбасына біріктіруі мүмкін. Алғашқы толық сканерлеуге дейін файлдарды реттеп алған дұрыс. Кітапты бір кітапханадан екіншісіне көшіру жаңа элемент жасау ретінде қабылданады, сондықтан оның метадеректері мен прогресі автоматты түрде тасымалданбайды.

Кітапханаға интернеттен қауіпсіз қолжетімділікті қалай ашуға болады

Панельді 13378 ашық HTTP портында тұрақты қалдыру ұсынылмайды. Қашықтан кіру үшін доменді, HTTPS сертификатын және Nginx, Caddy немесе Traefik негізіндегі reverse proxy-ді қосқан дұрыс.

Audiobookshelf WebSocket қолданады, сондықтан проксиде оған қолдау қосылуы керек. HTTPS бапталғаннан кейін контейнер портын тек жергілікті интерфейске байланыстыруға болады:

ports:
  - "127.0.0.1:13378:80"

Бірегей парольдер қолданыңыз, әр тыңдаушыға бөлек аккаунт жасаңыз, контейнерді жаңартып отырыңыз және әкімші құқықтарын қажетсіз бермеңіз.

Резервтік көшірмелер туралы не білу керек

Audiobookshelf-тің кіріктірілген резервтік көшірмелері дерекқор мен кейбір метадеректерді, соның ішінде metadata бумасындағы мұқабаларды сақтайды. Аудиокітаптар, подкасттар және медиа файлдарымен бірге сақталған мұқабалар бұл көшірмеге кірмейді.

Сондықтан сенімді резервтік стратегия екі бөліктен тұрады:

  1. дерекқор мен метадеректердің автоматты кіріктірілген көшірмесі;
  2. audiobooks және podcasts бумаларының басқа дискідегі немесе қашықтағы сақтаудағы бөлек көшірмесі.

/config бумасында SQLite дерекқоры орналасады. Әзірлеушілер оны желі арқылы қосудың орнына сол сервердің жергілікті дискісінде сақтауды ұсынады: желілік сақтау өнімділікті төмендетіп, дерекқорды бүлдіруі мүмкін.

tropic.host VPS серверіндегі Audiobookshelf

Жеке кітапхана үшін максималды есептеу қуатынан гөрі үздіксіз қолжетімділік, жеткілікті диск орны және тұрақты байланыс маңызды. VPS-те Audiobookshelf тәулік бойы жұмыс істеп, үй желісінің күйіне қарамастан телефоннан, компьютерден немесе планшеттен қолжетімді болады.

Шағын топтама үшін қарапайым tropic.host серверінен бастап, Docker орнатып, домен мен HTTPS қосып, кітапхана өскен сайын ресурстарды арттыруға болады. Жоспар таңдағанда алдымен аудио файлдардың көлемін есептеп, жаңа кітаптар мен подкасттарға орын қалдырыңыз.

Алдын ала білуге тиіс шектеулер

Audiobookshelf кітаптар каталогын ұсынбайды және DRM қорғанысын алып тастамайды. Ол пайдаланушылар өздері қосатын және сақтауға құқығы бар файлдармен жұмыс істейді.

Мобильді қолданбалар белсенді әзірленіп жатыр және ресми түрде beta мәртебесінде, сондықтан веб-интерфейс немесе PWA пайдалы қосалқы нұсқа болып қалады. Электрондық кітаптарды қолдау қарапайым, ал үлкен топтаманы ұқыпты импорттау үшін бума құрылымын сақтау және кейде метадеректерді қолмен түзету қажет.

Аудиокітаптар үшін бұл сервис кәдімгі бұлттық бумада жетіспейтін мүмкіндіктердің бәрін береді: тараулар, сериялар, прогресті бақылау, офлайн жүктеу, профильдер және подкасттарды қолдау.

Қорытынды

Audiobookshelf аудио файлдарды бірнеше құрылғы мен пайдаланушыға арналған жеке медиа кітапханаға айналдырады. Docker Compose арқылы орнату оңай, бірақ сенімді жұмыс үшін жинақы бума құрылымы, HTTPS және медиа файлдардың бөлек резервтік көшірмелері қажет.

FAQ

Audiobookshelf тегін бе?

Иә. Сервер мен ресми клиенттер ашық кодты бағдарламалық жасақтама ретінде таратылады. Тек жабдыққа, VPS-ке, доменге немесе қосымша сақтауға ақы төлеу қажет болуы мүмкін.

Audiobookshelf тегін аудиокітаптар ұсына ма?

Жоқ. Бұл — жеке топтамаңызға арналған сервер және ойнатқыш. Аудио файлдарды заңды түрде алып, кітапханаға өзіңіз қосуыңыз керек.

Кітаптарды интернетсіз тыңдауға бола ма?

Иә. Мобильді қолданба кітапты құрылғыға алдын ала жүктеуге мүмкіндік береді. Жүктелгеннен кейін тыңдау үшін серверге қосылу қажет емес.

Audiobookshelf-ке қанша RAM керек?

Шағын кітапхана және бір-екі пайдаланушы үшін 1 GB RAM — орынды бастапқы нүкте. Бірнеше тыңдаушы, ауқымды сканерлеу немесе файл өңдеу болса, 2–4 GB таңдаған дұрыс.

Audiobookshelf-ті VPS-ке міндетті түрде орнату керек пе?

Жоқ. Ол үй серверінде, NAS-та немесе үйлесімді компьютерде жұмыс істей алады. Үй маршрутизаторын баптамай және үй байланысына тәуелді болмай, әртүрлі желілерден тәулік бойы кіру керек болса, VPS ыңғайлырақ.