Для встановлення, налаштування та обслуговування Kavita на VPS вам знадобиться віртуальний сервер з мінімум 2 vCPU, 2-4 ГБ RAM та 20 ГБ NVMe-диска, а сам процес включає розгортання через Docker Compose, налаштування reverse proxy (Nginx або Caddy) для забезпечення безпечного доступу по HTTPS та реалізацію стратегій резервного копіювання для захисту вашої бібліотеки коміксів та електронних книг.
Kavita — це сучасний, швидкий та функціональний медіасервер для керування та читання цифрових коміксів, манги та електронних книг (EPUB, PDF). На відміну від більш загальних медіасерверів, Kavita зосереджена саме на текстовому та графічному контенті, пропонуючи оптимізований інтерфейс для читання, зручну організацію бібліотеки та доступ з будь-якого пристрою через веб-браузер. Розгортання Kavita на VPS дозволяє створити повністю контрольовану, приватну бібліотеку, доступну лише вам та вашим обраним користувачам, без прив'язки до сторонніх хмарних сервісів.
Можливість самостійного хостингу (self-hosted) Kavita на власному сервері забезпечує повний контроль над даними, високу продуктивність та гнучкість у налаштуванні. Це ідеальне рішення для колекціонерів коміксів та книг, які шукають надійну платформу для організації та читання своєї цифрової колекції, а також для тих, хто цінує приватність та незалежність від пропрієтарних рішень.
Що таке Kavita і чому вона потрібна на VPS?
Kavita позиціонується як високопродуктивний, самохостинговий сервер для читання коміксів, манги та електронних книг. Вона підтримує широкий спектр форматів, включаючи CBZ, CBR, CBT, CB7, EPUB, PDF, а також зображення (JPG, PNG, WebP). Основні переваги Kavita включають:
- Інтуїтивно зрозумілий інтерфейс: Сучасний, чуйний веб-інтерфейс, який відмінно працює на настільних комп'ютерах, планшетах та смартфонах.
- Підтримка колекцій: Можливість створювати колекції, серії, додавати метадані, що значно спрощує навігацію по великій бібліотеці.
- Багатокористувацький доступ: Підтримка кількох користувачів з індивідуальними профілями, відстеженням прогресу читання та налаштуваннями.
- Прогресивне читання: Автоматичне збереження позиції читання, що дозволяє продовжити з того місця, де ви зупинилися, на будь-якому пристрої.
- Оптимізація зображень: Ефективна обробка та стиснення зображень для швидкого завантаження, навіть при читанні об'ємних коміксів.
- API та інтеграції: Можливість інтеграції з іншими сервісами через API, наприклад, для імпорту метаданих.
Розміщення Kavita на VPS надає низку ключових переваг у порівнянні з локальною установкою або використанням домашнього сервера:
- Доступність 24/7: Ваш сервер буде доступний з будь-якої точки світу в будь-який час, за наявності інтернет-з'єднання.
- Висока швидкість та стабільність: VPS-провайдери, такі як Valebyte.com, пропонують високошвидкісні канали та стабільне електроживлення, що гарантує безперебійну роботу та швидке завантаження контенту.
- Масштабованість: У міру зростання вашої бібліотеки або збільшення кількості користувачів, ви легко зможете оновити ресурси вашого VPS (CPU, RAM, диск) без необхідності перевстановлення.
- Безпека: VPS знаходиться у професійному дата-центрі з фізичною безпекою, а логічний рівень безпеки повністю під вашим контролем.
- Ізоляція: Ваш екземпляр Kavita працює в ізольованому середовищі, не впливаючи на інші сервіси на вашому VPS і не піддаючись впливу сусідніх користувачів хостингу, як це буває на спільному хостингу.
Якщо ви вже використовуєте інші самохостингові рішення, такі як Calibre-web для електронних книг або AudioBookshelf для аудіокниг, Kavita стане чудовим доповненням для вашої медіа-екосистеми.
Kavita Self-Hosted: Повний контроль над вашою бібліотекою
Самостійний хостинг Kavita означає, що ви повністю володієте та керуєте сервером, на якому зберігаються ваші дані. Це дає безпрецедентний рівень контролю над приватністю, безпекою та конфігурацією. Ви не залежите від рішень третіх сторін, їх політики конфіденційності або можливих збоїв. Усі ваші комікси та книги залишаються лише вашими, і ви вирішуєте, хто і як отримує до них доступ. Для багатьох ентузіастів та колекціонерів це ключовий фактор при виборі платформи для своєї цифрової бібліотеки.
Системні вимоги для Kavita: який VPS обрати?
Вибір правильного VPS є критично важливим для комфортної роботи Kavita. Хоча Kavita досить легка, її продуктивність безпосередньо залежить від розміру вашої бібліотеки та кількості одночасних користувачів. Valebyte.com пропонує різні тарифні плани, які можуть підійти для Kavita.
Мінімальні та рекомендовані вимоги для Kavita
Перш ніж приступити до вибору VPS, розглянемо базові вимоги:
- Процесор (CPU): Kavita активно використовує CPU при скануванні бібліотеки, створенні мініатюр та конвертації форматів. Для невеликих бібліотек та 1-2 користувачів достатньо 1-2 vCPU. Для середніх та великих колекцій (тисячі томів) та кількох одночасних користувачів краще мати 2-4 vCPU.
- Оперативна пам'ять (RAM): Сама Kavita споживає відносно небагато RAM (від 100 до 300 МБ у режимі очікування), але операційна система, Docker та інші фонові процеси також вимагають пам'яті.
- Мінімум: 2 ГБ RAM (для невеликої бібліотеки до 1000 томів, 1-2 користувача).
- Рекомендується: 4 ГБ RAM (для середніх бібліотек до 10 000 томів, 2-5 користувачів).
- Для великих бібліотек/багатьох користувачів: 8 ГБ RAM і більше.
- Дисковий простір: Це найважливіший ресурс, оскільки комікси та електронні книги можуть займати багато місця.
- Система: Близько 10-20 ГБ для ОС та Docker.
- Бібліотека: Залежить від вашого контенту. Один комікс може займати від 50 МБ до кількох ГБ. Манга зазвичай легша. Електронні книги займають менше.
- 1000 коміксів: 50 ГБ - 200 ГБ.
- 10 000 коміксів: 500 ГБ - 2 ТБ.
- Тип диска: Обов'язково обирайте VPS з NVMe SSD. Висока швидкість читання/запису NVMe дисків критично важлива для швидкого сканування бібліотеки, створення мініатюр та комфортного читання, особливо для великих файлів зображень.
- Мережевий канал: 100 Мбіт/с або 1 Гбіт/с. Чим вище, тим швидше користувачі завантажуватимуть контент.
- Операційна система: Ubuntu Server (20.04 LTS або 22.04 LTS) або Debian (11 або 12) — найбільш поширені та добре підтримувані дистрибутиви для Docker.
Таблиця рекомендацій щодо конфігурації VPS для Kavita
Нижче представлена таблиця з приблизними конфігураціями VPS від Valebyte.com, які підійдуть для різних сценаріїв використання Kavita. Ціни вказані орієнтовно та можуть варіюватися.
| Сценарій використання | vCPU | RAM (ГБ) | Диск (NVMe SSD) | Трафік | Приблизна вартість (USD/міс) |
|---|---|---|---|---|---|
| Персональне використання (до 1000 томів, 1-2 користувача) | 2 | 2 | 100 ГБ | Необмежений | $5 - $10 |
| Мала бібліотека (до 5000 томів, 2-5 користувачів) | 2-4 | 4 | 250 ГБ | Необмежений | $10 - $20 |
| Середня бібліотека (до 20 000 томів, 5-10 користувачів) | 4 | 8 | 500 ГБ | Необмежений | $20 - $40 |
| Велика бібліотека (більше 20 000 томів, 10+ користувачів) | 6-8+ | 16+ | 1 ТБ+ | Необмежений | $40+ |
Для більшості користувачів, які починають з Kavita, оптимальним вибором буде VPS з 2-4 vCPU, 4 ГБ RAM та 250 ГБ NVMe-диска. Це забезпечить хороший баланс продуктивності та вартості. Обов'язково переконайтеся, що ваш VPS використовує технологію віртуалізації KVM, оскільки це гарантує повну ізоляцію ресурсів та кращу продуктивність у порівнянні з OpenVZ.
Шукаєте надійний сервер для ваших проєктів?
VPS від $10/міс та виділені сервери від $9/міс з NVMe, DDoS-захистом та підтримкою 24/7.
Дивитися пропозиції →Підготовка VPS до встановлення Kavita: Docker та Docker Compose
Розгортання Kavita через Docker є найбільш рекомендованим та простим способом. Docker забезпечує ізоляцію програми, спрощує керування залежностями та полегшує оновлення. Перш ніж приступити до встановлення Kavita, необхідно підготувати ваш VPS.
Початкове налаштування сервера
Передбачається, що у вас є щойно встановлений VPS з Ubuntu Server 20.04 LTS або 22.04 LTS. Підключіться до нього по SSH.
ssh user@your_vps_ip
Оновіть список пакетів та встановлені пакети:
sudo apt update
sudo apt upgrade -y
Встановіть необхідні утиліти, якщо їх немає:
sudo apt install -y curl wget git nano htop
Встановлення Docker та Docker Compose
Docker Engine та Docker Compose — це фундамент для нашого розгортання. Якщо ви хочете заглибитися в тему контейнерів, рекомендуємо ознайомитися з нашою статтею "Контейнери vs ВМ vs Bare-metal".
Встановлення Docker Engine:
Найнадійніший спосіб — використовувати офіційний скрипт встановлення Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Додайте вашого користувача до групи docker, щоб уникнути використання sudo при кожній команді Docker:
sudo usermod -aG docker $USER
newgrp docker
Перевірте, що Docker встановлено коректно:
docker run hello-world
Ви повинні побачити привітальне повідомлення від Docker.
Встановлення Docker Compose:
Docker Compose дозволяє визначати та запускати багатоконтейнерні Docker-застосунки. Для встановлення останньої стабільної версії:
sudo apt install docker-compose-plugin -y
Перевірте версію Docker Compose (тепер це команда docker compose, а не docker-compose):
docker compose version
Ви повинні побачити щось на кшталт Docker Compose version v2.x.x.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Як встановити Kavita на VPS з Docker Compose?
Тепер, коли Docker та Docker Compose встановлені, ми можемо приступити до розгортання Kavita. Ми будемо використовувати офіційний образ Kavita та Docker Compose для зручності керування.
Створення структури каталогів та файлу docker-compose.yml
Спочатку створіть директорію для Kavita, де зберігатимуться всі її конфігураційні файли та дані:
mkdir -p ~/kavita/config
mkdir -p ~/kavita/library
cd ~/kavita
Тут:
~/kavita/config: Зберігатиме конфігурацію Kavita, базу даних та інші важливі файли.~/kavita/library: Це директорія, куди ви завантажуватимете свої комікси, мангу та книги.
Створіть файл docker-compose.yml у директорії ~/kavita:
nano docker-compose.yml
Вставте наступне вміст:
version: '3.8'
services:
kavita:
image: kizaing/kavita:latest
container_name: kavita
environment:
- TZ=Europe/Moscow # Вкажіть ваш часовий пояс
volumes:
- ./config:/kavita/config # Сховище конфігурації
- ./library:/kavita/library # Ваша бібліотека коміксів та книг
# - /path/to/your/additional/library:/kavita/additional_library # Опціонально: додаткові шляхи до бібліотек
ports:
- "5000:5000" # Порт для доступу до Kavita
restart: unless-stopped
networks:
- kavita_network
networks:
kavita_network:
driver: bridge
Збережіть та закрийте файл (Ctrl+O, Enter, Ctrl+X).
Пояснення до файлу docker-compose.yml:
version: '3.8': Вказує версію синтаксису Docker Compose.image: kizaing/kavita:latest: Використовує офіційний образ Kavita.:latestозначає останню стабільну версію.container_name: kavita: Присвоює ім'я контейнеру для легкої ідентифікації.environment: - TZ=Europe/Moscow: Встановлює часовий пояс всередині контейнера. Замініть на ваш.volumes:: Визначає монтовані томи. Це дуже важливо, оскільки дозволяє зберігати дані Kavita поза контейнером../config:/kavita/config: Локальна директорія~/kavita/configмонтується в/kavita/configвсередині контейнера. Тут Kavita зберігатиме свою базу даних, кеш та налаштування../library:/kavita/library: Локальна директорія~/kavita/libraryмонтується в/kavita/libraryвсередині контейнера. Це місце для ваших медіафайлів.- Ви можете додати додаткові томи для інших папок з контентом, якщо у вас є кілька джерел.
ports: - "5000:5000": Прокидає порт 5000 контейнера на порт 5000 хост-системи. Kavita за замовчуванням працює на порту 5000.restart: unless-stopped: Контейнер автоматично перезапускатиметься, якщо він зупиниться з будь-якої причини (наприклад, після перезавантаження VPS), якщо тільки ви його не зупините вручну.networks:: Визначає внутрішню мережу для Kavita. Це корисно, якщо ви плануєте запускати інші сервіси (наприклад, reverse proxy) в Docker і хочете, щоб вони взаємодіяли по внутрішній мережі.
Запуск Kavita Docker
У директорії ~/kavita, де знаходиться ваш docker-compose.yml, виконайте команду для запуску Kavita:
docker compose up -d
Ця команда завантажить образ Kavita, створить контейнер та запустить його у фоновому режимі (-d). Процес займе деякий час при першому запуску, оскільки Docker завантажуватиме образ.
Перевірте статус запущених контейнерів:
docker compose ps
Ви повинні побачити контейнер kavita зі статусом Up.
Тепер Kavita доступна за IP-адресою вашого VPS на порту 5000: http://your_vps_ip:5000. Відкрийте цю адресу в браузері, щоб завершити початкове налаштування Kavita (створення адміністратора, додавання бібліотек).
Додавання файлів до бібліотеки Kavita
Після успішного встановлення Kavita, вам потрібно буде додати ваші медіафайли. Завантажте свої комікси, мангу та книги до директорії ~/kavita/library на вашому VPS. Ви можете використовувати SCP, SFTP (через FileZilla) або rsync для цього.
Приклад завантаження через SCP:
scp -r /path/to/your/local/comics user@your_vps_ip:~/kavita/library/
Після завантаження файлів зайдіть у веб-інтерфейс Kavita, перейдіть до розділу "Libraries" та додайте нову бібліотеку, вказавши шлях /kavita/library (або будь-який інший шлях, який ви монтували в контейнер).
Налаштування Reverse Proxy (Nginx/Caddy) та HTTPS для Kavita
Прямий доступ до Kavita за IP-адресою та портом 5000 не є безпечним або зручним. Для забезпечення безпечного доступу за доменним ім'ям із шифруванням (HTTPS) необхідно налаштувати reverse proxy. Ми розглянемо два популярні варіанти: Nginx та Caddy.
Чому потрібен Reverse Proxy та HTTPS?
- Безпека (HTTPS): Шифрування трафіку між вашим браузером та Kavita захищає ваші дані від перехоплення. Let's Encrypt надає безкоштовні SSL/TLS сертифікати.
- Зручність: Доступ за красивим доменним ім'ям (наприклад,
kavita.yourdomain.com) замість IP-адреси та порту. - Централізація: Reverse proxy може обслуговувати кілька веб-застосунків на одному VPS, направляючи запити на потрібний контейнер залежно від доменного імені.
- Додаткові функції: Кешування, балансування навантаження, базова автентифікація та інші можливості.
Для цієї частини вам знадобиться зареєстроване доменне ім'я та A-запис, що вказує на IP-адресу вашого VPS (наприклад, kavita.yourdomain.com -> your_vps_ip).
Варіант 1: Налаштування Nginx як Reverse Proxy
Nginx — це потужний та широко використовуваний веб-сервер, який відмінно справляється з роллю reverse proxy. Встановіть Nginx, якщо його ще не встановлено:
sudo apt install nginx -y
Створіть новий конфігураційний файл для Kavita:
sudo nano /etc/nginx/sites-available/kavita.conf
Вставте наступне вміст, замінивши kavita.yourdomain.com на ваш домен:
server {
listen 80;
listen [::]:80;
server_name kavita.yourdomain.com;
# Перенаправлення HTTP на HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name kavita.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/kavita.yourdomain.com/fullchain.pem; # Шлях до вашого сертифіката
ssl_certificate_key /etc/letsencrypt/live/kavita.yourdomain.com/privkey.pem; # Шлях до вашого приватного ключа
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "no-referrer-when-downgrade";
add_header Content-Security-Policy "frame-ancestors 'self'";
location / {
proxy_pass http://localhost:5000; # Або http://kavita:5000 якщо Nginx також у Docker мережі
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 900s;
proxy_send_timeout 900s;
proxy_connect_timeout 900s;
}
}
Збережіть та закрийте файл.
Отримання SSL-сертифіката з Let's Encrypt (Certbot)
Встановіть Certbot для Nginx:
sudo apt install certbot python3-certbot-nginx -y
Створіть символічне посилання на ваш конфігураційний файл:
sudo ln -s /etc/nginx/sites-available/kavita.conf /etc/nginx/sites-enabled/
Перевірте конфігурацію Nginx на помилки:
sudo nginx -t
Якщо помилок немає, перезавантажте Nginx:
sudo systemctl reload nginx
Тепер отримайте SSL-сертифікат:
sudo certbot --nginx -d kavita.yourdomain.com
Дотримуйтесь інструкцій Certbot. Він автоматично оновить ваш Nginx-конфіг для використання HTTPS. Після цього Certbot додасть завдання в cron для автоматичного оновлення сертифікатів.
У випадку, якщо ви використовуєте інші сервіси, такі як Navidrome або Gitea на тому ж VPS, ви можете використовувати той самий Nginx для їх проксіювання.
Варіант 2: Налаштування Caddy як Reverse Proxy
Caddy — це сучасний веб-сервер з автоматичним HTTPS (через Let's Encrypt), що робить його дуже простим у налаштуванні. Для встановлення Caddy, дотримуйтесь офіційних інструкцій, наприклад:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Створіть файл Caddyfile:
sudo nano /etc/caddy/Caddyfile
Видаліть існуюче вміст і вставте наступне, замінивши kavita.yourdomain.com на ваш домен:
kavita.yourdomain.com {
reverse_proxy localhost:5000 # Або kavita:5000 якщо Caddy також у Docker мережі
# Додаткові заголовки для безпеки (необов'язково, але рекомендується)
header {
X-Frame-Options SAMEORIGIN
X-XSS-Protection "1; mode=block"
X-Content-Type-Options nosniff
Referrer-Policy "no-referrer-when-downgrade"
Content-Security-Policy "frame-ancestors 'self'"
}
}
Збережіть та закрийте файл.
Перевірте конфігурацію Caddy:
sudo caddy validate --config /etc/caddy/Caddyfile
Перезапустіть Caddy:
sudo systemctl restart caddy
Caddy автоматично отримає та оновить SSL-сертифікати для вашого домену. Тепер Kavita буде доступна за адресою https://kavita.yourdomain.com.
Обслуговування Kavita на сервері: бекапи та оновлення
Регулярне обслуговування Kavita на сервері є ключовим для її стабільної та безпечної роботи. Це включає створення резервних копій та своєчасні оновлення.
Резервне копіювання Kavita (Бекапи)
Резервні копії — це ваша страховка від втрати даних. У випадку з Kavita, найважливішими є база даних та конфігураційні файли, а також сама бібліотека коміксів.
Оскільки ви використовуєте Docker Compose та монтовані томи, процес резервного копіювання відносно простий:
- Зупиніть контейнер Kavita (опціонально, але рекомендується для консистентності бази даних):
cd ~/kavita docker compose stop - Створіть архів з даними:
Архівуйте директорії
configтаlibrary.tar -czvf kavita_backup_$(date +%Y%m%d_%H%M%S).tar.gz ~/kavita/config ~/kavita/libraryЦя команда створить архів з іменем, що містить поточну дату та час.
- Перемістіть бекап у безпечне місце:
Не зберігайте бекапи на тому ж VPS, що й оригінальні дані. Перемістіть їх на віддалене сховище (S3-сумісне сховище, FTP-сервер, Google Drive/Dropbox через rclone, або на локальний комп'ютер).
scp kavita_backup_*.tar.gz user@your_backup_server:/path/to/backups/ - Запустіть контейнер Kavita:
cd ~/kavita docker compose start
Автоматизація бекапів за допомогою Cron:
Ви можете автоматизувати цей процес, створивши bash-скрипт та додавши його до планувальника Cron. Створіть файл backup_kavita.sh:
nano ~/backup_kavita.sh
Вміст скрипта (замініть /path/to/remote/backup/ на ваш шлях):
#!/bin/bash
BACKUP_DIR="/root/kavita_backups" # Тимчасова директорія для бекапів на VPS
KAVITA_DATA_DIR="/root/kavita"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/kavita_backup_${TIMESTAMP}.tar.gz"
REMOTE_BACKUP_TARGET="user@your_backup_server:/path/to/remote/backup/" # Приклад: [email protected]:/mnt/backups/kavita/
mkdir -p "$BACKUP_DIR"
echo "Stopping Kavita container..."
docker compose -f "${KAVITA_DATA_DIR}/docker-compose.yml" stop
echo "Creating backup of Kavita data..."
tar -czvf "$BACKUP_FILE" -C "${KAVITA_DATA_DIR}" config library
echo "Starting Kavita container..."
docker compose -f "${KAVITA_DATA_DIR}/docker-compose.yml" start
echo "Transferring backup to remote storage..."
scp "$BACKUP_FILE" "$REMOTE_BACKUP_TARGET"
echo "Cleaning up local backup file..."
rm "$BACKUP_FILE"
echo "Kavita backup completed."
Зробіть скрипт виконуваним:
chmod +x ~/backup_kavita.sh
Додайте завдання в Cron (наприклад, для щоденного бекапу о 3 годині ночі):
crontab -e
Додайте рядок у кінець файлу:
0 3 * * * /root/backup_kavita.sh > /dev/null 2>&1
Обов'язково налаштуйте SSH-доступ без пароля (SSH-ключі) для користувача, від імені якого запускатиметься скрипт, щоб scp міг працювати автоматично.
Оновлення Kavita та Docker
Регулярні оновлення важливі для отримання нових функцій, виправлень помилок та патчів безпеки.
Оновлення Kavita
Для оновлення Kavita до останньої версії достатньо виконати кілька команд:
cd ~/kavita
docker compose pull # Завантажує останню версію образу Kavita
docker compose up -d # Перестворює контейнер з новим образом, зберігаючи дані
Kavita сама дбає про міграцію бази даних за необхідності, тому процес оновлення зазвичай проходить гладко.
Оновлення Docker та ОС
Важливо також підтримувати в актуальному стані Docker Engine, Docker Compose та саму операційну систему вашого VPS:
sudo apt update
sudo apt upgrade -y
Після оновлення ядра ОС, може знадобитися перезавантаження VPS:
sudo reboot
Після перезавантаження, переконайтеся, що всі Docker-контейнери (включаючи Kavita) запустилися автоматично (завдяки restart: unless-stopped).
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Оптимальна конфігурація VPS для Kavita під реальне навантаження
Вибір оптимальної конфігурації VPS для Kavita залежить від безлічі факторів: розмір вашої бібліотеки, кількість активних користувачів, частота доступу, а також інші сервіси, які можуть працювати на тому ж VPS. Для моніторингу ресурсів сервера та прийняття рішень щодо масштабування рекомендуємо використовувати інструменти на кшталт Netdata.
Фактори, що впливають на навантаження та вибір VPS
- Розмір бібліотеки:
- Мала (до 1000 томів): 2 vCPU, 2-4 ГБ RAM, 100-250 ГБ NVMe.
- Середня (1000-10000 томів): 4 vCPU, 4-8 ГБ RAM, 250-500 ГБ NVMe.
- Велика (більше 10000 томів): 6-8+ vCPU, 8-16+ ГБ RAM, 1 ТБ+ NVMe.
Чим більше файлів, тим більше часу потрібно на початкове сканування та створення мініатюр, що навантажує CPU та дискову підсистему. Після індексації навантаження на CPU знижується, але запити до диска залишаються високими при читанні.
- Кількість одночасних користувачів:
- 1-2 користувача: Мінімальні вимоги зазвичай достатні.
- 3-5 користувачів: Бажано 4 vCPU та 4 ГБ RAM для комфортної роботи.
- Більше 5 користувачів: 6-8 vCPU та 8+ ГБ RAM. Кожен активний користувач, особливо той, що читає важкі комікси, може збільшувати споживання CPU та I/O.
- Тип контенту:
- Комікси/Манга (CBR/CBZ): Зазвичай містять багато зображень високої роздільної здатності, що вимагає більше дискового I/O та пропускної здатності мережі.
- Електронні книги (EPUB/PDF): Займають менше місця та менш вимогливі до ресурсів при читанні.
- Швидкість дискової підсистеми:
Критично важливий NVMe SSD. Різниця між NVMe та звичайними SSD або HDD буде помітна при скануванні бібліотеки, завантаженні сторінок коміксів та роботі з базою даних.
- Пропускна здатність мережі:
Якщо у вас багато користувачів або ви часто завантажуєте великі файли, переконайтеся, що ваш VPS має високошвидкісний мережевий канал (1 Гбіт/с).
Рекомендації щодо масштабування
Почніть з конфігурації, яка відповідає вашим поточним потребам, і будьте готові масштабувати її в міру зростання. Більшість VPS-провайдерів, включаючи Valebyte.com, дозволяють легко збільшувати ресурси (CPU, RAM, диск) вашого сервера без перевстановлення ОС.
- Моніторинг ресурсів: Використовуйте
htop,iotop,docker statsабо Netdata для відстеження споживання CPU, RAM та дискового I/O. Якщо CPU постійно завантажений на 80-100%, або I/O wait високий, це сигнал до апгрейду. - Оптимізація бібліотеки: Переконайтеся, що ваші файли стиснуті оптимально. Деякі користувачі переконвертовують комікси в WebP або інші більш ефективні формати для економії місця та покращення продуктивності.
- Кешування: Reverse proxy (Nginx/Caddy) може бути налаштований для кешування статичного контенту, що знизить навантаження на Kavita.
- Виділений сервер: Для дуже великих бібліотек (десятки тисяч томів) та великої кількості користувачів (20+), можливо, варто розглянути перехід на виділений сервер. Це дасть вам максимальну продуктивність та контроль.
Пам'ятайте, що інвестиції в більш продуктивний VPS зазвичай окупаються за рахунок більш комфортного користувацького досвіду та економії часу на очікування завантаження.
Висновки
Встановлення, налаштування та обслуговування Kavita на VPS через Docker Compose — це ефективний спосіб створити потужний та приватний медіасервер для вашої колекції коміксів та електронних книг. Правильний вибір конфігурації VPS з NVMe-дисками, захищений доступ через reverse proxy з HTTPS та регулярне резервне копіювання забезпечать стабільну, швидку та безпечну роботу вашого сервісу. Почніть з базового тарифу Valebyte.com з 2-4 vCPU та 4 ГБ RAM, і масштабуйте ресурси в міру зростання вашої цифрової бібліотеки та кількості користувачів.
Готові обрати сервер?
VPS та виділені сервери у 72+ країнах з миттєвою активацією та повним root-доступом.
Почати зараз →