Files
infrastructure/clusters/cl01tl/helm/booklore/values.yaml
Renovate Bot 9d201656b6
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 20s
renovate / renovate (push) Successful in 1m40s
chore(deps): update booklore-app/booklore to v2.2.0 (#4633)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [booklore-app/BookLore](https://github.com/booklore-app/BookLore) | minor | `v2.1.0` → `v2.2.0` |
| [ghcr.io/booklore-app/booklore](https://github.com/booklore-app/booklore) | minor | `v2.1.0` → `v2.2.0` |

---

### Release Notes

<details>
<summary>booklore-app/BookLore (booklore-app/BookLore)</summary>

### [`v2.2.0`](https://github.com/booklore-app/booklore/releases/tag/v2.2.0)

[Compare Source](https://github.com/booklore-app/BookLore/compare/v2.1.0...v2.2.0)

#### 🌟 What's New in v2.2.0

This release introduces (or brings back) two new library organization modes: **Book per File** and **Book per Folder**, giving you explicit control over how Booklore groups files into books during scanning.

When Booklore first started, the philosophy was simple: don't worry about how files are organized on disk, just scan everything and figure it out. This worked well when libraries only contained single-file formats like EPUB and PDF. But as support grew for multi-format books and multi-file audiobooks, that approach started to break down. The existing Auto-detect mode uses fuzzy filename matching and heuristics to guess how files should be grouped, and while it works in many cases, it has some real problems: files can get missed during scans, multi-file audiobooks sometimes show up as separate books (one per file), and the grouping behavior is unpredictable since it depends on how your files happen to be named.

Rather than continuing to patch Auto-detect, I'm introducing two new modes that are simple, predictable, and thoroughly-tested:

- **Book per File**: Every file becomes its own book. One file, one book, no guessing. This is now the default for new libraries.

- **Book per Folder**: Files in the same folder are grouped into a single book. Great for organized libraries with an `Author/Title/` structure, and it handles multi-format books and folder-based audiobooks naturally. If you have a folder with an EPUB, a MOBI, and an `audiobook/` subfolder, they all become one book.

**Auto-detect is not going away.** Existing libraries using it will continue to work as before. But it's now marked as legacy, and I strongly recommend switching to one of the new modes. They're simpler, more reliable, and will be the focus of ongoing development and support going forward.

You can set the organization mode when creating a new library, but cannot change it on an existing library. For a detailed breakdown of each mode with examples, check out the [documentation](https://booklore.org/docs/library/organization-modes).

#### 🚀 New Features

- Scanner organization modes and monitoring rework ([#&#8203;3279](https://github.com/booklore-app/BookLore/issues/3279)) by [@&#8203;acx10](https://github.com/acx10)

####  Enhancements

- Add configurable magnifier zoom and lens size for CBX reader ([#&#8203;3260](https://github.com/booklore-app/BookLore/issues/3260)) ([#&#8203;3268](https://github.com/booklore-app/BookLore/issues/3268)) by [@&#8203;acx10](https://github.com/acx10)

#### 🐛 Bug Fixes

- Make OIDC scopes configurable ([#&#8203;3261](https://github.com/booklore-app/BookLore/issues/3261)) ([#&#8203;3265](https://github.com/booklore-app/BookLore/issues/3265)) by [@&#8203;acx10](https://github.com/acx10)

#### 🛠️ Refactoring & Maintenance

- Lock organization mode dropdown for AUTO\_DETECT libraries ([#&#8203;3284](https://github.com/booklore-app/BookLore/issues/3284)) by [@&#8203;acx10](https://github.com/acx10)
- Lock organization mode for AUTO\_DETECT libraries ([#&#8203;3283](https://github.com/booklore-app/BookLore/issues/3283)) by [@&#8203;acx10](https://github.com/acx10)
- Translations update from Hosted Weblate ([#&#8203;3248](https://github.com/booklore-app/BookLore/issues/3248)) by [@&#8203;acx10](https://github.com/acx10)

#### 🐳 Docker Images

- **Docker Hub:** `booklore/booklore:v2.2.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.2.0`

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0>

<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 59 AM" src="https://github.com/user-attachments/assets/a8decbd8-e80f-4865-b6ee-bbb612fd20b7" />
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 20 AM" src="https://github.com/user-attachments/assets/51a11cb8-d4ec-47b8-ac09-61cc222a8ab4" />

</details>

<details>
<summary>booklore-app/booklore (ghcr.io/booklore-app/booklore)</summary>

### [`v2.2.0`](https://github.com/booklore-app/booklore/releases/tag/v2.2.0)

[Compare Source](https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0)

#### 🌟 What's New in v2.2.0

This release introduces (or brings back) two new library organization modes: **Book per File** and **Book per Folder**, giving you explicit control over how Booklore groups files into books during scanning.

When Booklore first started, the philosophy was simple: don't worry about how files are organized on disk, just scan everything and figure it out. This worked well when libraries only contained single-file formats like EPUB and PDF. But as support grew for multi-format books and multi-file audiobooks, that approach started to break down. The existing Auto-detect mode uses fuzzy filename matching and heuristics to guess how files should be grouped, and while it works in many cases, it has some real problems: files can get missed during scans, multi-file audiobooks sometimes show up as separate books (one per file), and the grouping behavior is unpredictable since it depends on how your files happen to be named.

Rather than continuing to patch Auto-detect, I'm introducing two new modes that are simple, predictable, and thoroughly-tested:

- **Book per File**: Every file becomes its own book. One file, one book, no guessing. This is now the default for new libraries.

- **Book per Folder**: Files in the same folder are grouped into a single book. Great for organized libraries with an `Author/Title/` structure, and it handles multi-format books and folder-based audiobooks naturally. If you have a folder with an EPUB, a MOBI, and an `audiobook/` subfolder, they all become one book.

**Auto-detect is not going away.** Existing libraries using it will continue to work as before. But it's now marked as legacy, and I strongly recommend switching to one of the new modes. They're simpler, more reliable, and will be the focus of ongoing development and support going forward.

You can set the organization mode when creating a new library, but cannot change it on an existing library. For a detailed breakdown of each mode with examples, check out the [documentation](https://booklore.org/docs/library/organization-modes).

#### 🚀 New Features

- Scanner organization modes and monitoring rework ([#&#8203;3279](https://github.com/booklore-app/booklore/issues/3279)) by [@&#8203;acx10](https://github.com/acx10)

####  Enhancements

- Add configurable magnifier zoom and lens size for CBX reader ([#&#8203;3260](https://github.com/booklore-app/booklore/issues/3260)) ([#&#8203;3268](https://github.com/booklore-app/booklore/issues/3268)) by [@&#8203;acx10](https://github.com/acx10)

#### 🐛 Bug Fixes

- Make OIDC scopes configurable ([#&#8203;3261](https://github.com/booklore-app/booklore/issues/3261)) ([#&#8203;3265](https://github.com/booklore-app/booklore/issues/3265)) by [@&#8203;acx10](https://github.com/acx10)

#### 🛠️ Refactoring & Maintenance

- Lock organization mode dropdown for AUTO\_DETECT libraries ([#&#8203;3284](https://github.com/booklore-app/booklore/issues/3284)) by [@&#8203;acx10](https://github.com/acx10)
- Lock organization mode for AUTO\_DETECT libraries ([#&#8203;3283](https://github.com/booklore-app/booklore/issues/3283)) by [@&#8203;acx10](https://github.com/acx10)
- Translations update from Hosted Weblate ([#&#8203;3248](https://github.com/booklore-app/booklore/issues/3248)) by [@&#8203;acx10](https://github.com/acx10)

#### 🐳 Docker Images

- **Docker Hub:** `booklore/booklore:v2.2.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v2.2.0`

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v2.1.0...v2.2.0>

<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 59 AM" src="https://github.com/user-attachments/assets/a8decbd8-e80f-4865-b6ee-bbb612fd20b7" />
<img width="728" height="942" alt="Screenshot 2026-03-11 at 8 51 20 AM" src="https://github.com/user-attachments/assets/51a11cb8-d4ec-47b8-ac09-61cc222a8ab4" />

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/4633
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-11 16:06:56 +00:00

249 lines
6.3 KiB
YAML

booklore:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/booklore-app/booklore
tag: v2.2.0
pullPolicy: IfNotPresent
env:
- name: TZ
value: America/Chicago
- name: USER_ID
value: 1000
- name: GROUP_ID
value: 1000
- name: DATABASE_URL
value: jdbc:mariadb://booklore-mariadb-cluster-primary.booklore:3306/booklore
- name: DATABASE_USERNAME
value: booklore
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: booklore-database-secret
key: password
- name: BOOKLORE_PORT
value: 6060
- name: SWAGGER_ENABLED
value: false
resources:
requests:
cpu: 50m
memory: 128Mi
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 6060
protocol: HTTP
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- booklore.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: booklore
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /
persistence:
config:
forceRename: booklore-config
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 5Gi
retain: true
advancedMounts:
main:
main:
- path: /app/data
readOnly: false
data:
forceRename: booklore-data
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
retain: true
advancedMounts:
main:
main:
- path: /data
readOnly: false
books-import:
type: emptyDir
advancedMounts:
main:
main:
- path: /bookdrop
readOnly: false
ingest:
existingClaim: booklore-books-import-nfs-storage
advancedMounts:
main:
main:
- path: /bookdrop/ingest
readOnly: false
mariadb-cluster:
mariadb:
rootPasswordSecretKeyRef:
generate: false
name: booklore-database-secret
key: password
storage:
size: 5Gi
replicas: 3
galera:
enabled: true
bootstrapFrom:
s3:
bucket: mariadb-backups-b230a2f5aecf080a4b372c08
prefix: cl01tl/booklore
endpoint: nyc3.digitaloceanspaces.com
region: us-east-1
accessKeyIdSecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-external
key: access
secretAccessKeySecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-external
key: secret
tls:
enabled: true
backupContentType: Physical
databases:
- name: booklore
characterSet: utf8
collate: utf8_general_ci
cleanupPolicy: Delete
requeueInterval: 10h
users:
- name: booklore
passwordSecretKeyRef:
name: booklore-database-secret
key: password
host: '%'
cleanupPolicy: Delete
requeueInterval: 10h
retryInterval: 30s
grants:
- name: booklore
privileges:
- "ALL PRIVILEGES"
database: "booklore"
table: "*"
username: booklore
grantOption: true
host: '%'
cleanupPolicy: Delete
requeueInterval: 10h
retryInterval: 30s
physicalBackups:
- name: backup-external
schedule:
cron: "0 0 * * 0"
suspend: false
immediate: true
compression: gzip
maxRetention: 2160h
successfulJobsHistoryLimit: 1
storage:
s3:
bucket: mariadb-backups-b230a2f5aecf080a4b372c08
prefix: cl01tl/booklore
endpoint: nyc3.digitaloceanspaces.com
region: us-east-1
accessKeyIdSecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-external
key: access
secretAccessKeySecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-external
key: secret
tls:
enabled: true
- name: backup-remote
schedule:
cron: "0 0 * * 0"
suspend: false
immediate: true
compression: gzip
maxRetention: 2160h
successfulJobsHistoryLimit: 1
storage:
s3:
bucket: mariadb-backups
prefix: cl01tl/booklore
endpoint: garage-ps10rp.boreal-beaufort.ts.net:3900
region: us-east-1
accessKeyIdSecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-garage
key: access
secretAccessKeySecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-garage
key: secret
tls:
enabled: true
- name: backup-garage
schedule:
cron: "0 0 * * *"
suspend: false
immediate: true
compression: gzip
maxRetention: 360h
successfulJobsHistoryLimit: 1
storage:
s3:
bucket: mariadb-backups
prefix: cl01tl/booklore
endpoint: garage-main.garage:3900
region: us-east-1
accessKeyIdSecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-garage
key: access
secretAccessKeySecretKeyRef:
name: booklore-mariadb-cluster-backup-secret-garage
key: secret
volsync-target-config:
pvcTarget: booklore-config
local:
enabled: true
schedule: 12 8 * * *
remote:
enabled: false
external:
enabled: true
schedule: 12 9 * * *
volsync-target-data:
pvcTarget: booklore-data
local:
enabled: true
schedule: 14 8 * * *
restic:
cacheCapacity: 10Gi
remote:
enabled: true
schedule: 14 10 * * *
restic:
cacheCapacity: 10Gi
external:
enabled: true
schedule: 14 9 * * *
restic:
cacheCapacity: 10Gi