Files
infrastructure/clusters/cl01tl/helm/shelfmark/values.yaml
Renovate Bot ea4aa747fe
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 49s
renovate / renovate (push) Successful in 1m45s
chore(deps): update calibrain/shelfmark to v1.2.0 (#4521)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [calibrain/shelfmark](https://github.com/calibrain/shelfmark) | minor | `v1.1.2` → `v1.2.0` |
| [ghcr.io/calibrain/shelfmark](https://github.com/calibrain/shelfmark) | minor | `v1.1.2` → `v1.2.0` |

---

### Release Notes

<details>
<summary>calibrain/shelfmark (calibrain/shelfmark)</summary>

### [`v1.2.0`](https://github.com/calibrain/shelfmark/releases/tag/v1.2.0)

[Compare Source](https://github.com/calibrain/shelfmark/compare/v1.1.2...v1.2.0)

##### New Features

##### Redesigned Search Tools ([#&#8203;712](https://github.com/calibrain/shelfmark/issues/712))

- Search fields restructured into a unified left-hand selector with dynamic options that adapt to each metadata provider
- Includes Author, Title, ISBN, Hardcover Lists, Hardcover Series, and Manual source query.
- Search mode and metadata provider are now selectable directly from the advanced search view
- **Series search** - search by series via Hardcover with live suggestions as you type

##### Hardcover List Integration ([#&#8203;694](https://github.com/calibrain/shelfmark/issues/694), [#&#8203;710](https://github.com/calibrain/shelfmark/issues/710), [#&#8203;719](https://github.com/calibrain/shelfmark/issues/719))

- Browse and search public Hardcover lists, or your own private lists, including "Want to Read"
- Either pick a list from your collection via the search selector dropdown, or paste a list URL into the search box to view its contents directly
- Add and remove books from lists and set "Want to Read" status - accessible from search results, the details modal, and the release modal
- Books are automatically removed from a list when you download them from that list's page

##### Manual Search ([#&#8203;687](https://github.com/calibrain/shelfmark/issues/687))

- New option to search release sources directly, bypassing metadata providers
- Respects user policies - hidden when the user's default policy is "Request Book" or "Blocked"
- Caution: Limited metadata means manual downloads may not play well with path/renaming templates

##### Download Retries ([#&#8203;679](https://github.com/calibrain/shelfmark/issues/679))

- Retry failed downloads manually from the activity sidebar
- Re-run failed post-processing without re-downloading the file

##### Admin Download on Behalf of Users ([#&#8203;679](https://github.com/calibrain/shelfmark/issues/679))

- New "Download as" selector lets admins download on behalf of any user, inheriting that user's output preferences (destination, email, BookLore library, etc.)

##### Per-User Search Defaults ([#&#8203;679](https://github.com/calibrain/shelfmark/issues/679))

- Users can now set their preferred search mode, metadata provider, and release source in User Preferences / My Account

##### Additional Features

- **Sort releases by format** - new sort option in the release modal ([#&#8203;679](https://github.com/calibrain/shelfmark/issues/679))
- **`{OriginalName}` renaming variable** - keep the exact downloaded filename when using custom rename patterns ([#&#8203;679](https://github.com/calibrain/shelfmark/issues/679))
- **Manual request approval** - admins can manually approve book/audiobook requests without requiring a download ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))

##### Improvements

##### Download History & Activity Overhaul ([#&#8203;700](https://github.com/calibrain/shelfmark/issues/700), [#&#8203;703](https://github.com/calibrain/shelfmark/issues/703), [#&#8203;706](https://github.com/calibrain/shelfmark/issues/706))

- Completely rebuilt download tracking - downloads are now recorded in the database when queued, not just when they complete
- Each user gets their own independent activity and history view; admins continue to see everything
- Downloads, requests, and history now fully persist across container updates and restarts
- History entries can still serve downloaded files after tasks leave the active queue

##### Login Session Persistence ([#&#8203;686](https://github.com/calibrain/shelfmark/issues/686))

- Login sessions now persist across container updates and restarts via a stored secret key

##### Other Improvements

- File transfers now fall back to copy-then-delete when hardlink/move fails, improving reliability across filesystems ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660), [#&#8203;718](https://github.com/calibrain/shelfmark/issues/718))
- Content type dropdown is hidden when a content type is blocked for the current user ([#&#8203;705](https://github.com/calibrain/shelfmark/issues/705))
- Release scoring refactored for improved accuracy in the release modal ([#&#8203;665](https://github.com/calibrain/shelfmark/issues/665))

##### Fixes

- Apprise validation did not catch configuration errors early enough ([#&#8203;667](https://github.com/calibrain/shelfmark/issues/667), [#&#8203;668](https://github.com/calibrain/shelfmark/issues/668), [#&#8203;671](https://github.com/calibrain/shelfmark/issues/671))
- Apprise output was not visible in Shelfmark's logs ([#&#8203;667](https://github.com/calibrain/shelfmark/issues/667), [#&#8203;668](https://github.com/calibrain/shelfmark/issues/668), [#&#8203;671](https://github.com/calibrain/shelfmark/issues/671))
- Default language setting was not applied to search queries ([#&#8203;704](https://github.com/calibrain/shelfmark/issues/704))
- CWA ingest folder not detected when file movement fell back to copy ([#&#8203;691](https://github.com/calibrain/shelfmark/issues/691))
- Mirror list not refreshing correctly ([#&#8203;695](https://github.com/calibrain/shelfmark/issues/695))
- Default sort preference not applied consistently; series ordering broken ([#&#8203;715](https://github.com/calibrain/shelfmark/issues/715))
- Duplicate scoring keys in the release modal caused incorrect release ordering ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- Search state went stale after completing a download ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- Releases with multiple formats were incorrectly excluded by the format filter ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- Clicking "Test connection" in settings reset unsaved changes on the page ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- rTorrent download path not discovered correctly ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- `/login` endpoint health check returned incorrect status ([#&#8203;660](https://github.com/calibrain/shelfmark/issues/660))
- Hardcover author names with initials were not parsed correctly ([#&#8203;705](https://github.com/calibrain/shelfmark/issues/705))
- Custom scripts could block the main thread ([#&#8203;686](https://github.com/calibrain/shelfmark/issues/686))
- Mirror configuration wouldn't be overridden on app updates ([#&#8203;718](https://github.com/calibrain/shelfmark/issues/718))
- User and request database concurrency conflicts ([#&#8203;686](https://github.com/calibrain/shelfmark/issues/686), [#&#8203;668](https://github.com/calibrain/shelfmark/issues/668), [#&#8203;718](https://github.com/calibrain/shelfmark/issues/718))
- Users created via reverse proxy auth were not provisioned correctly ([#&#8203;665](https://github.com/calibrain/shelfmark/issues/665))
- Auth migration issue for users who ran dev builds during multi-user development ([#&#8203;665](https://github.com/calibrain/shelfmark/issues/665))
- Activity dismissals not working correctly in no-auth mode ([#&#8203;667](https://github.com/calibrain/shelfmark/issues/667))

***

Note: The last couple of updates rounded out Shelfmark's core feature set. Going forward, the focus shifts to stability, bug fixes and QOL improvements rather than new major features. See the README for details about feature scope and contributions. Thanks.

</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/4521
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-07 20:04:25 +00:00

176 lines
4.9 KiB
YAML

shelfmark:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
revisionHistoryLimit: 3
containers:
main:
image:
repository: ghcr.io/calibrain/shelfmark
tag: v1.2.0
pullPolicy: IfNotPresent
env:
- name: FLASK_PORT
value: 8084
- name: DOCKERMODE
value: true
- name: CALIBRE_WEB_URL
value: https://booklore.alexlebens.net
- name: AUDIOBOOK_LIBRARY_URL
value: https://audiobookshelf.alexlebens.net
- name: SEARCH_MODE
value: universal
- name: METADATA_PROVIDER
value: openlibrary
- name: METADATA_PROVIDER_AUDIOBOOK
value: openlibrary
- name: BOOKS_OUTPUT_MODE
value: booklore
- name: BOOKLORE_HOST
value: http://booklore.booklore:80
- name: BOOKLORE_USERNAME
valueFrom:
secretKeyRef:
name: shelfmark-config-secret
key: booklore-user
- name: BOOKLORE_PASSWORD
valueFrom:
secretKeyRef:
name: shelfmark-config-secret
key: booklore-password
- name: BOOKLORE_DESTINATION
value: library
- name: BOOKLORE_LIBRARY_ID
value: "4"
- name: BOOKLORE_PATH_ID
value: "4"
- name: DESTINATION_AUDIOBOOK
value: /audiobooks
- name: FILE_ORGANIZATION_AUDIOBOOK
value: organize
- name: TEMPLATE_AUDIOBOOK_ORGANIZE
value: '{Author}/{Title}'
- name: HARDLINK_TORRENTS_AUDIOBOOK
value: true
- name: CUSTOM_DNS
value: cloudflare
- name: USE_DOH
value: true
- name: PROWLARR_ENABLED
value: true
- name: PROWLARR_URL
value: http://prowlarr.prowlarr:80
- name: PROWLARR_API_KEY
valueFrom:
secretKeyRef:
name: shelfmark-config-secret
key: prowlarr-key
- name: ABB_ENABLED
value: true
- name: ABB_HOSTNAME
value: audiobookbay.lu
- name: PROWLARR_TORRENT_CLIENT
value: qbittorrent
- name: QBITTORRENT_URL
value: http://qbittorrent.qbittorrent:8080
- name: QBITTORRENT_CATEGORY
value: shelfmark-books
- name: QBITTORRENT_CATEGORY_AUDIOBOOK
value: shelfmark-audiobooks
- name: OPENLIBRARY_ENABLED
value: true
- name: USE_CF_BYPASS
value: true
probes:
liveness:
enabled: true
custom: true
spec:
exec:
command:
- /bin/sh
- -c
- "curl -sf http://localhost:8084/api/health"
failureThreshold: 5
initialDelaySeconds: 60
periodSeconds: 30
successThreshold: 1
timeoutSeconds: 30
resources:
requests:
cpu: 10m
memory: 256Mi
service:
main:
ports:
http:
port: 80
targetPort: 8084
protocol: HTTP
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- shelfmark.alexlebens.net
rules:
- backendRefs:
- group: ''
kind: Service
name: shelfmark
port: 80
weight: 100
matches:
- path:
type: PathPrefix
value: /
persistence:
config:
forceRename: shelfmark
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 1Gi
retain: true
advancedMounts:
main:
main:
- path: /config
readOnly: false
ingest:
existingClaim: shelfmark-import-nfs-storage
advancedMounts:
main:
main:
- path: /ingest
readOnly: false
audiobooks:
existingClaim: shelfmark-audiobooks-nfs-storage
advancedMounts:
main:
main:
- path: /audiobooks
readOnly: false
downloads:
existingClaim: shelfmark-downloads-nfs-storage
advancedMounts:
main:
main:
- path: /mnt/store/Torrent
readOnly: false
volsync-target-config:
pvcTarget: shelfmark
local:
enabled: true
schedule: 38 11 * * *
remote:
enabled: false
external:
enabled: true
schedule: 38 12 * * *