Skip to content

Fix headers timeout for AI interference jobs. - #2888

Merged
MohamedBassem merged 6 commits into
karakeep-app:mainfrom
eriktews:timeout-fix
Oct 4, 2026
Merged

MohamedBassem merged 6 commits into
karakeep-app:mainfrom
eriktews:timeout-fix

Conversation

@eriktews

@eriktews eriktews commented Jun 14, 2026 •

Copy link
Copy Markdown
Contributor

Description

By default, karakeep will only wait for 5 minutes for HTTP headers, no matter which timeout is set.

This fixes the issue by setting the timeouts for the HTTP headers based on the interference job timeout.

How Has This Been Tested?

Tested manually with Ollama running locally.

Checklist:

  • I have carefully read CONTRIBUTING.md
  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)

Please describe to which degree, if any, an LLM was used in creating this pull request.

Code was partially generated using Opus 4.6.

@greptile-apps

greptile-apps Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR fixes the undici default headersTimeout (5 minutes) overriding the configured inference fetch timeout by creating a custom undici Agent with headersTimeout/bodyTimeout set to the configured value, and adds a setTimeout-based fallback mechanism for non-undici fetch implementations.

  • A mergeSignals helper is introduced to combine the internal AbortController signal with any caller-supplied signal, so callers can still cancel requests independently of the timeout.
  • The undici Agent is resolved once at factory time via a dynamic import(\"undici\"), with a .catch(() => undefined) fallback so the code works in environments without undici.
  • A manual header-timer setTimeout fires if headers are not received within timeoutMs, and a body-timer is set once headers arrive; the body-timer is never cleared on successful body consumption, leaving a dangling handle for up to timeoutMs after every successful request.

Confidence Score: 4/5

The change is safe to merge; the core fix (passing a properly-configured undici Agent) is correct and addresses the reported Ollama timeout issue.

The timeout logic is functionally correct for both the headers and body cases. The body timer never being cleared means a dangling handle lives for up to the full configured timeout after every successful inference call, but it fires harmlessly on a completed request and does not produce wrong results or data loss.

packages/shared/customFetch.ts — the body timeout timer cleanup path deserves a follow-up.

Important Files Changed

Filename Overview
packages/shared/customFetch.ts Replaces the simple AbortSignal.timeout approach with a dual-mechanism timeout (undici Agent + manual setTimeout), adding header and body timeout support. The body timer is never cleared on successful completion, leaving lingering handles, and the file is missing its trailing newline.
Prompt To Fix All With AI
Fix the following 2 code review issues. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 2
packages/shared/customFetch.ts:51-55
**Body timeout timer never cleared on success**

The body timer is set inside `.then()` but has no corresponding `clearTimeout` call. After the response body is fully consumed (e.g., Ollama finishes streaming tokens), the timer still fires `timeoutMs` later and calls `controller.abort()` on an already-completed request. For a 5-minute configured timeout, every successful request leaves a live timer handle for up to 5 minutes after completion. Under concurrent AI inference jobs this accumulates into unnecessary timer overhead. The fix requires wrapping the returned `response.body` stream to intercept the end-of-body event, or tracking whether the body is done via a flag cleared in a stream `transform`/`pipeTo` wrapper.

### Issue 2 of 2
packages/shared/customFetch.ts:65
Missing newline at end of file.

```suggestion
export const customFetch = createCustomFetch();
```

Reviews (1): Last reviewed commit: "Fix headers timeout for AI interference ..." | Re-trigger Greptile

Comment thread packages/shared/customFetch.ts Outdated
Comment thread packages/shared/customFetch.ts Outdated
Use undici's own fetch together with its Agent/ProxyAgent so that both
always come from the same undici copy. Passing an npm undici Agent as
the dispatcher of the runtime's built-in fetch fails immediately on
Node >= 24, which bundles a different undici major (undici 7).

The OpenAI client now sets headersTimeout/bodyTimeout from
OPENAI_TIMEOUT_SEC via the Agent dispatcher, so slow OpenAI-compatible
servers are no longer cut off by undici's default 5 minute header
timeout. Log fetch failures with their underlying cause for easier
debugging.
@eriktews

eriktews commented Aug 9, 2026

Copy link
Copy Markdown
Contributor Author

I have updated this pull request so that fixes the header timeout for OpenAI compatible APIs as well.

@eriktews

eriktews commented Aug 9, 2026

Copy link
Copy Markdown
Contributor Author

This fixes #2994

Replace the manual header/body timers, signal merging and dynamic undici
import with a single helper that pairs undici's fetch with an Agent (or
ProxyAgent) whose headersTimeout/bodyTimeout match the configured timeout.
Overall deadlines are already enforced by the inference job timeout and
the OpenAI SDK's own timeout.
@MohamedBassem

Copy link
Copy Markdown
Member

@pullfrog review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ No critical issues — one minor note inline.

Reviewed changes

  • packages/shared/customFetch.ts — replaced the AbortSignal.timeout wrapper with a helper that pairs npm undici's own fetch with an Agent/ProxyAgent whose headersTimeout/bodyTimeout are set to the supplied timeout, so undici's 5-minute defaults no longer override the configured value.
  • packages/shared/inference.ts — the OpenAI client now wires OPENAI_TIMEOUT_SEC (falling back to OpenAI.DEFAULT_TIMEOUT) into that fetch, and the Ollama client uses INFERENCE_FETCH_TIMEOUT_SEC; the previous fetchOptions.dispatcher proxy plumbing is removed.
  • docs/docs/03-configuration/01-environment-variables.md — clarified that both variables now map to HTTP header/body timeouts, and noted the OpenAI SDK's retry behavior.

The core fix is correct: bodyTimeout is undici's inactivity timer between body chunks, which matches the documented behavior, and OpenAI.DEFAULT_TIMEOUT keeps the fetch timeouts aligned with the SDK's own default when OPENAI_TIMEOUT_SEC is unset. Typecheck and the existing inference.test.ts suite pass.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using deepseek-v4.1-flash (free via Pullfrog for OSS) | 𝕏

Comment thread packages/shared/customFetch.ts Outdated
@MohamedBassem
MohamedBassem merged commit 7ef8247 into karakeep-app:main Oct 4, 2026
5 checks passed
@MohamedBassem

Copy link
Copy Markdown
Member

Thanks @eriktews, I've simplified the PR a bit while hopefully should still fix the bug you faced.

GiorgioAresu pushed a commit to GiorgioAresu/home-ops that referenced this pull request Oct 23, 2026
…➔ 0.34.1) (#2417)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/karakeep-app/karakeep](https://github.com/karakeep-app/karakeep) | minor | `0.33.2` → `0.34.1` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/6) for more information.

---

### Release Notes

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

### [`v0.34.1`](https://github.com/karakeep-app/karakeep/releases/tag/v0.34.1): 0.34.1

[Compare Source](karakeep-app/karakeep@v0.34.0...v0.34.1)

This is a security release on top of 0.34.0. The docker images move from the pinned `node:24.18.1-slim` back to `node:24-slim` (currently Node 24.22.1) to pick up the [October 2026 Node.js security releases](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases). Among other fixes, these patch a Brotli decoder out-of-bounds write (CVE-2026-111497) and several TLS certificate hostname validation bypasses (CVE-2026-105483, CVE-2026-106069, CVE-2026-106072). Thanks [@&#8203;eriktews](https://github.com/eriktews) for the fix ([#&#8203;3217](karakeep-app/karakeep#3217))!

The node version was pinned in 0.33.2 because of the better-sqlite3 crash loop ([#&#8203;2989](karakeep-app/karakeep#2989)). The upstream fix for that shipped in Node 24.22, so the pin is no longer needed.

### [`v0.34.0`](https://github.com/karakeep-app/karakeep/releases/tag/v0.34.0): 0.34.0

[Compare Source](karakeep-app/karakeep@v0.33.2...v0.34.0)

##### 0.34.0

Welcome to the `0.34.0` release of Karakeep (and sorry for the long wait)! The mobile app gets most of the attention this time: **Automatic offline downloads** for recent bookmarks and particular lists, **tablet layouts**, tag management, public lists, collaborators and attachments, all of which used to need the web app. The crawler got a big anti-bot overhaul: it now drives real **Google Chrome through patchright**, so far fewer sites will hand you a "Just a moment..." page instead of the article. There are also a lot of memory and performance improvements, along with tons of bug fixes.

Thanks to everyone who contributed to this release: [@&#8203;justadityaraj](https://github.com/justadityaraj), [@&#8203;InventorB](https://github.com/InventorB), [@&#8203;ryanchou1994](https://github.com/ryanchou1994), [@&#8203;NoiceHax](https://github.com/NoiceHax), [@&#8203;0-0mfuji](https://github.com/0-0mfuji), [@&#8203;eriktews](https://github.com/eriktews), [@&#8203;qwist1233-cpu](https://github.com/qwist1233-cpu), [@&#8203;lightsabit](https://github.com/lightsabit), [@&#8203;BrownieCoder](https://github.com/BrownieCoder), [@&#8203;itz-puneet](https://github.com/itz-puneet), [@&#8203;jreiml](https://github.com/jreiml), [@&#8203;deepcfr](https://github.com/deepcfr), [@&#8203;mislav](https://github.com/mislav), [@&#8203;pradeepb28](https://github.com/pradeepb28), [@&#8203;Kyzcreig](https://github.com/Kyzcreig), [@&#8203;gowinder](https://github.com/gowinder), [@&#8203;samuel-sarmah](https://github.com/samuel-sarmah), and everyone who triaged bugs or shared feedback.

*Note: the changes mentioned here for the extension and mobile releases will need to go through the different store (apple, google, mozilla) reviews. So it might take a couple of days until all of them are released.*

> If you enjoy using Karakeep, consider supporting the project [here ☕️](https://buymeacoffee.com/mbassem) or via GitHub [here](https://github.com/sponsors/MohamedBassem). Also share Karakeep's managed offering (☁️ [link](https://cloud.karakeep.app)) with your friends who're not into selfhosting.

<a href="https://www.buymeacoffee.com/mbassem" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="auto" height="50" ></a>

##### New Features 🚀

- **Karakeep's auth moved from next-auth to better-auth**:
  - This is an infrastructure change, but it's a big one. Karakeep moved its auth library to better-auth (away from next-auth). This will unlock a lot of new features in the future (e.g. 2fac, oauth login in the mobile app, hosted MCP auth, etc).
  - This migration is going to happen automatically after the upgrade BUT there are some caveats, please read the "Upgrading" section.
- **Automatic Offline Downloads**: 0.33 let you save single bookmarks for offline reading on the mobile app. In this release, you can let karakeep automatically download recent bookmarks for you while the app is open, and also mark specific lists to be always fully available offline.
- **Mobile app catching up with the web**:
  - Tablet layout showing multiple columns on wide screens.
  - Tag management: rename and delete tags from the app ([`fc401d0`](karakeep-app/karakeep@fc401d02)).
  - Manage public lists and list collaborators ([`292c13a`](karakeep-app/karakeep@292c13a5)).
  - View and download bookmark attachments ([`27774f9`](karakeep-app/karakeep@27774f97)).
  - A new usage statistics screen ([`6563ee1`](karakeep-app/karakeep@6563ee14)).
  - Pick a parent list, choose a list icon, and create lists straight from the "Manage Lists" page ([`7ca5ee2`](karakeep-app/karakeep@7ca5ee23), [`428d1f2`](karakeep-app/karakeep@428d1f22), [`f977712`](karakeep-app/karakeep@f9777128)).
- **A crawler that gets blocked less**:
  - The crawler now drives the browser with [patchright](https://github.com/Kaliiiiiiiiii-Vinyzu/patchright), a Playwright fork that doesn't leak the automation signals that bot-protection scripts look for ([`af8b0eb`](karakeep-app/karakeep@af8b0eb0)).
  - The `karakeep-chrome` image now ships Google Chrome stable instead of Chrome Headless Shell, as protected sites block the headless shell far more often ([`ea57af1`](karakeep-app/karakeep@ea57af18)). This comes at the cost of the chrome image getting bigger unfortunatly.
  - The user agent now comes from the actual browser instead of a hardcoded Chrome 124 one ([`254174a`](karakeep-app/karakeep@254174ac)).
  - Cloudflare's "Just a moment..." and DataDome's device check clear on their own after a few seconds. The crawler now waits for them (up to `CRAWLER_CHALLENGE_WAIT_SEC`, default 15s) instead of saving the challenge page ([`1800346`](karakeep-app/karakeep@18003460)).
  - New `CRAWLER_BROWSER_TIMEZONE` to make the browser's timezone match your proxy's location, as a UTC browser behind a non-UTC proxy is a strong bot signal ([`ba8c188`](karakeep-app/karakeep@ba8c1885)).
- **On-demand video preservation** ([#&#8203;3183](karakeep-app/karakeep#3183)): A new "Preserve Video" bookmark action downloads a single bookmark's video with yt-dlp. You can now keep automatic video downloads off and still preserve the ones you care about.
- **Broken links management revamp** ([#&#8203;3105](karakeep-app/karakeep#3105)): The broken links settings page now groups issues by category and supports search, sorting, retrying and bulk deletion.
- **Search**: New `has:notes` and `has:highlights` qualifiers by [@&#8203;BrownieCoder](https://github.com/BrownieCoder) ([#&#8203;3053](karakeep-app/karakeep#3053)).
- **Others**:
  - New `CRAWLER_FULL_PAGE_ARCHIVE_MAX_SIZE_MB` to discard full-page archives above a certain size (media-heavy pages can produce 1GB+ archives that never render) by [@&#8203;NoiceHax](https://github.com/NoiceHax) ([#&#8203;3054](karakeep-app/karakeep#3054)).
  - Pages uploaded as precrawled archives (e.g. SingleFile uploads, and client-side crawling) now get a screenshot too ([#&#8203;3161](karakeep-app/karakeep#3161)).
  - Banner images are now resized and converted to WebP to save storage ([#&#8203;3165](karakeep-app/karakeep#3165)).
  - The default tagging model is now `gpt-6-luna` which costs half as much as `gpt-5.6-luna` used to cost (thanks OpenAI?).

##### UX Improvements ✨

- A visual refresh of various web app components. More modern looking dialogs, buttons, dropdown menus, tooltips, etc.
- Added a "System" theme option that follows your OS by [@&#8203;deepcfr](https://github.com/deepcfr) ([#&#8203;3159](karakeep-app/karakeep#3159)).
- The bookmark preview page now has the full bookmark options menu in its action bar ([`24fb655`](karakeep-app/karakeep@24fb655c)).
- The "delete unused tags" button is now a bit more grown up ([`acbac6a`](karakeep-app/karakeep@acbac6ad)).
- Home/End now move the cursor in the search bar by [@&#8203;eriktews](https://github.com/eriktews) ([#&#8203;3110](karakeep-app/karakeep#3110)).
- The browser's theme color now follows dark mode by [@&#8203;itz-puneet](https://github.com/itz-puneet) ([#&#8203;3051](karakeep-app/karakeep#3051)).
- Mobile:
  - Lists are sorted by name, like on the web, by [@&#8203;justadityaraj](https://github.com/justadityaraj) ([#&#8203;3040](karakeep-app/karakeep#3040)).
  - Bigger toolbar tap targets by [@&#8203;jreiml](https://github.com/jreiml) ([#&#8203;2813](karakeep-app/karakeep#2813)).
  - Better looking bookmark cards when there's no metadata ([`2b2771a`](karakeep-app/karakeep@2b2771a6)).

##### Fixes 🐛

- **Performance and memory**:
  - Fix a server memory leak caused by the query cache ([#&#8203;3138](karakeep-app/karakeep#3138)).
  - Workers and web only load the dependencies of features that are enabled cutting memory usage for most setups. You should expect a 40MB drop in RSS with this release.
  - Prometheus default metrics are no longer collected when Prometheus isn't configured ([#&#8203;2397](karakeep-app/karakeep#2397)). This fixes a regerssion introduced in 0.29 and should result into a lower baseline CPU usage.
  - Faster tag searches by [@&#8203;0-0mfuji](https://github.com/0-0mfuji) ([#&#8203;3089](karakeep-app/karakeep#3089)).
  - Search indexing now defaults to 50 workers (instead of 1) for better batching. Should result in faster indexing for large imports.
  - SQLite now runs `PRAGMA optimize` on open and daily ([`355a0b0`](karakeep-app/karakeep@355a0b09)).
  - Faster lists page and list stats queries and a smaller main web bundle ([`2d7cc4b`](karakeep-app/karakeep@2d7cc4bd), [`44ea028`](karakeep-app/karakeep@44ea0284), [`b640f15`](karakeep-app/karakeep@b640f15b)).
- **Hardening**:
  - Upload body size is now enforced before parsing the multipart body ([`3e22b65`](karakeep-app/karakeep@3e22b659)).
  - Asset downloads now respect client backpressure instead of buffering in memory ([`b5cab5b`](karakeep-app/karakeep@b5cab5be)).
  - Pagination limits are now validated on all tRPC endpoints ([`94e1ea2`](karakeep-app/karakeep@94e1ea21)).
  - Content length is capped before tokenizing AI prompts ([`ef07e91`](karakeep-app/karakeep@ef07e913)).
  - Upgraded Next.js to 16.4.1 for its October security release ([#&#8203;3196](karakeep-app/karakeep#3196)).
- Collaborators' bookmarks now show up in public lists by [@&#8203;NoiceHax](https://github.com/NoiceHax) ([#&#8203;3019](karakeep-app/karakeep#3019)).
- Moving a list under one of its own sublists is now rejected, as the resulting cycle could send list deletion into an infinite loop. Reported by [@&#8203;Vertextheonesolution](https://github.com/Vertextheonesolution) (GHSA-892w-x93w-2fqp, [#&#8203;3199](karakeep-app/karakeep#3199)).
- Fix bookmark pagination tie breakers that could skip or duplicate bookmarks ([`135f116`](karakeep-app/karakeep@135f1163)).
- Fix the headers timeout for AI inference jobs with slow providers by [@&#8203;eriktews](https://github.com/eriktews) ([#&#8203;2888](karakeep-app/karakeep#2888)).
- Fix embedding generation with providers that don't default to float embeddings ([#&#8203;3009](karakeep-app/karakeep#3009)).
- Bookmarks deleted while being indexed no longer dangle in meilisearch ([`bca289d`](karakeep-app/karakeep@bca289d2)).
- The RSS fetcher now identifies itself with a karakeep specific user agent ([`adf399b`](karakeep-app/karakeep@adf399be)).
- If one of the workers fails, the whole worker process now crashes instead of silently running without it, so your container's restart policy can kick in ([`ae9e23b`](karakeep-app/karakeep@ae9e23b3)).
- Fix `.jpg` uploads being rejected in the attachment box ([`2434e65`](karakeep-app/karakeep@2434e657)).
- Fix the header shrinking in Safari ([`3c44114`](karakeep-app/karakeep@3c441143)).
- Fix duplicate "sort by" in the all tags page ([`f5e56b4`](karakeep-app/karakeep@f5e56b42)).
- Fix the sidebar's "+" (new list) button messing up the bookmark preview modal when clicked while a bookmark is open by [@&#8203;samuel-sarmah](https://github.com/samuel-sarmah) ([#&#8203;3192](karakeep-app/karakeep#3192)).
- Make `/run` owned by `node` in the docker image so non-root setups work by [@&#8203;lightsabit](https://github.com/lightsabit) ([#&#8203;3114](karakeep-app/karakeep#3114)).
- Mobile:
  - Fix lost and duplicated Android shares after the app gets killed ([`e7fbaab`](karakeep-app/karakeep@e7fbaab7)). This has been a long standing problem, and should signficantly improve share reliability for android.
  - Ignore Android's unreliable internet reachability checks that marked the app offline ([#&#8203;3127](karakeep-app/karakeep#3127)).
  - Fix the server save button getting hidden by the keyboard by [@&#8203;InventorB](https://github.com/InventorB) ([#&#8203;3010](karakeep-app/karakeep#3010)).
  - Markdown list bullets and numbers now use the foreground color by [@&#8203;ryanchou1994](https://github.com/ryanchou1994) ([#&#8203;3046](karakeep-app/karakeep#3046)).
  - Fix lists not getting auto refreshed when a bookmark is added to it ([`f4efff9`](karakeep-app/karakeep@f4efff99)) and vertical images in bookmark info ([`482369b`](karakeep-app/karakeep@482369b7)).
  - Fix a bug that was causing mobile API keys to not be revoked on mobile app logout ([`1820693`](karakeep-app/karakeep@1820693e)).
- Added missing Turkish translations by [@&#8203;qwist1233-cpu](https://github.com/qwist1233-cpu) ([#&#8203;3111](karakeep-app/karakeep#3111)).

##### For Developers 🛠️

- The MCP server has been upgraded to the MCP v2 SDK ([`39df6c6`](karakeep-app/karakeep@39df6c6e)).
- The CLI now bundles the official Karakeep skill ([`baf0b1b`](karakeep-app/karakeep@baf0b1bb)).
- Karakeep now serves `/.well-known/api-catalog`, `/.well-known/change-password` and `/.well-known/security.txt` ([`2620d9e`](karakeep-app/karakeep@2620d9e6)).
- The docs now have an `llms.txt` for agents ([`a8450b3`](karakeep-app/karakeep@a8450b3c)).
- Translations have moved away from Weblate and to an LLM driven workflow.
- Clarified `LOG_LEVEL` options in the docs by [@&#8203;mislav](https://github.com/mislav) ([#&#8203;3149](karakeep-app/karakeep#3149)).

##### Community Projects 💡

*Checkout our community projects page [here](https://docs.karakeep.app/community-projects).*

- [Alfred Karakeep](https://github.com/Kyzcreig/alfred-karakeep): An Alfred workflow for inline bookmark search using Karakeep's query language by [@&#8203;Kyzcreig](https://github.com/Kyzcreig) ([#&#8203;2974](karakeep-app/karakeep#2974)).
- [Supasend](https://supasend.app/#karakeep): A quick capture iOS app for sending photos and links to Karakeep by [@&#8203;pradeepb28](https://github.com/pradeepb28) ([#&#8203;3077](karakeep-app/karakeep#3077)).
- [KaraClone](https://github.com/gowinder/karaclone): A reimplementation of the Karakeep server API that runs on the Cloudflare Workers free tier by [@&#8203;gowinder](https://github.com/gowinder) ([#&#8203;3124](karakeep-app/karakeep#3124)).

##### Screenshots 📸

##### Automatic Offline Download

<img width="603" height="1311" alt="Screenshot 2026-10-17 at 10 27 34 PM" src="https://github.com/user-attachments/assets/02f2344e-27ee-43d7-b8dd-d74fba936280" />

##### Broken Links Page

<img width="2402" height="1250" alt="Screenshot 2026-10-17 at 22 27 11@&#8203;2x" src="https://github.com/user-attachments/assets/0df7d9c9-63b5-4739-8e55-6135e95a14f1" />

##### Upgrading 📦

**Things to know before upgrading:**

- **Everyone gets signed out once.** The move to better-auth ([#&#8203;3140](karakeep-app/karakeep#3140)) switches web sessions from JWTs to database sessions, so all web users will need to sign in again. Mobile apps and API keys are not affected.
- **Auth env changes**:
  - This release will automatically lowercase all email stored in the database (in prep for making email case insensitive), except accounts that will cause a conflict (two accounts that differ only in email case). You *Must* fix those conflicts before upgrading (by deleting the unused one). You'll get locked out if you have two conflicting accounts (neither of which are lowercase). If you get locked out, change the email address in the sqlite database to be lowercase to gain access back.
  - New `AUTH_TRUSTED_ORIGINS` (default `*`) to restrict which origins can sign in and be redirected to on top of `NEXTAUTH_URL`.
  - `NEXTAUTH_URL` and `NEXTAUTH_SECRET` keep their names and are still required.
- **Migrate to the `karakeep-chrome` image if you haven't already.** Check the migration guide [here](https://docs.karakeep.app/administration/chrome-image-migration). Browserless (mostly unraid users) will continue to work but will miss out on the stealth improvements. It's advised to migrate to karakeep-chrome's unraid template maintained by [@&#8203;Collectathon](https://github.com/Collectathon).

To upgrade:

- If you're using KARAKEEP_VERSION=release, run `docker compose pull && docker compose up -d`.
- If you're pinning it to a specific version, upgrade the version and then run `docker compose pull && docker compose up -d`.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Rome)

- 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 becomes conflicted, 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 [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNTEuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE2Ny41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Reviewed-on: https://git.aresu.eu/GiorgioAresu/home-ops/pulls/2417
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants