174 lines
6.1 KiB
Markdown
174 lines
6.1 KiB
Markdown
# 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/)
|