6 Commits

Author SHA1 Message Date
537e2f0f8d feat: enable backups and index
All checks were successful
lint-test-helm / lint-helm (push) Successful in 24s
render-manifests-push / render-manifests-push (push) Successful in 1m22s
renovate / renovate (push) Successful in 3m18s
2026-03-11 13:45:37 -05:00
9d201656b6 chore(deps): update booklore-app/booklore to v2.2.0 (#4633)
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
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
95601d3090 chore(deps): update helm release element-web to v1.4.32 (#4634)
Some checks failed
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Has been cancelled
2026-03-11 16:04:46 +00:00
1a7eaf2d0c chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3.1.0 (#4631)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 4m29s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile) | minor | `3.0.0` → `3.1.0` |

---

### Release Notes

<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>

### [`v3.1.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.0.0...3.1.0)

[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/3.0.0...3.1.0)

</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4631
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-11 06:56:19 +00:00
5876d9ab79 chore(deps): update harbor.alexlebens.net/images/site-profile docker tag to v3 (#4628)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 13s
renovate / renovate (push) Successful in 3m0s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [harbor.alexlebens.net/images/site-profile](https://gitea.alexlebens.dev/alexlebens/site-profile) | major | `2.25.0` → `3.0.0` |

---

### Release Notes

<details>
<summary>alexlebens/site-profile (harbor.alexlebens.net/images/site-profile)</summary>

### [`v3.0.0`](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/2.25.0...3.0.0)

[Compare Source](https://gitea.alexlebens.dev/alexlebens/site-profile/compare/2.25.0...3.0.0)

</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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4yIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->

Reviewed-on: #4628
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-11 06:25:20 +00:00
1c03121d81 chore(deps): update ghcr.io/linuxserver/prowlarr:2.3.0 docker digest to 9ef5d8b (#4627)
All checks were successful
render-manifests-push / render-manifests-push (push) Has been skipped
lint-test-helm / lint-helm (push) Successful in 10s
renovate / renovate (push) Successful in 3m26s
2026-03-11 06:02:48 +00:00
8 changed files with 11 additions and 11 deletions

View File

@@ -68,7 +68,7 @@ postgres-18-cluster:
recovery:
method: objectStore
objectStore:
index: 1
index: 2
backup:
objectStore:
- name: garage-local
@@ -91,7 +91,7 @@ postgres-18-cluster:
# isWALArchiver: false
scheduledBackups:
- name: live-backup
suspend: true
suspend: false
immediate: true
schedule: "0 0 0 * * *"
backupName: garage-local

View File

@@ -30,4 +30,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/booklore.png
# renovate: datasource=github-releases depName=booklore-app/BookLore
appVersion: v2.1.0
appVersion: v2.2.0

View File

@@ -9,7 +9,7 @@ booklore:
main:
image:
repository: ghcr.io/booklore-app/booklore
tag: v2.1.0
tag: v2.2.0
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -1,9 +1,9 @@
dependencies:
- name: element-web
repository: https://ananace.gitlab.io/charts
version: 1.4.31
version: 1.4.32
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
digest: sha256:5066932d870c4803fca9bc4d7b686793e801d96b14026c299e467d8c107fb7eb
generated: "2026-03-09T22:04:10.470135964Z"
digest: sha256:49d9dd45eff7cbbc11644e4a8bd3c9d3bf84716ed034a76f097f0ba1fea4c934
generated: "2026-03-11T16:04:17.556777286Z"

View File

@@ -17,7 +17,7 @@ maintainers:
- name: alexlebens
dependencies:
- name: element-web
version: 1.4.31
version: 1.4.32
repository: https://ananace.gitlab.io/charts
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts

View File

@@ -197,7 +197,7 @@ postgres-18-cluster:
recovery:
method: objectStore
objectStore:
index: 1
index: 2
backup:
objectStore:
- name: garage-local

View File

@@ -20,7 +20,7 @@ prowlarr:
main:
image:
repository: ghcr.io/linuxserver/prowlarr
tag: 2.3.0@sha256:a8fe7b9c502f979146b6d0f22438b825c38e068241bb8a708c473062dffdbb03
tag: 2.3.0@sha256:9ef5d8bf832edcacb6082f9262cb36087854e78eb7b1c3e1d4375056055b2d82
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -11,7 +11,7 @@ site-profile:
main:
image:
repository: harbor.alexlebens.net/images/site-profile
tag: 3.0.0
tag: 3.1.0
pullPolicy: IfNotPresent
resources:
requests: