15 Commits

Author SHA1 Message Date
d67fe3cfdf fix: add dbname (#5306)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 2m30s
Reviewed-on: #5306
2026-03-31 01:47:52 +00:00
fcb24f62af fix: wrong paths (#5304)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 25s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
Reviewed-on: #5304
2026-03-31 01:40:22 +00:00
286e43b5de tmp/paperless (#5302)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 42s
lint-test-helm / validate-kubeconform (push) Has been skipped
lint-test-docker / lint-docker-compose (push) Successful in 57s
renovate / renovate (push) Has been cancelled
Reviewed-on: #5302
2026-03-31 01:30:37 +00:00
4c1cfa5fa5 chore(deps): update dependency binwiederhier/ntfy to v2.21.0 (#5300)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 27s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [binwiederhier/ntfy](https://github.com/binwiederhier/ntfy) | minor | `2.20.1` → `2.21.0` |
| [binwiederhier/ntfy](https://ntfy.sh/) ([source](https://github.com/binwiederhier/ntfy)) | minor | `v2.20.1` → `v2.21.0` |

---

### Release Notes

<details>
<summary>binwiederhier/ntfy (binwiederhier/ntfy)</summary>

### [`v2.21.0`](https://github.com/binwiederhier/ntfy/releases/tag/v2.21.0)

[Compare Source](https://github.com/binwiederhier/ntfy/compare/v2.20.1...v2.21.0)

This release adds the ability to verify email addresses using the `smtp-sender-verify` flag. This is a change that is required because ntfy.sh was used to send unsolicited emails and the AWS SES account was suspended. Going forward, ntfy.sh won't be able to send emails unless the email address was verified ahead of time.

**Features:**

- Add verified email recipients feature with `smtp-sender-verify` config flag, allowing server admins to require email
  address verification before sending email notifications ([#&#8203;1681](https://github.com/binwiederhier/ntfy/pull/1681))

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

Reviewed-on: #5300
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-31 01:24:10 +00:00
859059a996 chore(deps): update favonia/cloudflare-ddns docker tag to v1.16.0 (#5301)
Some checks failed
lint-test-docker / lint-docker-compose (push) Successful in 32s
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [favonia/cloudflare-ddns](https://github.com/favonia/cloudflare-ddns) | minor | `1.15.1` → `1.16.0` |

---

### Release Notes

<details>
<summary>favonia/cloudflare-ddns (favonia/cloudflare-ddns)</summary>

### [`v1.16.0`](https://github.com/favonia/cloudflare-ddns/blob/HEAD/CHANGELOG.markdown#1160-2026-03-30)

[Compare Source](https://github.com/favonia/cloudflare-ddns/compare/v1.15.1...v1.16.0)

Despite the gap of over a year since the last release, we are not aware of any security vulnerability affecting the default configuration. As always, please review the changelog and watch for warnings or errors when upgrading.

#### Highlights

1. **WAF lists now support /128 IPv6 entries.** Cloudflare’s API now accepts individual IPv6 addresses in WAF lists. New `IP4_DEFAULT_PREFIX_LEN` (default `/32`) and `IP6_DEFAULT_PREFIX_LEN` (default `/64`) control how bare addresses are stored in WAF lists. Users can now set `IP6_DEFAULT_PREFIX_LEN` to `128` for per-address granularity. DNS records currently ignore prefix lengths, but will use these in the future.
2. **Multi-instance support via comment-based selection.** New `MANAGED_RECORDS_COMMENT_REGEX` and `MANAGED_WAF_LIST_ITEMS_COMMENT_REGEX` let multiple updater instances safely share the same domain or WAF list, each managing only records or items with matching comments. New `WAF_LIST_ITEM_COMMENT` provides a fallback comment for WAF list items, similar to how `RECORD_COMMENT` serves as a fallback for DNS records.
3. **Multi-IP detection and reconciliation.** Providers now return multiple IP addresses, each with a CIDR prefix length, and the reconciliation algorithm has been redesigned to handle them correctly. The experimental `local.iface` provider now collects all matching global unicast addresses from the specified interface, instead of just the first one. Multi-address support in `url:` and `file:` providers is also experimental.
4. **New `file:` provider.** Reads IP addresses from a local file, re-reading each detection cycle. This enables integration with external scripts or monitoring systems without restarting the updater. (Multi-address support is experimental.)
5. **New variants of `url:` (`url.via4:` and `url.via6:`) for transport overrides.** By default, `url:<url>` connects using the same IP family as the address being detected. Override the IP family used to connect with `url.via4:<url>` or `url.via6:<url>` (e.g., get an IPv6 address over an IPv4 connection). (Multi-address support in URL-based providers is experimental.)
6. **Rewritten user-facing messages.** Many log messages have been reworded into clearer, more natural English.

#### Your Feedback Wanted

The IP prefix length work in this release lays the groundwork for several upcoming features. We’d love your input on the proposed configuration syntax:

- **Per-domain IPv6 host IDs** ([#&#8203;764](https://github.com/favonia/cloudflare-ddns/issues/764)):
  - `IP6_DOMAINS=sub.example.com{hostid6=::2}`
  - `IP6_DOMAINS=sub.example.com{hostid6=preserve}` (keep the detected host IDs)
  - `IP6_DOMAINS=sub.example.com{hostid6=mac(77:cc:a7:f9:45:94)}` (compute an [EUI-64](https://en.wikipedia.org/wiki/IPv6_address#Modified_EUI-64) host ID from a MAC address)
  - `DOMAINS=sub1.example.com{hostid6=::aad1},sub2.example.com{hostid6=preserve}`
- **Detection IP filtering** ([#&#8203;1138](https://github.com/favonia/cloudflare-ddns/issues/1138)):
  - `IP6_DETECTION_FILTER=keep-all`
  - `IP6_DETECTION_FILTER=!addr-in(fc00::/7)`
  - `IP6_DETECTION_FILTER=subnet-in(2001:db8:abcd::/48)`
  - `IP4_DETECTION_FILTER=!addr-in(10.0.0.0/8) && !addr-in(192.168.0.0/16)`
  - `IP6_DETECTION_FILTER=contains(2002:dead:beef::/100) || contains(2005:dead:beef::/100)`

| input        | `addr-in(1.1.0.0/16)`              | `subnet-in(1.1.0.0/16)` | `contains(1.1.0.0/16)` |
| ------------ | ---------------------------------- | ----------------------- | ---------------------- |
| `1.1.1.1/8`  | ✔️                                 | ️                      | ✔️                     |
| `1.1.1.1/16` | ✔️                                 | ✔️                      | ✔️                     |
| `1.1.1.1/24` | ✔️                                 | ✔️                      | ️                     |
| `1.2.2.2/8`  | ️ (`1.2.2.2` not in `1.1.0.0/16`) | ️                      | ✔️                     |

Also planned: a linter for boolean expressions targeting advanced usage of `PROXIED` and the upcoming `IP4/6_DETECTION_FILTER`, and further robustness improvements to the default `cloudflare.trace` provider.

#### Reminder from the Past

As a reminder, since 1.13.0, **the updater no longer drops privileges internally, and `PUID` and `PGID` are ignored.** Please use Docker’s built-in mechanism to drop privileges. The old Docker Compose template may grant unneeded privileges to the new updater, which is not recommended. Please review the new, simpler, and more secure template in [README](./README.markdown). In a nutshell, **remove the `cap_add` attribute and replace the environment variables `PUID` and `PGID` with the [`user: "UID:GID"` attribute](https://docs.docker.com/reference/compose-file/services/#user)**. Similar options may exist for systems not using Docker Compose.

#### Other Notes

**Shoutrrr support is no longer experimental.** The shoutrrr notification integration, introduced in 1.12.0, is now considered stable.

#### Detailed Changes

##### Features

- The detection model has been redesigned so that providers return multiple IP addresses, each with a CIDR prefix length. New `IP4_DEFAULT_PREFIX_LEN` and `IP6_DEFAULT_PREFIX_LEN` settings control how bare addresses are stored in WAF lists. ([#&#8203;1144](https://github.com/favonia/cloudflare-ddns/issues/1144)) ([#&#8203;1156](https://github.com/favonia/cloudflare-ddns/issues/1156))
- The reconciliation algorithm has been redesigned to handle complex metadata mismatches when multiple IP addresses result in multiple records. ([#&#8203;1015](https://github.com/favonia/cloudflare-ddns/issues/1015)) ([#&#8203;1020](https://github.com/favonia/cloudflare-ddns/issues/1020)) ([#&#8203;1022](https://github.com/favonia/cloudflare-ddns/issues/1022)) ([#&#8203;1115](https://github.com/favonia/cloudflare-ddns/issues/1115))
- New `file:` provider reads IP addresses from a local file. ([#&#8203;1148](https://github.com/favonia/cloudflare-ddns/issues/1148))
- New `static:<ip1>,<ip2>,...` and `static.empty` providers have been added. `static.empty` actively clears managed content for a given IP family. ([#&#8203;1102](https://github.com/favonia/cloudflare-ddns/issues/1102)) ([#&#8203;1135](https://github.com/favonia/cloudflare-ddns/issues/1135))
- The `url:`, `file:`, and `static:` providers now accept addresses in CIDR notation (e.g., `198.51.100.1/24`). ([#&#8203;1159](https://github.com/favonia/cloudflare-ddns/issues/1159)) ([#&#8203;1169](https://github.com/favonia/cloudflare-ddns/issues/1169))
- The experimental `local.iface` provider now collects all matching global unicast addresses. ([#&#8203;1095](https://github.com/favonia/cloudflare-ddns/issues/1095))
- New `MANAGED_RECORDS_COMMENT_REGEX` selects only DNS records whose comments match a regex. ([#&#8203;1103](https://github.com/favonia/cloudflare-ddns/issues/1103))
- New `MANAGED_WAF_LIST_ITEMS_COMMENT_REGEX` and `WAF_LIST_ITEM_COMMENT` provide the same comment-based selection for WAF list items. ([#&#8203;1106](https://github.com/favonia/cloudflare-ddns/issues/1106))
- New `url.via4:<url>` and `url.via6:<url>` providers override the IP family used to connect to a custom URL. ([#&#8203;1131](https://github.com/favonia/cloudflare-ddns/issues/1131))
- The updater now warns about likely misconfigured `SHOUTRRR` values. ([#&#8203;1111](https://github.com/favonia/cloudflare-ddns/issues/1111))

##### Bug Fixes

- The configuration parser now warns about extra commas in lists (e.g., `a,,b`) except for trailing commas, which were silently ignored. ([#&#8203;1177](https://github.com/favonia/cloudflare-ddns/issues/1177))
- The updater now exits gracefully when `EMOJI` or `QUIET` is invalid. ([#&#8203;1174](https://github.com/favonia/cloudflare-ddns/issues/1174))
- The updater invalidates relevant zone search cache entries when a zone cannot be found for faster recovery. ([#&#8203;1125](https://github.com/favonia/cloudflare-ddns/issues/1125))
- API token verification is now stricter, catching malformed tokens before any update attempts. ([#&#8203;1126](https://github.com/favonia/cloudflare-ddns/issues/1126))
- Providers (especially `cloudflare.trace` and `cloudflare.doh`) now validate detected IP addresses more strictly. ([#&#8203;1097](https://github.com/favonia/cloudflare-ddns/issues/1097)) ([#&#8203;1099](https://github.com/favonia/cloudflare-ddns/issues/1099)) ([#&#8203;1101](https://github.com/favonia/cloudflare-ddns/issues/1101)) ([#&#8203;1151](https://github.com/favonia/cloudflare-ddns/issues/1151))
- WAF list entries in the configuration are now deduplicated. ([#&#8203;1091](https://github.com/favonia/cloudflare-ddns/issues/1091))
- The updater now warns when a configured domain does not look like a fully qualified domain name. ([#&#8203;1019](https://github.com/favonia/cloudflare-ddns/issues/1019))
- The updater now warns when DNS records and WAF list items for the same domain have mixed ownership (some managed, some not). ([#&#8203;1173](https://github.com/favonia/cloudflare-ddns/issues/1173))

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5301
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-31 01:23:36 +00:00
d916bc7460 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.2 (#5299)
All checks were successful
renovate / renovate (push) Successful in 2m35s
2026-03-30 21:04:02 +00:00
f45d669dc2 chore(deps): update medialyze to v0.4.0 (#5294)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 19s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 4m9s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [frederikemmer/MediaLyze](https://github.com/frederikemmer/MediaLyze) | minor | `0.3.0` → `0.4.0` |
| [ghcr.io/frederikemmer/medialyze](https://github.com/frederikemmer/MediaLyze) | minor | `0.3.0` → `0.4.0` |

---

### Release Notes

<details>
<summary>frederikemmer/MediaLyze (frederikemmer/MediaLyze)</summary>

### [`v0.4.0`](https://github.com/frederikemmer/MediaLyze/blob/HEAD/CHANGELOG.md#v040)

[Compare Source](https://github.com/frederikemmer/MediaLyze/compare/v0.3.0...v0.4.0)

> 2026-03-30

First "rough" implementation for detecting duplicate files. May break desktop install use v0.3.0 if it's not working properly.

#####  New

- add per-library duplicate detection with `off` (default), `filename`, `filehash`, `both` modes ([#&#8203;16](https://github.com/frederikemmer/MediaLyze/issues/16))
- view and search through duplicates on library page
- scan performance tuning in `App settings` with separate controls for per-scan analysis workers and parallel library scans

##### 🐛 Bug fixes

- rework scan execution so discovery streams files directly into analysis and duplicate workers, live progress reflects worker completion, and configured worker counts now affect real throughput
- stop auto-resuming or auto-queuing stale startup jobs, clear pending watchdog debounce requests on cancel, and improve failed scan diagnostics with copyable detailed error payloads
- tighten the duplicate and library-settings UI by capping visible duplicate variants with internal scrolling, aligning scan controls consistently, and making the `dev` desktop artifact build manual-only

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

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5294
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 19:11:36 +00:00
b9f8013480 chore(deps): update ghcr.io/renovatebot/renovate docker tag to v43.101.1 (#5297)
All checks were successful
renovate / renovate (push) Successful in 4m35s
2026-03-30 18:05:08 +00:00
ea858d0e75 chore(deps): update ghcr.io/directus/directus docker tag to v11.17.1 (#5295)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 22s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
2026-03-30 18:04:25 +00:00
a9a73124ac chore(deps): update tubearchivist to v0.5.10 (#5263)
All checks were successful
lint-test-helm / lint-helm (push) Successful in 13s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Successful in 5m11s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| bbilly1/tubearchivist | patch | `v0.5.9` → `v0.5.10` |
| [tubearchivist/tubearchivist](https://github.com/tubearchivist/tubearchivist) | patch | `v0.5.9` → `v0.5.10` |

---

### Release Notes

<details>
<summary>tubearchivist/tubearchivist (tubearchivist/tubearchivist)</summary>

### [`v0.5.10`](https://github.com/tubearchivist/tubearchivist/releases/tag/v0.5.10)

[Compare Source](https://github.com/tubearchivist/tubearchivist/compare/v0.5.9...v0.5.10)

#### Added

- Added secret lookup from file, by [@&#8203;TheMDev](https://github.com/TheMDev), [docs](https://docs.tubearchivist.com/installation/env-vars/)
- Added deprecated appconfig key cleanup, by [@&#8203;bbilly1](https://github.com/bbilly1)

#### Changed

- Removed now redundant manual POT field, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Extend the PIT lifetime for meta data embed for slow IO, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Ignore `number_of_replicas` for index recreation for replica configurations, by [@&#8203;camhorn](https://github.com/camhorn)
- Redownload now uses reindex for better metadata preservation, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Changed POT plugin installation method, fix runtime plugin loading into yt-dlp, align with upstreak, by [@&#8203;bbilly1](https://github.com/bbilly1), [#&#8203;1134](https://github.com/tubearchivist/tubearchivist/issues/1134)
- Changed download process error handling, bot error message now throws and stops task completly, by [@&#8203;jwmay2012](https://github.com/jwmay2012)

#### Fixed

- Fixed newer ES alias APIs for ES9 support, by [@&#8203;TheMDev](https://github.com/TheMDev)
- Fixed future problem for search alias, by [@&#8203;TheMDev](https://github.com/TheMDev)
- Fixed video deletion from playlist while out of sync, by [@&#8203;bbilly1](https://github.com/bbilly1)
- Fixed embedding error for mutagen on empty description, by [@&#8203;bbilly1](https://github.com/bbilly1), [#&#8203;1124](https://github.com/tubearchivist/tubearchivist/issues/1124)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYXV0b21lcmdlIiwiZG9ja2VyIiwiZG9ja2VyIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5263
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:35:46 +00:00
99811bb046 chore(deps): update helm release meilisearch to v0.30.0 (#5289)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has been cancelled
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [meilisearch](https://github.com/meilisearch/meilisearch-kubernetes/tree/main/charts/meilisearch) ([source](https://github.com/meilisearch/meilisearch-kubernetes)) | minor | `0.29.0` → `0.30.0` |

---

### Release Notes

<details>
<summary>meilisearch/meilisearch-kubernetes (meilisearch)</summary>

### [`v0.30.0`](https://github.com/meilisearch/meilisearch-kubernetes/releases/tag/meilisearch-0.30.0)

[Compare Source](https://github.com/meilisearch/meilisearch-kubernetes/compare/meilisearch-0.29.0...meilisearch-0.30.0)

A Helm chart for the Meilisearch search engine

</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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJoZWxtIl19-->

Reviewed-on: #5289
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:34:45 +00:00
f71c835cd8 chore(deps): update ollama to v0.19.0 (#5286)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m28s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ollama/ollama](https://github.com/ollama/ollama) | minor | `0.18.3` → `0.19.0` |
| ollama/ollama | minor | `0.18.3` → `0.19.0` |

---

### Release Notes

<details>
<summary>ollama/ollama (ollama/ollama)</summary>

### [`v0.19.0`](https://github.com/ollama/ollama/releases/tag/v0.19.0)

[Compare Source](https://github.com/ollama/ollama/compare/v0.18.3...v0.19.0)

#### What's Changed

- Ollama's app will now no longer incorrectly show "model is out of date"
- `ollama launch pi` now includes web search plugin that uses Ollama's web search
- Improved KV cache hit rate when using the Anthropic-compatible API
- Fixed tool call parsing issue with Qwen3.5 where tool calls would be output in thinking
- MLX runner will now create periodic snapshots during prompt processing
- Fixed KV cache snapshot memory leak in MLX runner
- Fixed issue where flash attention would be incorrectly enabled for `grok` models
- Fixed `qwen3-next:80b` not loading in Ollama

#### New Contributors

- [@&#8203;amatas](https://github.com/amatas) made their first contribution in [#&#8203;15022](https://github.com/ollama/ollama/pull/15022)

**Full Changelog**: <https://github.com/ollama/ollama/compare/v0.18.3...v0.19.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 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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4xIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIl19-->

Reviewed-on: #5286
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:32:03 +00:00
5d911b04e6 chore(deps): update rybbit to v2.5.0 (#5275)
Some checks failed
lint-test-helm / validate-kubeconform (push) Has been cancelled
lint-test-helm / lint-helm (push) Has started running
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/rybbit-io/rybbit-backend](https://github.com/rybbit-io/rybbit) | minor | `v2.4.0` → `v2.5.0` |
| [rybbit-io/rybbit](https://github.com/rybbit-io/rybbit) | minor | `v2.4.0` → `v2.5.0` |

---

### Release Notes

<details>
<summary>rybbit-io/rybbit (ghcr.io/rybbit-io/rybbit-backend)</summary>

### [`v2.5.0`](https://github.com/rybbit-io/rybbit/releases/tag/v2.5.0)

[Compare Source](https://github.com/rybbit-io/rybbit/compare/v2.4.0...v2.5.0)

- Improved bot blocking capabilities
- Added teams to further subdivide organizations into groups of users and sites <https://rybbit.com/docs/teams>
- Added tagging that allows easy slicing of analytics into different cohorts, similar to an existing feature from Umami <https://rybbit.com/docs/tagging>
- Various minor performance improvements

Thank you [@&#8203;lukyrys](https://github.com/lukyrys) for multiple contributions over this period

</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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4xIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIl19-->

Reviewed-on: #5275
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:30:26 +00:00
7446e1c586 chore(deps): update dawarich to v1.6.0 (#5260)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 1m34s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Freika/dawarich](https://github.com/Freika/dawarich) | minor | `1.4.0` → `1.6.0` |
| [freikin/dawarich](https://github.com/Freika/dawarich) | minor | `1.4.0` → `1.6.0` |

---

### Release Notes

<details>
<summary>Freika/dawarich (Freika/dawarich)</summary>

### [`v1.6.0`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#160---2026-03-29)

[Compare Source](https://github.com/Freika/dawarich/compare/1.5.1...1.6.0)

##### Added

- Immich users can now enrich their photos with geodata.
- Users can now optionally enable two-factor authentication (2FA) for their accounts in Settings > Two-Factor Authentication. Supported methods: TOTP apps (Google Authenticator, Authy, etc.) and backup codes. Once enabled, users will be prompted for a 2FA code on login. This adds an extra layer of security to protect your location data.

##### Fixed

- Fix OIDC account linking failing when the email from the identity provider has different casing than the existing Dawarich account [#&#8203;1983](https://github.com/Freika/dawarich/issues/1983).
- Fix confirmation dialogs being ignored when clicking "Cancel" — destructive actions (account deletion, import/export deletion, place deletion) fired regardless of user choice due to Rails UJS and Turbo both handling the same click [#&#8203;1978](https://github.com/Freika/dawarich/issues/1978).
- Fix Year in Review share link being empty when toggling public access [#&#8203;2418](https://github.com/Freika/dawarich/issues/2418).
- Fix address field on Points page being empty when geodata properties are unavailable [#&#8203;2419](https://github.com/Freika/dawarich/issues/2419).
- Fix Stats API returning the same country/city count for every year instead of per-year counts [#&#8203;2280](https://github.com/Freika/dawarich/issues/2280).
- Fix flyover countries (with no visited cities) still showing in monthly stats views [#&#8203;2423](https://github.com/Freika/dawarich/issues/2423).
- Fix importing Google Timeline files. [#&#8203;2427](https://github.com/Freika/dawarich/issues/2427)

### [`v1.5.1`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#151---2026-03-28)

[Compare Source](https://github.com/Freika/dawarich/compare/1.5.0...1.5.1)

##### Fixed

- Fix points and tracks interactions on Map v2 being unresponsive after the latest update.
- Fix creating demo data from the onboarding modal.
- Fix navbar for cloud trial users.
- Reset months stats instead of deleting when there is no data.

### [`v1.5.0`](https://github.com/Freika/dawarich/blob/HEAD/CHANGELOG.md#150---2026-03-28)

[Compare Source](https://github.com/Freika/dawarich/compare/1.4.0...1.5.0)

##### Added

- GPS noise filtering. An automatic system to detect ahd filter out points with unrealistic speeds, altitudes, or sudden jumps.
- Support for signing in via web view using our Android app.
- On the map settings page user now can enable and disable map layers.
- Onboarding modal now offers a third option to load demo data (3 days in Berlin, \~1000 points) so new users can instantly see what the map looks like. Demo imports bypass trial limits, are clearly labeled with a "Demo" badge, and can be deleted from a banner on the map page or from the imports list.
- New tool to the Map V2 tools: The "Day per Country" button will open a modal showing a breakdown of how many days the user has spent in each country, based on their points data. This is calculated by grouping points by country and counting unique days with at least one point in that country.

##### Changed

- \[Cloud] The point creation API endpoints are being excluded from the default Lite/Pro rate limits (200/1,000 requests/hour). They now have general rate limits of 10,000 requests/hour.
- Buildings numbers on map V2 are now shown on closer zoom.

##### Fixed

- Users who registered via Google (or other OAuth providers) can now change their password and email without needing to enter their current password.
- Fix deadlocks in reverse geocoding job when multiple Sidekiq workers update points concurrently.
- Fix `counter_cache_column` error in points counter reset job by using direct SQL count instead of `reset_counters`.
- Fix duplicate place records causing `ON CONFLICT` cardinality violations during reverse geocoding.
- Fix `TypeError` crash in transportation mode backfill when Google export files have unexpected JSON structure.
- Fix inability to disable visit suggestions background job due to conflicting Rails UJS and Turbo handlers causing request cancellation [#&#8203;2118](https://github.com/Freika/dawarich/issues/2118).
- Fix visit confirm/decline buttons firing twice [#&#8203;2379](https://github.com/Freika/dawarich/issues/2379).
- Fix clicking on a point in Map v2 silently moving it to the cursor position. Points now only update when intentionally dragged [#&#8203;2149](https://github.com/Freika/dawarich/issues/2149), [#&#8203;2150](https://github.com/Freika/dawarich/issues/2150).
- Fix visit name suggester not recognizing Photon reverse geocoding data format, causing all suggested places to show as "Suggested place" [#&#8203;2151](https://github.com/Freika/dawarich/issues/2151), [#&#8203;2377](https://github.com/Freika/dawarich/issues/2377).
- Fix visit edit form displaying UTC times instead of the user's configured timezone [#&#8203;2168](https://github.com/Freika/dawarich/issues/2168).
- Fix export deletion failing when the export file was manually removed from disk [#&#8203;915](https://github.com/Freika/dawarich/issues/915).
- Fix PhotoPrism `before` date filter being off by one day, excluding photos taken on the end date [#&#8203;747](https://github.com/Freika/dawarich/issues/747).
- Fix datetime inputs allowing 5-digit years on Chrome by adding `max` attribute to all datetime-local fields [#&#8203;578](https://github.com/Freika/dawarich/issues/578).
- Fix Points page datetime fields requiring seconds input, preventing search on mobile browsers and some desktop browsers [#&#8203;1040](https://github.com/Freika/dawarich/issues/1040), [#&#8203;1478](https://github.com/Freika/dawarich/issues/1478).
- Fix altitude values being truncated to integers instead of preserving decimal precision [#&#8203;1573](https://github.com/Freika/dawarich/issues/1573).
- Fix suggested visits keeping "Suggested Visit" name when confirmed directly without selecting a place [#&#8203;1725](https://github.com/Freika/dawarich/issues/1725).
- Fix visit name becoming empty and uneditable when clicking the name field and then clicking away [#&#8203;1776](https://github.com/Freika/dawarich/issues/1776).
- Fix trips page crashing with `undefined method 'coordinates' for nil` when trip path calculation hasn't completed yet [#&#8203;1356](https://github.com/Freika/dawarich/issues/1356), [#&#8203;1765](https://github.com/Freika/dawarich/issues/1765).
- Fix Immich/PhotoPrism photos on map not being filtered by the selected date range [#&#8203;1755](https://github.com/Freika/dawarich/issues/1755).
- Fix short trips (less than one full day) not showing photos due to PhotoPrism `before` date filter being exclusive [#&#8203;1688](https://github.com/Freika/dawarich/issues/1688).
- Fix health check endpoint (`/api/v1/health`) triggering unnecessary `User Load` database queries on every request [#&#8203;1770](https://github.com/Freika/dawarich/issues/1770).
- Fix points created via Overland API (Home Assistant, GPSLogger) not being automatically reverse geocoded after creation [#&#8203;1242](https://github.com/Freika/dawarich/issues/1242).
- Fix monthly stats map crashing with `Invalid LatLng object: (NaN, NaN)` when points have missing coordinates [#&#8203;1762](https://github.com/Freika/dawarich/issues/1762).
- Fix trips failing with self-signed certificates by leveraging per-integration SSL skip settings [#&#8203;455](https://github.com/Freika/dawarich/issues/455).
- Fix non-admin users unable to access Background Jobs settings to trigger reverse geocoding or manage visit suggestions [#&#8203;1714](https://github.com/Freika/dawarich/issues/1714).
- Fix family page map not loading due to `escape_javascript` producing invalid JSON in the Stimulus data attribute.
- Fix countries appearing in visited statistics despite only being driven through without spending meaningful time in any city [#&#8203;1595](https://github.com/Freika/dawarich/issues/1595), [#&#8203;1779](https://github.com/Freika/dawarich/issues/1779).
- Fix `migrate_to_new_storage` rake task crashing when export URL is blank, already migrated, or points to a directory instead of a file [#&#8203;1018](https://github.com/Freika/dawarich/issues/1018), [#&#8203;1037](https://github.com/Freika/dawarich/issues/1037).
- Fix selecting the only suggested place for a visit having no effect because the dropdown `change` event never fires with a single option [#&#8203;471](https://github.com/Freika/dawarich/issues/471).
- Fix city duration calculation undercounting time spent due to integer division truncating sub-minute GPS intervals to zero [#&#8203;2408](https://github.com/Freika/dawarich/issues/2408).
- Fix tooltips in data tables (Imports, Exports, Points) being hidden behind adjacent rows [#&#8203;2409](https://github.com/Freika/dawarich/issues/2409).
- Fix iOS QR code in Account settings being cut off on the right side [#&#8203;2406](https://github.com/Freika/dawarich/issues/2406).

</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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5260
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:27:21 +00:00
8c556ccb1a chore(deps): update unpoller to v2.39.0 (#5255)
Some checks failed
lint-test-helm / lint-helm (push) Successful in 14s
lint-test-helm / validate-kubeconform (push) Has been skipped
renovate / renovate (push) Has been cancelled
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/unpoller/unpoller](https://github.com/unpoller/unpoller) | minor | `v2.38.0` → `v2.39.0` |
| [unpoller/unpoller](https://github.com/unpoller/unpoller) | minor | `v2.38.0` → `v2.39.0` |

---

### Release Notes

<details>
<summary>unpoller/unpoller (ghcr.io/unpoller/unpoller)</summary>

### [`v2.39.0`](https://github.com/unpoller/unpoller/releases/tag/v2.39.0)

[Compare Source](https://github.com/unpoller/unpoller/compare/v2.38.0...v2.39.0)

##### Changelog

- [`c596e82`](c596e82cf2) fix: use v2 traffic API as DPI fallback for Network 9.1+ firmware ([#&#8203;985](https://github.com/unpoller/unpoller/issues/985))

</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:eyJjcmVhdGVkSW5WZXIiOiI0My45OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuOTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZG9ja2VyIl19-->

Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/5255
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
2026-03-30 16:25:45 +00:00
30 changed files with 381 additions and 31 deletions

View File

@@ -13,7 +13,7 @@ on:
jobs:
renovate:
runs-on: ubuntu-latest
container: ghcr.io/renovatebot/renovate:43.100.2@sha256:1018bbf3195b8dee51dccd32d578cd63ab13a06cd7f6419d3154251ed24aa739
container: ghcr.io/renovatebot/renovate:43.101.2@sha256:89a1fd5861ee1c95be19f7d18669c7dcc94c516f8399436f1465e3ef3af7f452
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6

View File

@@ -144,6 +144,7 @@ blocky:
objects IN CNAME traefik-cl01tl
ollama IN CNAME traefik-cl01tl
omni-tools IN CNAME traefik-cl01tl
paperless-ngx IN CNAME traefik-cl01tl
photoview IN CNAME traefik-cl01tl
plex IN CNAME traefik-cl01tl
postiz IN CNAME traefik-cl01tl

View File

@@ -29,4 +29,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/dawarich.png
# renovate: datasource=github-releases depName=Freika/dawarich
appVersion: 1.4.0
appVersion: 1.6.0

View File

@@ -8,7 +8,7 @@ dawarich:
main:
image:
repository: freikin/dawarich
tag: 1.4.0@sha256:07adb7643b00d1d8f606c675931d3604317fa3851b91b74ec503df8d50734cb8
tag: 1.6.0@sha256:5cba4d96fb57976fb6a956b8622365789d74a1178cc3ada1cb7541a4473993a9
command:
- "web-entrypoint.sh"
args:
@@ -111,7 +111,7 @@ dawarich:
sidekiq:
image:
repository: freikin/dawarich
tag: 1.4.0@sha256:07adb7643b00d1d8f606c675931d3604317fa3851b91b74ec503df8d50734cb8
tag: 1.6.0@sha256:5cba4d96fb57976fb6a956b8622365789d74a1178cc3ada1cb7541a4473993a9
command:
- "sidekiq-entrypoint.sh"
args:

View File

@@ -8,7 +8,7 @@ directus:
main:
image:
repository: ghcr.io/directus/directus
tag: 11.17.0@sha256:076269ccbe7d4a0c44ce5f5b7f11e2ea5f7b3e4c4f704c0f88a52805e069c1c6
tag: 11.17.1@sha256:1dd2080a50a9f6df2b6f49df15a7734424bbd1a5902983c4b6e447f22027b80b
pullPolicy: IfNotPresent
env:
- name: PUBLIC_URL

View File

@@ -164,15 +164,15 @@ gatus:
- name: roundcube
url: https://mail.alexlebens.net
<<: *defaults
- name: paperless-ngx
url: https://paperless-ngx.alexlebens.net
<<: *defaults
- name: kiwix
url: https://kiwix.alexlebens.net
<<: *defaults
- name: excalidraw
url: https://excalidraw.alexlebens.net
<<: *defaults
- name: languagetool
url: https://languagetool.alexlebens.net
<<: *defaults
- name: gitea
url: https://gitea.alexlebens.net
<<: *defaults

View File

@@ -7,7 +7,7 @@ dependencies:
version: 0.0.3
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.29.0
version: 0.30.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
@@ -23,5 +23,5 @@ dependencies:
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:49862b06fe4884f504d0a892cb899f577262b584053b64a3504bacaf96d70f39
generated: "2026-03-26T20:59:30.690577-05:00"
digest: sha256:e2c79d0dc5bee77c31bb92f117eac6fe248def2c17eaa589cc4388e7ad55c84f
generated: "2026-03-30T16:13:01.539524905Z"

View File

@@ -32,7 +32,7 @@ dependencies:
repository: https://dl.gitea.com/charts/
version: 0.0.3
- name: meilisearch
version: 0.29.0
version: 0.30.0
repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts

View File

@@ -304,6 +304,12 @@ homepage:
href: https://mail.alexlebens.net
siteMonitor: http://roundcube.roundcube:80
statusStyle: dot
- Documents:
icon: sh-paperless-ngx.webp
description: Paperless-ngx
href: https://paperless-ngx.alexlebens.net
siteMonitor: http://paperless-ngx.paperless-ngx:80
statusStyle: dot
- Wiki:
icon: sh-kiwix-light.webp
description: Kiwix

View File

@@ -4,9 +4,9 @@ dependencies:
version: 4.6.2
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.29.0
version: 0.30.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:0dcc864984130902acce6d81fa2cf708c3ac748246f94b11d2db90c0b488cce2
generated: "2026-03-26T16:03:11.654482999Z"
digest: sha256:32b9a206e77eabcdf1bbbc4d7e93067c40d6a621e4a07c1827e4d23961e2d82b
generated: "2026-03-30T16:13:40.879082765Z"

View File

@@ -25,7 +25,7 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: meilisearch
version: 0.29.0
version: 0.30.0
repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: volsync-target
alias: volsync-target-config

View File

@@ -4,12 +4,12 @@ dependencies:
version: 4.6.2
- name: meilisearch
repository: https://meilisearch.github.io/meilisearch-kubernetes
version: 0.29.0
version: 0.30.0
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts
version: 2.4.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:a3a3400d95d62591012d33ce318075b67412c4b321a30fe5c2c19d9c9566eb86
generated: "2026-03-26T16:03:24.623811889Z"
digest: sha256:6046192bb4ff88692bd0623fd0eb00a33bf83f6066a0b471950db8776e868661
generated: "2026-03-30T16:14:17.687854336Z"

View File

@@ -22,7 +22,7 @@ dependencies:
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: meilisearch
version: 0.29.0
version: 0.30.0
repository: https://meilisearch.github.io/meilisearch-kubernetes
- name: cloudflared
repository: oci://harbor.alexlebens.net/helm-charts

View File

@@ -19,4 +19,4 @@ dependencies:
version: 4.6.2
icon: https://raw.githubusercontent.com/frederikemmer/MediaLyze/d8f69c0628bac7c047b90f91a66341648029c273/frontend/public/favicon.svg
# renovate: datasource=github-releases depName=frederikemmer/MediaLyze
appVersion: 0.3.0
appVersion: 0.4.0

View File

@@ -9,7 +9,7 @@ medialyze:
main:
image:
repository: ghcr.io/frederikemmer/medialyze
tag: 0.3.0
tag: 0.4.0
pullPolicy: IfNotPresent
env:
- name: HOST_PORT

View File

@@ -20,4 +20,4 @@ dependencies:
version: 4.6.2
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/ntfy.png
# renovate: datasource=github-releases depName=binwiederhier/ntfy
appVersion: 2.20.1
appVersion: 2.21.0

View File

@@ -9,7 +9,7 @@ ntfy:
main:
image:
repository: binwiederhier/ntfy
tag: v2.20.1
tag: v2.21.0
pullPolicy: IfNotPresent
args: ["serve"]
env:

View File

@@ -0,0 +1,24 @@
dependencies:
- name: app-template
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: postgres-cluster
repository: oci://harbor.alexlebens.net/helm-charts
version: 7.11.0
- name: valkey
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.5.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
- name: volsync-target
repository: oci://harbor.alexlebens.net/helm-charts
version: 0.8.0
digest: sha256:08acc0818deaede4bb7515be7cbb1253f30036b70af6038caa69e4bd3cc02412
generated: "2026-03-30T20:25:47.995874-05:00"

View File

@@ -0,0 +1,51 @@
apiVersion: v2
name: paperless-ngx
version: 1.0.0
description: Paperless-ngx
keywords:
- paperless-ngx
- documents
home: https://docs.alexlebens.dev/applications/paperless-ngx/
sources:
- https://github.com/paperless-ngx/paperless-ngx
- https://github.com/gotenberg/gotenberg
- https://github.com/paperless-ngx/paperless-ngx/pkgs/container/paperless-ngx
- https://hub.docker.com/r/gotenberg/gotenberg
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/postgres-cluster
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/valkey
- https://gitea.alexlebens.dev/alexlebens/helm-charts/src/branch/main/charts/volsync-target
maintainers:
- name: alexlebens
dependencies:
- name: app-template
alias: paperless-ngx
repository: https://bjw-s-labs.github.io/helm-charts/
version: 4.6.2
- name: postgres-cluster
alias: postgres-18-cluster
version: 7.11.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: valkey
alias: valkey
version: 0.5.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-data
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-media
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-export
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
- name: volsync-target
alias: volsync-target-consume
version: 0.8.0
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/paperless-ngx.png
# renovate: datasource=github-releases depName=paperless-ngx/paperless-ngx
appVersion: 2.20.13

View File

@@ -0,0 +1,54 @@
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: paperless-ngx-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: paperless-ngx-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: secret-key
remoteRef:
key: /cl01tl/paperless-ngx/secret
property: secret-key
- secretKey: admin-user
remoteRef:
key: /cl01tl/paperless-ngx/secret
property: admin-user
- secretKey: admin-password
remoteRef:
key: /cl01tl/paperless-ngx/secret
property: admin-password
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: paperless-ngx-oidc-secret
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: paperless-ngx-oidc-secret
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: OIDC_CLIENT_ID
remoteRef:
key: /authentik/oidc/paperless-ngx
property: client
- secretKey: OIDC_CLIENT_SECRET
remoteRef:
key: /authentik/oidc/paperless-ngx
property: secret
- secretKey: PAPERLESS_SOCIALACCOUNT_PROVIDERS
remoteRef:
key: /authentik/oidc/paperless-ngx
property: PAPERLESS_SOCIALACCOUNT_PROVIDERS

View File

@@ -0,0 +1,212 @@
paperless-ngx:
controllers:
main:
type: deployment
replicas: 1
strategy: Recreate
containers:
main:
image:
repository: ghcr.io/paperless-ngx/paperless-ngx
tag: 2.20.13@sha256:4b05bcd28e6923768000b5d247cbf2c66fd49bdc3f3b05955bd4f6790a638b01
env:
- name: PAPERLESS_REDIS
value: redis://paperless-ngx-valkey.paperless-ngx:6379
- name: PAPERLESS_DBHOST
valueFrom:
secretKeyRef:
name: paperless-ngx-postgresql-18-cluster-app
key: host
- name: PAPERLESS_DBPORT
valueFrom:
secretKeyRef:
name: paperless-ngx-postgresql-18-cluster-app
key: port
- name: PAPERLESS_DBNAME
valueFrom:
secretKeyRef:
name: paperless-ngx-postgresql-18-cluster-app
key: dbname
- name: PAPERLESS_DBUSER
valueFrom:
secretKeyRef:
name: paperless-ngx-postgresql-18-cluster-app
key: user
- name: PAPERLESS_DBPASS
valueFrom:
secretKeyRef:
name: paperless-ngx-postgresql-18-cluster-app
key: password
- name: PAPERLESS_TIKA_ENABLED
value: true
- name: PAPERLESS_TIKA_GOTENBERG_ENDPOINT
value: http://localhost:3000/
- name: PAPERLESS_SECRET_KEY
valueFrom:
secretKeyRef:
name: paperless-ngx-secret
key: secret-key
- name: PAPERLESS_URL
value: https://paperless-ngx.alexlebens.net
- name: PAPERLESS_ALLOWED_HOSTS
value: paperless-ngx.alexlebens.net, paperless-ngx.paperless-ngx
- name: PAPERLESS_ADMIN_USER
valueFrom:
secretKeyRef:
name: paperless-ngx-secret
key: admin-user
- name: PAPERLESS_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: paperless-ngx-secret
key: admin-password
- name: PAPERLESS_ACCOUNT_ALLOW_SIGNUPS
value: true
- name: PAPERLESS_SOCIAL_AUTO_SIGNUP
value: true
- name: PAPERLESS_SOCIALACCOUNT_ALLOW_SIGNUPS
value: true
- name: PAPERLESS_APPS
value: allauth.socialaccount.providers.openid_connect
- name: PAPERLESS_LOGOUT_REDIRECT_URL
value: https://authentik.alexlebens.net/application/o/paperless-ngx/end-session/
- name: PAPERLESS_SOCIALACCOUNT_PROVIDERS
valueFrom:
secretKeyRef:
name: paperless-ngx-oidc-secret
key: PAPERLESS_SOCIALACCOUNT_PROVIDERS
- name: PAPERLESS_TIME_ZONE
value: America/Chicago
resources:
requests:
cpu: 1m
memory: 100Mi
gotenberg:
image:
repository: gotenberg/gotenberg
tag: 8.29.1@sha256:36c925776fa0db0fd1030408d131fde7ac3453027a559883555155b72adb16a7
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 8000
route:
main:
kind: HTTPRoute
parentRefs:
- group: gateway.networking.k8s.io
kind: Gateway
name: traefik-gateway
namespace: traefik
hostnames:
- paperless-ngx.alexlebens.net
rules:
- backendRefs:
- name: paperless-ngx
port: 80
matches:
- path:
type: PathPrefix
value: /
persistence:
data:
forceRename: paperless-ngx-data
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 2Gi
advancedMounts:
main:
main:
- path: /usr/src/paperless/data
media:
forceRename: paperless-ngx-media
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 10Gi
advancedMounts:
main:
main:
- path: /usr/src/paperless/media
export:
forceRename: paperless-ngx-export
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 2Gi
advancedMounts:
main:
main:
- path: /usr/src/paperless/export
consume:
forceRename: paperless-ngx-consume
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 2Gi
advancedMounts:
main:
main:
- path: /usr/src/paperless/consume
postgres-18-cluster:
mode: recovery
recovery:
method: objectStore
objectStore:
index: 1
backup:
objectStore:
- name: garage-local
index: 1
destinationBucket: postgres-backups
externalSecretCredentialPath: /garage/home-infra/postgres-backups
isWALArchiver: true
scheduledBackups:
- name: live-backup
suspend: false
immediate: true
schedule: "0 15 15 * * *"
backupName: garage-local
volsync-target-data:
pvcTarget: paperless-ngx-data
local:
enabled: true
schedule: 2 8 * * *
remote:
enabled: true
schedule: 2 9 * * *
external:
enabled: true
schedule: 2 10 * * *
volsync-target-media:
pvcTarget: paperless-ngx-metadata
local:
enabled: true
schedule: 4 8 * * *
remote:
enabled: true
schedule: 4 9 * * *
external:
enabled: true
schedule: 4 10 * * *
volsync-target-export:
pvcTarget: paperless-ngx-data
local:
enabled: true
schedule: 2 8 * * *
remote:
enabled: true
schedule: 2 9 * * *
external:
enabled: true
schedule: 2 10 * * *
volsync-target-consume:
pvcTarget: paperless-ngx-metadata
local:
enabled: true
schedule: 4 8 * * *
remote:
enabled: true
schedule: 4 9 * * *
external:
enabled: true
schedule: 4 10 * * *

View File

@@ -31,4 +31,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rybbit.webp
# renovate: datasource=github-releases depName=rybbit-io/rybbit
appVersion: v2.4.0
appVersion: v2.5.0

View File

@@ -9,7 +9,7 @@ rybbit:
main:
image:
repository: ghcr.io/rybbit-io/rybbit-backend
tag: v2.4.0
tag: v2.5.0
pullPolicy: IfNotPresent
env:
- name: NODE_ENV

View File

@@ -26,4 +26,4 @@ dependencies:
repository: oci://harbor.alexlebens.net/helm-charts
icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/tube-archivist.png
# renovate: datasource=github-releases depName=tubearchivist/tubearchivist
appVersion: v0.5.9
appVersion: v0.5.10

View File

@@ -9,7 +9,7 @@ tubearchivist:
main:
image:
repository: bbilly1/tubearchivist
tag: v0.5.9
tag: v0.5.10
pullPolicy: IfNotPresent
env:
- name: TZ

View File

@@ -21,4 +21,4 @@ dependencies:
version: 4.6.2
icon: https://camo.githubusercontent.com/c5d07a5b3acfeac8e1c25bf56f440ffe032b86e4e7f15de82357f022a43fc927/68747470733a2f2f756e706f6c6c65722e636f6d2f696d672f6c6f676f2e706e67
# renovate: datasource=github-releases depName=unpoller/unpoller
appVersion: v2.38.0
appVersion: v2.39.0

View File

@@ -9,7 +9,7 @@ unpoller:
main:
image:
repository: ghcr.io/unpoller/unpoller
tag: v2.38.0
tag: v2.39.0
pullPolicy: IfNotPresent
env:
- name: UP_UNIFI_CONTROLLER_0_SAVE_ALARMS

View File

@@ -121,6 +121,7 @@ customDNS:
objects IN CNAME traefik-cl01tl
ollama IN CNAME traefik-cl01tl
omni-tools IN CNAME traefik-cl01tl
paperless-ngx IN CNAME traefik-cl01tl
photoview IN CNAME traefik-cl01tl
plex IN CNAME traefik-cl01tl
postiz IN CNAME traefik-cl01tl

View File

@@ -142,6 +142,7 @@ customDNS:
objects IN CNAME traefik-cl01tl
ollama IN CNAME traefik-cl01tl
omni-tools IN CNAME traefik-cl01tl
paperless-ngx IN CNAME traefik-cl01tl
photoview IN CNAME traefik-cl01tl
plex IN CNAME traefik-cl01tl
postiz IN CNAME traefik-cl01tl

View File

@@ -1,7 +1,7 @@
---
services:
cloudflare-ddns:
image: favonia/cloudflare-ddns:1.15.1@sha256:a4e2089b3531eec8c9328c7a9a586f80e8d67dcd94856e0b596b7896e1de3f62
image: favonia/cloudflare-ddns:1.16.0@sha256:8e0f869aed97beeed4e172a01e97090673cb9b04e7e1d62fcb6cfc656f9761ad
container_name: cloudflare-ddns
cap_drop:
- all