infra/charts/koodo-reader/README.md
2026-01-08 18:46:07 +03:00

174 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Koodo Reader Helm Chart
Helm chart для развёртывания [Koodo Reader](https://github.com/koodo-reader/koodo-reader) - современного читателя электронных книг с возможностями синхронизации и резервного копирования.
## Описание
Koodo Reader - это кроссплатформенная программа для чтения электронных книг, которая поддерживает множество форматов включая EPUB, PDF, MOBI, AZW3, и другие. Приложение предоставляет удобный веб-интерфейс для чтения и управления библиотекой книг.
## Установка
Чарт автоматически развёртывается через ArgoCD ApplicationSet при добавлении values файла в `values/` директорию.
### Ручная установка (для тестирования)
```bash
helm install koodo-reader ./koodo-reader -f values/home.yaml
```
## Конфигурация
### Основные параметры
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `replicaCount` | Количество реплик | `1` |
| `image.repository` | Docker образ | `ghcr.io/koodo-reader/koodo-reader` |
| `image.tag` | Версия образа | `1.7.1` |
| `image.pullPolicy` | Политика загрузки образа | `IfNotPresent` |
### Service
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `service.enabled` | Включить Service | `true` |
| `service.type` | Тип Service | `ClusterIP` |
| `service.port` | Порт Service | `80` |
### Ingress
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `ingress.enabled` | Включить Ingress | `false` |
| `ingress.className` | Ingress class | `nginx` |
| `ingress.hosts` | Список хостов | `[]` |
| `ingress.tls` | TLS конфигурация | `[]` |
### Persistence
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `persistence.enabled` | Включить постоянное хранилище | `false` |
| `persistence.size` | Размер PVC | `1Gi` |
| `persistence.storageClass` | Storage class | `""` |
| `persistence.accessModes` | Режимы доступа | `[ReadWriteOnce]` |
### Resources
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `resources.limits.cpu` | CPU лимит | не установлен |
| `resources.limits.memory` | Memory лимит | не установлен |
| `resources.requests.cpu` | CPU запрос | не установлен |
| `resources.requests.memory` | Memory запрос | не установлен |
### Autoscaling
| Параметр | Описание | Значение по умолчанию |
|----------|----------|----------------------|
| `autoscaling.enabled` | Включить HPA | `false` |
| `autoscaling.minReplicas` | Минимум реплик | `1` |
| `autoscaling.maxReplicas` | Максимум реплик | `3` |
| `autoscaling.targetCPUUtilizationPercentage` | Целевая загрузка CPU | `80` |
## Примеры использования
### Минимальная конфигурация
```yaml
ingress:
enabled: true
hosts:
- host: koodo-reader.example.com
paths:
- path: /
pathType: Prefix
```
### Конфигурация с хранилищем
```yaml
persistence:
enabled: true
size: 10Gi
storageClass: "fast-ssd"
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 128Mi
```
### Конфигурация с TLS
```yaml
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: books.example.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: koodo-reader-tls
hosts:
- books.example.com
```
## Развёртывание через ArgoCD
Этот чарт разработан для автоматического развёртывания через ArgoCD ApplicationSet. При создании файла `values/home.yaml` автоматически создастся Application с именем `home-koodo-reader` в namespace `home-koodo-reader`.
### Конфигурация для вашего окружения
В файле `values/home.yaml` уже настроено:
- Домен: `koodo.invuneon.ru`
- TLS сертификат через cert-manager с issuer `letsencrypt-charts-issuer`
- Persistent storage на 5Gi
- Resource limits (CPU: 200m, Memory: 256Mi)
## Доступ к приложению
После развёртывания приложение будет доступно по адресу: **https://koodo.invuneon.ru**
Для локального доступа можно использовать port-forward:
```bash
kubectl port-forward -n home-koodo-reader svc/koodo-reader 8080:80
```
Затем открыть в браузере: http://localhost:8080
## Поддерживаемые форматы
- EPUB (2, 3)
- PDF
- MOBI
- AZW3
- FB2
- CBZ, CBR (комиксы)
- MD (Markdown)
- TXT
## Возможности
- Чтение книг различных форматов
- Управление библиотекой
- Заметки и закладки
- Синхронизация между устройствами
- Резервное копирование библиотеки
- Настройка внешнего вида
- Словарь и перевод
- Голосовое чтение (TTS)
## Дополнительная информация
- [GitHub репозиторий](https://github.com/koodo-reader/koodo-reader)
- [Официальная документация](https://koodo.960960.xyz/)