---
title: "Kavita: Docker Compose і хостинг в один клік"
description: "Kavita — сервер з відкритим кодом для читання манги, коміксів, EPUB і PDF зі швидкими читалками в браузері. Self-hosted бібліотека в один клік."
---

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Медіа](https://pethost.dev/uk/templates/media/)

# Задеплойте Kavita в один клік

Сервер для читання манги, коміксів і книжок, із читалками в браузері для будь-якого пристрою

Альтернатива Kindle і Comixology на вашій машині.

[Задеплоїти на Pethost](https://console.pethost.dev/?template=kavita)

## Що таке Kavita?

Kavita — сервер з відкритим кодом для читання манги, вебтунів, коміксів і книжок. Вона читає файли там, де вони лежать (архіви CBZ, CBR, ZIP, RAR і 7-Zip та папки із зображеннями для коміксів, EPUB і PDF для книжок), групує їх у серії з обкладинками й метаданими та показує в читалках у браузері, які працюють на телефоні, планшеті й комп’ютері. Читалки мають режим для вебтунів, безперервний режим, що переходить до наступного розділу, а також виділення й анотації в книжках EPUB.

Kavita запускають, щоб читати свою колекцію будь-де й ділитися нею з родиною та друзями: кожен користувач має свій прогрес, а ролі обмежують, що він бачить і може робити, зокрема за віком. Колекції, списки для читання, «Хочу прочитати» й розумні фільтри впорядковують велику бібліотеку, а теми змінюють її вигляд. Kavita+, платна передплата, додає метадані, рецензії та рекомендації з інтернету; усе інше безкоштовне.

Цей шаблон запускає офіційний образ Kavita версії 0.9.1: її база даних і налаштування лежать в одному томі, а ваші книжки — в іншому. Адміністратор реєструється з імені користувача, пошти й пароля, які ви вказали, ще до того, як Kavita комусь відповість.

## Хостинг Kavita на Pethost

1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
2. Вікно «Новий проєкт» відкривається на застосунку Kavita. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: **Ім’я користувача**, **Електронна пошта**, **Пароль адміністратора**.
3. За хвилину-дві Kavita працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

## Питання про Kavita

**Kavita безкоштовна?**

Так. Kavita має відкритий код за ліцензією GPL-3.0, і її можна запускати безкоштовно, з усіма читалками й усіма функціями для користувачів. Kavita+ — необов’язкова платна передплата на метадані, рецензії, рекомендації й скроблінг в AniList та інші сервіси.

**Які формати читає Kavita?**

Комікси й мангу — в архівах CBZ, CBR, ZIP, RAR, RAR5 і 7-Zip або в папках із зображеннями, а книжки — в EPUB і PDF. Kavita читає файли такими, як вони є, без конвертації.

**Як додати книжки в Kavita?**

Покладіть файли в папку бібліотеки, кожну серію чи книжку в окрему папку, потім додайте цю папку як бібліотеку в розділі «Налаштування → Бібліотеки». Kavita одразу її просканує й сканує знову, щойно файли зміняться.

**Kavita чи Komga: що обрати?**

Обидві віддають комікси, мангу й книжки, зокрема EPUB і PDF, у читалки в браузері та в застосунки з підтримкою OPDS. Вбудовані читалки Kavita додають режим для вебтунів, безперервне читання з переходом до наступного розділу, а також виділення й анотації в книжках EPUB; Kavita+ продає метадані з інтернету, а Komga не має платного тарифу.

**Чи можна поділитися бібліотекою Kavita з іншими?**

Так. Адміністратор запрошує користувачів у розділі «Налаштування → Користувачі» й обирає, які бібліотеки бачить кожен і які в нього ролі та обмеження, як-от роль «Завантажити» чи вікове обмеження. Кожен користувач має свій прогрес читання.

**Скільки пам’яті й диска потрібно Kavita?**

Kavita має скромні вимоги: близько 250 MB пам’яті, поки ви читаєте, і більше, поки вона сканує бібліотеку; книжки займають стільки, скільки їхні файли. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

## Kavita: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

**Контейнери:** kavita (jvmilazz0/kavita:0.9.1).

**Томи, у щонічному бекапі:** config, books.

```
services:
  kavita:
    image: jvmilazz0/kavita:0.9.1
    restart: unless-stopped
    environment:
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      TZ: Etc/UTC
    # A new Kavita lets whoever opens it first register as its admin. So until the admin exists,
    # Kavita runs on 127.0.0.1:5001, which nobody reaches, where the admin is registered from the
    # fields; only then does it start as the image starts it, answering on 5000. Kavita reads the
    # port and address of its appsettings.json only when it does not know it is in a container.
    # A refusal stops the start with Kavita's reason in the log.
    entrypoint:
      - /bin/bash
      - -c
      - |
        set -e
        cd /kavita
        if [ ! -f config/admin-registered ]; then
          if [ ! -f config/appsettings.json ]; then
            cp /tmp/config/appsettings.json config/appsettings.json
          fi
          sed -i -e 's/"Port": *[0-9]*/"Port": 5001/' -e 's/"IpAddresses": *"[^"]*"/"IpAddresses": "127.0.0.1"/' config/appsettings.json
          env -u DOTNET_RUNNING_IN_CONTAINER ./Kavita &
          kavita=$$!
          until curl -sf -o /dev/null http://127.0.0.1:5001/api/health; do
            kill -0 $$kavita
            sleep 1
          done
          json() {
            local s=$${1//\\/\\\\}
            s=$${s//\"/\\\"}
            printf '"%s"' "$$s"
          }
          body="{\"username\":$$(json "$$ADMIN_USERNAME"),\"email\":$$(json "$$ADMIN_EMAIL"),\"password\":$$(json "$$ADMIN_PASSWORD")}"
          status=$$(curl -s -o /tmp/register -w '%{http_code}' -H 'Content-Type: application/json' -d "$$body" http://127.0.0.1:5001/api/Account/register)
          kill $$kavita
          wait $$kavita || true
          sed -i -e 's/"Port": *[0-9]*/"Port": 5000/' -e 's/"IpAddresses": *"[^"]*"/"IpAddresses": ""/' config/appsettings.json
          # 400 "denied": an admin exists already, registered by an earlier start.
          if [ "$$status" != 200 ] && ! grep -qi denied /tmp/register; then
            echo "Kavita refused the admin ($$status): $$(cat /tmp/register)"
            exit 1
          fi
          touch config/admin-registered
        fi
        exec /entrypoint.sh
    volumes:
      - config:/kavita/config
      # Writable, so that books can be uploaded or copied in over SFTP.
      - books:/books
volumes:
  config:
  books:
```

[compose.yaml](https://pethost.dev/templates/kavita/compose.yaml)[Відкрити на GitHub](https://github.com/pethost-dev/templates/tree/main/kavita)

## [Ще в категорії «Медіа»](https://pethost.dev/uk/templates/media/)

- [**Owncast**Відео наживо й чат на власній сторінці](https://pethost.dev/uk/templates/owncast/)
- [**Navidrome**Музичний сервер, що стрімить вашу власну колекцію](https://pethost.dev/uk/templates/navidrome/)
- [**RomM**Бібліотека й плеєр у браузері для ваших ретро-ігор](https://pethost.dev/uk/templates/romm/)
- [**Komga**Сервер і веб-читалка для ваших коміксів, манґи та електронних книжок](https://pethost.dev/uk/templates/komga/)
- [**Lychee**Фотогалерея, щоб завантажувати, упорядковувати й показувати ваші фото](https://pethost.dev/uk/templates/lychee/)
- [**Audiobookshelf**Власний сервер аудіокниг і подкастів: слухайте в браузері чи застосунках, прогрес зберігається на всіх пристроях](https://pethost.dev/uk/templates/audiobookshelf/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагін](https://github.com/pethost-dev/plugin)
- [Умови](https://pethost.dev/terms/)
- [Конфіденційність](https://pethost.dev/privacy/)
- [Повернення коштів](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Бази даних

- [Postgres](https://pethost.dev/uk/postgres/)

Порівняння

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/uk/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/uk/blog/coolify-cloud-vs-dokploy-cloud/)
- [Ціни Railway vs Render vs Fly.io](https://pethost.dev/uk/blog/railway-vs-render-vs-fly-io-pricing/)
- [Керований хостинг Docker Compose](https://pethost.dev/uk/blog/managed-docker-compose-hosting/)

Альтернативи

- [Альтернативи Railway](https://pethost.dev/uk/blog/railway-alternatives/)
- [Альтернативи Heroku](https://pethost.dev/uk/blog/heroku-alternatives/)
- [Альтернативи Dokploy](https://pethost.dev/uk/blog/dokploy-alternatives/)
- [Альтернативи Coolify](https://pethost.dev/uk/blog/coolify-alternatives/)
- [Альтернативи Render](https://pethost.dev/uk/blog/render-alternatives/)
- [Альтернативи Sliplane](https://pethost.dev/uk/blog/sliplane-alternatives/)
