Files
Renovate Bot 41b5b60bd7
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 52s
renovate / renovate (push) Successful in 1m15s
Update ghcr.io/booklore-app/booklore Docker tag to v1.17.0 (#3146)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/booklore-app/booklore](https://github.com/booklore-app/booklore) | minor | `v1.16.5` → `v1.17.0` |

---

### Release Notes

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

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

[Compare Source](https://github.com/booklore-app/booklore/compare/v1.16.5...v1.17.0)

#### 🌟 What's New in v1.17.0

##### This release brings some exciting new features! Highlights include:

- **Custom Fonts in the EPUB Reader**: Users can now upload and use up to 10 of their favorite fonts for a personalized reading experience.
- **Reading Progress Sync**: Progress (in percent) now syncs to hardcover books and is tracked per user.
- **Revamped Metadata Search**: The search UI has been redesigned to provide live, real-time results for a smoother and faster experience.

Plus, numerous performance improvements and bug fixes across the app. Enjoy!

#### 🚀 New Features

- feat: Add custom font support for EPUB reader ([#&#8203;2120](https://github.com/booklore-app/booklore/issues/2120)) by [@&#8203;darkraise](https://github.com/darkraise)
- Revamp metadata search UI to display live results ([#&#8203;2195](https://github.com/booklore-app/booklore/issues/2195)) by [@&#8203;acx10](https://github.com/acx10)
- Feature/koreader hardcover sync ([#&#8203;2204](https://github.com/booklore-app/booklore/issues/2204)) by [@&#8203;boludo00](https://github.com/boludo00)

####  Enhancements

- feat(series-page): implement multi-select functionality for book selection and add footer actions ([#&#8203;2167](https://github.com/booklore-app/booklore/issues/2167)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Add per-user font management permission ([#&#8203;2210](https://github.com/booklore-app/booklore/issues/2210)) by [@&#8203;acx10](https://github.com/acx10)
- Support individual “write to file” settings per book type, with configurable file size limits ([#&#8203;2206](https://github.com/booklore-app/booklore/issues/2206)) by [@&#8203;acx10](https://github.com/acx10)
- feat(ComicVine): use structured search for ComicVine metadata fetching instead of generic /search ([#&#8203;2193](https://github.com/booklore-app/booklore/issues/2193)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- refactor(images): migrate to TwelveMonkeys ImageIO with graceful unsupported format handling ([#&#8203;2188](https://github.com/booklore-app/booklore/issues/2188)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Show a persistent loader while a large library is being created ([#&#8203;2200](https://github.com/booklore-app/booklore/issues/2200)) by [@&#8203;acx10](https://github.com/acx10)
- feat(magic-shelf): add ISBN-10 and ISBN-13 metadata fields to book rules ([#&#8203;2196](https://github.com/booklore-app/booklore/issues/2196)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Implement memoization in the book card to reduce CPU usage during scrolling ([#&#8203;2198](https://github.com/booklore-app/booklore/issues/2198)) by [@&#8203;acx10](https://github.com/acx10)
- feat(metadata): enhance XML parsing with secure processing and improved error handling ([#&#8203;2163](https://github.com/booklore-app/booklore/issues/2163)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- feat(magic-shelf): add genre filter support and improve category labeling in rule fields ([#&#8203;2075](https://github.com/booklore-app/booklore/issues/2075)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- feat(cover-generator): enhance cover resolution and redesign layout for improved aesthetics ([#&#8203;2125](https://github.com/booklore-app/booklore/issues/2125)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)

#### 🐛 Bug Fixes

- fix(ui): use view preference override for magic shelves ([#&#8203;2215](https://github.com/booklore-app/booklore/issues/2215)) by [@&#8203;xcashy](https://github.com/xcashy)
- fix(kobo-sync): fix Kobo series handling for empty names and series number formatting ([#&#8203;2185](https://github.com/booklore-app/booklore/issues/2185)) by [@&#8203;xcashy](https://github.com/xcashy)
- fix(cbx): "Archive too large" error for invalid/corrupt CBX files ([#&#8203;2205](https://github.com/booklore-app/booklore/issues/2205)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Fix: correctly update book cover hash on metadata refresh ([#&#8203;2149](https://github.com/booklore-app/booklore/issues/2149)) by [@&#8203;acx10](https://github.com/acx10)

#### 🛠️ Refactoring & Maintenance

- fix: Ignore access denied when doing library scan instead of failing (fixes [#&#8203;1342](https://github.com/booklore-app/booklore/issues/1342), [#&#8203;2122](https://github.com/booklore-app/booklore/issues/2122)) ([#&#8203;2132](https://github.com/booklore-app/booklore/issues/2132)) by [@&#8203;halkeye](https://github.com/halkeye)
- feat(ui): add series number overlay for More in Series ([#&#8203;2208](https://github.com/booklore-app/booklore/issues/2208)) by [@&#8203;xcashy](https://github.com/xcashy)
- refactor(frontend): resolve linting errors, and EPUB reader lifecycle errors ([#&#8203;2127](https://github.com/booklore-app/booklore/issues/2127)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Test ([#&#8203;2201](https://github.com/booklore-app/booklore/issues/2201)) by [@&#8203;acx10](https://github.com/acx10)
- fix(parser): handle missing results table in GoodReads search and log a warning (instead of erroring) ([#&#8203;2187](https://github.com/booklore-app/booklore/issues/2187)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- fix(lubimyczytac): Fix Lubimyczytac metadata lock persistence ([#&#8203;2194](https://github.com/booklore-app/booklore/issues/2194)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Move custom fonts management to Reader tab ([#&#8203;2161](https://github.com/booklore-app/booklore/issues/2161)) by [@&#8203;acx10](https://github.com/acx10)
- fix(api): kobo proxy server unit tests ([#&#8203;2136](https://github.com/booklore-app/booklore/issues/2136)) by [@&#8203;CounterClops](https://github.com/CounterClops)
- fix(docs): update issue report links to use specific templates ([#&#8203;2156](https://github.com/booklore-app/booklore/issues/2156)) by [@&#8203;balazs-szucs](https://github.com/balazs-szucs)
- Add Vitest frontend tests to CI with JUnit reporting and coverage ([#&#8203;2151](https://github.com/booklore-app/booklore/issues/2151)) by [@&#8203;acx10](https://github.com/acx10)
- Introduce Vitest as the frontend Angular testing framework for Booklore ([#&#8203;2150](https://github.com/booklore-app/booklore/issues/2150)) by [@&#8203;acx10](https://github.com/acx10)

#### 📦 Dependencies

- chore(deps): bump qs and body-parser in /booklore-ui ([#&#8203;2088](https://github.com/booklore-app/booklore/issues/2088)) by @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot)

#### 🐳 Docker Images

- **Docker Hub:** `booklore/booklore:v1.17.0`
- **GitHub Container Registry:** `ghcr.io/booklore-app/booklore:v1.17.0`

**Full Changelog**: <https://github.com/booklore-app/booklore/compare/v1.16.5...v1.17.0>

#### 📸 Screenshots:

<img width="750" height="452" alt="Screenshot 2026-01-09 at 3 39 40 PM" src="https://github.com/user-attachments/assets/40e13036-0f51-4b39-99fb-9239f6dc6067" />
<img width="750" height="452" alt="Screenshot 2026-01-09 at 3 39 57 PM" src="https://github.com/user-attachments/assets/338d00bf-795f-4613-aa2c-f80dee546cc4" />
<img width="750" height="452" alt="Screenshot 2026-01-09 at 3 42 06 PM" src="https://github.com/user-attachments/assets/5e420e89-c186-4d96-8520-601ce6c0342c" />
<img width="750" height="452" alt="Screenshot 2026-01-09 at 3 40 29 PM" src="https://github.com/user-attachments/assets/13a6cfcc-f691-4613-9dfb-1e761cc67450" />
<img width="750" height="452" alt="Screenshot 2026-01-09 at 3 41 15 PM" src="https://github.com/user-attachments/assets/2efdaefb-8a94-4e05-a3b8-03bc4a37d22f" />

</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 this update 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3146
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-01-10 00:15:00 +00:00

245 lines
6.2 KiB
YAML

booklore:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/booklore-app/booklore
tag: v1.17.0
pullPolicy: IfNotPresent
env:
- name: TZ
value: America/Chicago
- 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