From 70b732ea58fca1e0fad39ec3d248a823dbfa155a Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Mon, 12 Jan 2026 11:59:18 +0100 Subject: [PATCH] clean --- karakeep/CHANGELOG.md | 11 - karakeep/Dockerfile | 194 ------------------ karakeep/README.md | 104 ---------- karakeep/apparmor.txt | 66 ------ karakeep/build.yaml | 4 - karakeep/config.yaml | 58 ------ karakeep/icon.png | Bin 2140 -> 0 bytes karakeep/logo.png | Bin 2140 -> 0 bytes karakeep/rootfs/etc/cont-init.d/90-folders.sh | 15 -- karakeep/rootfs/etc/cont-init.d/91-secrets.sh | 50 ----- .../etc/cont-init.d/92-chrome-extensions.sh | 46 ----- .../etc/s6-overlay/s6-rc.d/svc-chrome/run | 21 -- .../etc/s6-overlay/s6-rc.d/svc-chrome/type | 1 - .../s6-overlay/s6-rc.d/svc-meilisearch/run | 7 - .../s6-overlay/s6-rc.d/svc-meilisearch/type | 1 - .../s6-rc.d/svc-web/dependencies.d/svc-chrome | 0 .../svc-web/dependencies.d/svc-meilisearch | 0 .../svc-workers/dependencies.d/svc-chrome | 0 .../dependencies.d/svc-meilisearch | 0 .../s6-rc.d/user/contents.d/svc-chrome | 0 .../s6-rc.d/user/contents.d/svc-meilisearch | 0 karakeep/updater.json | 8 - 22 files changed, 586 deletions(-) delete mode 100644 karakeep/CHANGELOG.md delete mode 100644 karakeep/Dockerfile delete mode 100644 karakeep/README.md delete mode 100644 karakeep/apparmor.txt delete mode 100644 karakeep/build.yaml delete mode 100644 karakeep/config.yaml delete mode 100644 karakeep/icon.png delete mode 100644 karakeep/logo.png delete mode 100755 karakeep/rootfs/etc/cont-init.d/90-folders.sh delete mode 100755 karakeep/rootfs/etc/cont-init.d/91-secrets.sh delete mode 100755 karakeep/rootfs/etc/cont-init.d/92-chrome-extensions.sh delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/run delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/type delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/run delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/type delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-chrome delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-meilisearch delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-chrome delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-meilisearch delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-chrome delete mode 100644 karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-meilisearch delete mode 100644 karakeep/updater.json diff --git a/karakeep/CHANGELOG.md b/karakeep/CHANGELOG.md deleted file mode 100644 index fd44f8638..000000000 --- a/karakeep/CHANGELOG.md +++ /dev/null @@ -1,11 +0,0 @@ - -## 1.8.5 (2026-01-12) -- Update to latest version from karakeep-app/karakeep (changelog : https://github.com/karakeep-app/karakeep/releases) -## 0.30.0-4 (11-01-2026) -- Minor bugs fixed -## 0.30.0-3 (11-01-2026) -- Minor bugs fixed -## 0.30.0-2 (11-01-2026) -- Minor bugs fixed -## 0.30.0 (2026-01-11) -- Initial add-on release diff --git a/karakeep/Dockerfile b/karakeep/Dockerfile deleted file mode 100644 index f59dad295..000000000 --- a/karakeep/Dockerfile +++ /dev/null @@ -1,194 +0,0 @@ -#============================# -# ALEXBELGIUM'S DOCKERFILE # -#============================# -# _.------. -# _.-` ('>.-`"""-. -# '.--'` _'` _ .--.) -# -' '-.-';` ` -# ' - _.' ``'--. -# '---` .-'""` -# /` -#=== Home Assistant Addon ===# - -################# -# 1 Build Image # -################# - -ARG BUILD_FROM -ARG BUILD_VERSION -ARG MEILI_VERSION="v1.13.3" -FROM getmeili/meilisearch:${MEILI_VERSION} AS meilisearch - -FROM ${BUILD_FROM} - -################## -# 2 Modify Image # -################## - -# Set S6 wait time -ENV S6_CMD_WAIT_FOR_SERVICES=1 \ - S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ - S6_SERVICES_GRACETIME=0 - -ENV \ - DATA_DIR="/data" \ - MEILI_DIR="/config/meili" \ - DISABLE_NEW_RELEASE_CHECK=true \ - BROWSER_WEB_URL="http://127.0.0.1:9222" \ - MEILI_ADDR="http://127.0.0.1:7700" \ - MEILI_MASTER_KEY="" \ - MEILI_NO_ANALYTICS=true \ - XDG_CACHE_HOME="/data/cache" - -ENV \ - CHROME_BIN=/usr/bin/chromium-browser \ - CHROME_PATH=/usr/lib/chromium/ \ - CHROMIUM_FLAGS="--disable-software-rasterizer --disable-dev-shm-usage" \ - MEILI_HTTP_ADDR=0.0.0.0:7700 \ - MEILI_SERVER_PROVIDER=docker \ - MEILI_ENV=production - -# Image specific modifications -RUN \ - apk upgrade --no-cache --available \ - && apk add --no-cache \ - chromium \ - chromium-swiftshader \ - ttf-freefont \ - font-noto-emoji \ - font-wqy-zenhei \ - unzip \ - && mkdir -p /usr/src/chrome \ - && adduser -D chrome \ - && chown -R chrome:chrome /usr/src/chrome - -COPY --from=meilisearch /bin/meilisearch /bin/meilitool /bin/ - -################## -# 3 Install apps # -################## - -# Add rootfs -COPY rootfs/ / - -RUN chmod +x /etc/s6-overlay/s6-rc.d/*/run - -# Uses /bin for compatibility purposes -# hadolint ignore=DL4005 -RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; fi && \ - if [ ! -f /bin/bash ] && [ -f /usr/bin/bash ]; then ln -s /usr/bin/bash /bin/bash; fi - -# Modules -ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh" - -# Automatic modules download -ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh" -RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh - -# Manual apps -ENV PACKAGES="" - -# Automatic apps & bashio -ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_autoapps.sh" "/ha_autoapps.sh" -RUN chmod 744 /ha_autoapps.sh && /ha_autoapps.sh "$PACKAGES" && rm /ha_autoapps.sh - -################ -# 4 Entrypoint # -################ - -# Add entrypoint -ENV S6_STAGE2_HOOK=/ha_entrypoint.sh -ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint.sh" "/ha_entrypoint.sh" - -# Entrypoint modifications -ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_entrypoint_modif.sh" "/ha_entrypoint_modif.sh" -RUN chmod 777 /ha_entrypoint.sh /ha_entrypoint_modif.sh && /ha_entrypoint_modif.sh && rm /ha_entrypoint_modif.sh - -# Standalone bashio command -ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/bashio-standalone.sh" "/.bashio-standalone.sh" -RUN chmod 777 /.bashio-standalone.sh - -RUN set -e; \ - extensions_dir="/usr/src/chrome/extensions"; \ - mkdir -p "${extensions_dir}"; \ - for entry in \ - "i-dont-care-about-cookies:fllaojicojecljbmefodhfapmkghcbnh" \ - "ublock-origin:cjpalhdlnbpafiamejdnhcphjbkeiagm"; do \ - name="${entry%%:*}"; \ - ext_id="${entry##*:}"; \ - curl -fsSL "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=120.0&acceptformat=crx2,crx3&x=id%3D${ext_id}%26installsource%3Dondemand%26uc" \ - -o "/tmp/${name}.crx"; \ - rm -rf "${extensions_dir:?}/${name}"; \ - mkdir -p "${extensions_dir}/${name}"; \ - rc=0; \ - unzip -q "/tmp/${name}.crx" -d "${extensions_dir}/${name}" || rc=$$?; \ - if [ "$$rc" -ne 0 ] && [ "$$rc" -ne 1 ]; then \ - echo "ERROR: unzip failed for ${name} (rc=$$rc)"; \ - exit "$$rc"; \ - fi; \ - rm -f "/tmp/${name}.crx"; \ - done; \ - chown -R chrome:chrome "${extensions_dir}" - -ENTRYPOINT [ "/usr/bin/env" ] -CMD [ "/ha_entrypoint.sh" ] - -############ -# 5 Labels # -############ - -ARG BUILD_ARCH -ARG BUILD_DATE -ARG BUILD_DESCRIPTION -ARG BUILD_NAME -ARG BUILD_REF -ARG BUILD_REPOSITORY -ARG BUILD_VERSION -ENV BUILD_VERSION="${BUILD_VERSION}" -LABEL \ - io.hass.name="${BUILD_NAME}" \ - io.hass.description="${BUILD_DESCRIPTION}" \ - io.hass.arch="${BUILD_ARCH}" \ - io.hass.type="addon" \ - io.hass.version=${BUILD_VERSION} \ - maintainer="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.title="${BUILD_NAME}" \ - org.opencontainers.image.description="${BUILD_DESCRIPTION}" \ - org.opencontainers.image.vendor="Home Assistant Add-ons" \ - org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \ - org.opencontainers.image.licenses="MIT" \ - org.opencontainers.image.url="https://github.com/alexbelgium" \ - org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \ - org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \ - org.opencontainers.image.created=${BUILD_DATE} \ - org.opencontainers.image.revision=${BUILD_REF} \ - org.opencontainers.image.version=${BUILD_VERSION} - -################# -# 6 Healthcheck # -################# - -# Avoid spamming logs -# hadolint ignore=SC2016 -RUN \ - # Handle Apache configuration - if [ -d /etc/apache2/sites-available ]; then \ - for file in /etc/apache2/sites-*/*.conf; do \ - sed -i '/ /etc/nginx/nginx.conf.new && \ - mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \ - fi - -ENV HEALTH_PORT="3000" \ - HEALTH_URL="/api/health" -HEALTHCHECK \ - --interval=5s \ - --retries=5 \ - --start-period=30s \ - --timeout=25s \ - CMD curl -A "HealthCheck: Docker/1.0" -s -f "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1 diff --git a/karakeep/README.md b/karakeep/README.md deleted file mode 100644 index eb54c9177..000000000 --- a/karakeep/README.md +++ /dev/null @@ -1,104 +0,0 @@ -# Home assistant add-on: Karakeep - -I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, Home Assistant changes, and testing on real hardware takes a lot of time (and some money). I use around 5–10 of my >110 addons so regularly I install test machines (and purchase some test services such as VPNs) that I do not use myself, in order to troubleshoot and improve the addons. - -If this add-on saves you time or makes your setup easier, I would be very grateful for your support. - -[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium) -[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA) - -## Addon informations - -![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fkarakeep%2Fconfig.yaml) -![Arch](https://img.shields.io/badge/dynamic/yaml?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fkarakeep%2Fconfig.yaml) - -[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard) -[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml) -[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml) - -[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white -[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white - -_Thanks to everyone who has starred my repo!_ - -[![Stargazers repo roster](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers) - ---- - -## About - -[Karakeep](https://karakeep.app/) is a bookmark-everything app with a touch of AI for data hoarders. -It stores pages, screenshots, files, and metadata with fast full-text and semantic search powered by **Meilisearch**. - -This add-on is based on the official Karakeep Docker image. - -This Home Assistant add-on integrates Karakeep in a **Supervisor-native way**: -- Internal services (Meilisearch, Chromium, cache, paths) are pre-wired and hidden from the UI -- Secrets are **auto-generated and persisted** -- Only meaningful user settings are exposed - -Add additional environment variables with [env_vars](https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2) - ---- - -## Secrets & Security - -Two secrets are required for Karakeep to work securely: - -- `NEXTAUTH_SECRET` -- `MEILI_MASTER_KEY` - -If you leave them empty, the add-on will: -- Generate strong cryptographic secrets automatically -- Store them permanently in the add-on options -- Reuse them across restarts and upgrades - -You do **not** need to manage them manually. - ---- - -## Configuration - -Only **safe, meaningful options** are exposed. -All infrastructure (Meilisearch, Chromium, cache, paths, analytics, etc.) is managed automatically by the add-on. - -### Options - -| Option | Type | Default | Description | -|--------|------|---------|-------------| -| `NEXTAUTH_SECRET` | password | *(auto)* | Authentication secret (auto-generated if empty). | -| `NEXTAUTH_URL` | str | | Public URL used by NextAuth (optional). | -| `DISABLE_SIGNUPS` | bool | `false` | Disable new user signups. | -| `MAX_ASSET_SIZE_MB` | int | `4` | Maximum asset upload size. | -| `OPENAI_API_KEY` | password | | OpenAI API key for AI features. | -| `OCR_LANGS` | str | | OCR languages (comma separated). | -| `INFERENCE_LANG` | str | | Language used for AI inference. | -| `CRAWLER_DOWNLOAD_BANNER_IMAGE` | bool | `true` | Download banner image. | -| `CRAWLER_STORE_SCREENSHOT` | bool | `true` | Store page screenshots. | -| `CRAWLER_FULL_PAGE_SCREENSHOT` | bool | `true` | Capture full-page screenshots. | -| `CRAWLER_FULL_PAGE_ARCHIVE` | bool | `true` | Store full-page archive. | -| `CRAWLER_ENABLE_ADBLOCKER` | bool | `true` | Enable ad blocking. | -| `CRAWLER_VIDEO_DOWNLOAD` | bool | `false` | Enable video downloads. | -| `TZ` | str | `Etc/UTC` | Timezone. | - ---- - -## Installation - -1. Add my Home Assistant add-ons repository - [![Add repository][repository-badge]][repository-url] - -2. Install **Karakeep** -3. Click **Save** -4. Start the add-on (secrets are auto-generated) -5. Open the Web UI and complete onboarding - ---- - -## Support - -Create an issue on GitHub if you need help. - -[repository]: https://github.com/alexbelgium/hassio-addons -[repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge -[repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons diff --git a/karakeep/apparmor.txt b/karakeep/apparmor.txt deleted file mode 100644 index 68f11001b..000000000 --- a/karakeep/apparmor.txt +++ /dev/null @@ -1,66 +0,0 @@ -#include - -profile karakeep_addon flags=(attach_disconnected,mediate_deleted) { - #include - - capability, - file, - signal, - mount, - umount, - remount, - network udp, - network tcp, - network dgram, - network stream, - network inet, - network inet6, - network netlink raw, - network unix dgram, - - capability setgid, - capability setuid, - capability sys_admin, - capability dac_read_search, - # capability dac_override, - # capability sys_rawio, - -# S6-Overlay - /init ix, - /run/{s6,s6-rc*,service}/** ix, - /package/** ix, - /command/** ix, - /run/{,**} rwk, - /dev/tty rw, - /bin/** ix, - /usr/bin/** ix, - /usr/lib/bashio/** ix, - /etc/s6/** rix, - /run/s6/** rix, - /etc/services.d/** rwix, - /etc/cont-init.d/** rwix, - /etc/cont-finish.d/** rwix, - /init rix, - /var/run/** mrwkl, - /var/run/ mrwkl, - /dev/i2c-1 mrwkl, - # Files required - /dev/fuse mrwkl, - /dev/sda1 mrwkl, - /dev/sdb1 mrwkl, - /dev/nvme0 mrwkl, - /dev/nvme1 mrwkl, - /dev/mmcblk0p1 mrwkl, - /dev/* mrwkl, - /tmp/** mrkwl, - - # Data access - /data/** rw, - - # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container - ptrace (trace,read) peer=docker-default, - - # docker daemon confinement requires explict allow rule for signal - signal (receive) set=(kill,term) peer=/usr/bin/docker, - -} diff --git a/karakeep/build.yaml b/karakeep/build.yaml deleted file mode 100644 index ca94365f9..000000000 --- a/karakeep/build.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -build_from: - aarch64: ghcr.io/karakeep-app/karakeep:0.30.0 - amd64: ghcr.io/karakeep-app/karakeep:0.30.0 diff --git a/karakeep/config.yaml b/karakeep/config.yaml deleted file mode 100644 index eb8817ab9..000000000 --- a/karakeep/config.yaml +++ /dev/null @@ -1,58 +0,0 @@ -arch: - - aarch64 - - amd64 -name: Karakeep -slug: karakeep -description: A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search -version: "1.8.5" -url: https://github.com/alexbelgium/hassio-addons/tree/master/karakeep -image: ghcr.io/alexbelgium/karakeep-{arch} -init: false -ports: - 3000/tcp: 3000 -ports_description: - 3000/tcp: Web UI -webui: "[PROTO:ssl]://[HOST]:[PORT:3000]" -map: - - addon_config:rw - - share:rw -environment: - DATA_DIR: /data - XDG_CACHE_HOME: /data/cache - BROWSER_WEB_URL: http://127.0.0.1:9222 - CHROME_EXTENSIONS_DIR: /usr/src/chrome/extensions - MEILI_ADDR: http://127.0.0.1:7700 - MEILI_NO_ANALYTICS: "true" - DISABLE_NEW_RELEASE_CHECK: "true" -options: - TZ: Etc/UTC - DISABLE_SIGNUPS: false - NEXTAUTH_SECRET: "" - NEXTAUTH_URL: "" - MAX_ASSET_SIZE_MB: 4 - OPENAI_API_KEY: "" - OCR_LANGS: "" - INFERENCE_LANG: "" - MEILI_MASTER_KEY: "" # <-- add this - CRAWLER_DOWNLOAD_BANNER_IMAGE: true - CRAWLER_STORE_SCREENSHOT: true - CRAWLER_FULL_PAGE_SCREENSHOT: true - CRAWLER_FULL_PAGE_ARCHIVE: true - CRAWLER_ENABLE_ADBLOCKER: true - CRAWLER_VIDEO_DOWNLOAD: false -schema: - TZ: str? - DISABLE_SIGNUPS: bool - NEXTAUTH_SECRET: password? - NEXTAUTH_URL: str? - MAX_ASSET_SIZE_MB: int? - OPENAI_API_KEY: password? - OCR_LANGS: str? - INFERENCE_LANG: str? - MEILI_MASTER_KEY: password? # <-- change to password? - CRAWLER_DOWNLOAD_BANNER_IMAGE: bool - CRAWLER_STORE_SCREENSHOT: bool - CRAWLER_FULL_PAGE_SCREENSHOT: bool - CRAWLER_FULL_PAGE_ARCHIVE: bool - CRAWLER_ENABLE_ADBLOCKER: bool - CRAWLER_VIDEO_DOWNLOAD: bool? diff --git a/karakeep/icon.png b/karakeep/icon.png deleted file mode 100644 index 59e8dc950253263e3b83bd490e1969057e2ba818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmds3c~BEq9Nv9-k{23elTaHGWKn6T#~}5<0o09z8zU+zbR1ZZQ5-<1f{lWb=Ygmd zq($Wt(yHjF9F{??Mc7)cx5fh{fHeaG3W_I+Kuj03t?l%W9y9%;JM+Ewe!urSzS;fW zyxkP6_O-IKwIm3_%HK~lgCGFlK_CI|IWzNl2R~T{2ZeYCE&0^^&f~q;kj-zw_!;V% zgwOU1XW-Lx-WJ9Ag)JwD_hh{wiJUw+K?ocDRmu=e?Zex3-(2^hn5*{(o6K%PzYUh6 z7WVVz!tm}4p}}uUenya?$W)Q~z;w;4b>f)XSeyHMCQ45pw47@ezC1sY&~-W!x|72? zqpev%=x%GFa)R4wA@TrFt@ak|iW^=PlueK%Vddf(}S6upe64$jvWF|X>T6j0mmSP$W?nOZGHfhi0^ zq$3U2|2?B(_M>m7R{F(|I6AS(?U+J#FQzK#aBC3ouw>ccxaJFO$?RRe^h+CK)Xf%2 zO+1ndo}mZBxupaNskjZ2f7Te$S_1rM!=2U>Ey-O^eUWDYx3g`qq~Jv8sX1cgxsADU z#le}Nr6dNb$RpOOa{p#>5vN<9Rykg5qIK^aO)^svVb@JNW3TL`*~ z5DHQ}o=Sq#qUds(E=}cjPS;DE)$Gm=0&jpXI<2kHA*WIjz}d3UGy-?P0Ye#92m;+w zP_&Y58Z`vuQlUp}=~62^3sE(xTuwECccGC3A$s7=eor&(81PI;f;vegW)eVA0z4qg zIxeS6opAOR5+q8qG>f%dA#9G}vv+WZtVqx;&00v{t)h#rTJAC|tmlKr;ei%ZO)duo zC|b={kZ^@!bkej`?gjK2#IVU=ofREN;KNroOD140Sb*%5I>+FAh7R7vaibi;MoNCv zo-x{hAH;N=7&AI|JiU&DmmNn(e#97Q(93MW4gl3d^px{7n%b{sPo+_~3_(yW63h8| zKD|!k>p@;nJ(NNrin#8j1a9oxub*f^O-S$U#dzsFv5GI=+aS?xJ<9XzP3xoL`_`Sp ztOWMB6-s#k9=4!K6wkjCKOTrjB+69iB@DrTqP`Gboz8p(US`#N9L4A+U==Uf&3rJ$ z^lJClp;a3BixRoKQL?`#%QzdH@@EQW!hrp|#VO|?nrHPp*Zx5Ix9)FN`vd!^_VFn1 z0Z2! zz(u0FTh6FqzCYb{L1CyfL$TN*GUuvxK;15qG=i!otJX4v<4r#0vfGdVk zrrRI*!@)|ru-#o!lg_+0v<(9rWtwD(W;sQd4#X9Wsul3ElRox1jk#>taJ(pu+XSB; zFH;%Ef~zHoiBFUg@Evuw?X?uIL(ijBC1L=N(A2H{Qalvh9akLDAHbWk)HPP4BsF== z+}+(teBB%-TowS2IE`K<(ahuROeXw#08d9>vT5~LM1}g&#pjw{!}$?lrMchPs5P$b zDSM`xqN9|i_Vn1@5hKpetINnOJon`->|ho(mmiRq^{@A)9X#P0xxnHr*meD4%rWMPfPl zQR~RQne<7sLslcrc!m(nG3=Y-(PLY7q*Ju;%{7Wj6(cKTc25>Oa&K9xpU+CPI$LdI zm3XZp7K9UzW2P}m1NqpcU&e_#`$^3WFMA%}F-IgElZ)4H-}fQ^4?y^Pt5wBQ*tI_c DJv^ZF diff --git a/karakeep/logo.png b/karakeep/logo.png deleted file mode 100644 index 59e8dc950253263e3b83bd490e1969057e2ba818..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2140 zcmds3c~BEq9Nv9-k{23elTaHGWKn6T#~}5<0o09z8zU+zbR1ZZQ5-<1f{lWb=Ygmd zq($Wt(yHjF9F{??Mc7)cx5fh{fHeaG3W_I+Kuj03t?l%W9y9%;JM+Ewe!urSzS;fW zyxkP6_O-IKwIm3_%HK~lgCGFlK_CI|IWzNl2R~T{2ZeYCE&0^^&f~q;kj-zw_!;V% zgwOU1XW-Lx-WJ9Ag)JwD_hh{wiJUw+K?ocDRmu=e?Zex3-(2^hn5*{(o6K%PzYUh6 z7WVVz!tm}4p}}uUenya?$W)Q~z;w;4b>f)XSeyHMCQ45pw47@ezC1sY&~-W!x|72? zqpev%=x%GFa)R4wA@TrFt@ak|iW^=PlueK%Vddf(}S6upe64$jvWF|X>T6j0mmSP$W?nOZGHfhi0^ zq$3U2|2?B(_M>m7R{F(|I6AS(?U+J#FQzK#aBC3ouw>ccxaJFO$?RRe^h+CK)Xf%2 zO+1ndo}mZBxupaNskjZ2f7Te$S_1rM!=2U>Ey-O^eUWDYx3g`qq~Jv8sX1cgxsADU z#le}Nr6dNb$RpOOa{p#>5vN<9Rykg5qIK^aO)^svVb@JNW3TL`*~ z5DHQ}o=Sq#qUds(E=}cjPS;DE)$Gm=0&jpXI<2kHA*WIjz}d3UGy-?P0Ye#92m;+w zP_&Y58Z`vuQlUp}=~62^3sE(xTuwECccGC3A$s7=eor&(81PI;f;vegW)eVA0z4qg zIxeS6opAOR5+q8qG>f%dA#9G}vv+WZtVqx;&00v{t)h#rTJAC|tmlKr;ei%ZO)duo zC|b={kZ^@!bkej`?gjK2#IVU=ofREN;KNroOD140Sb*%5I>+FAh7R7vaibi;MoNCv zo-x{hAH;N=7&AI|JiU&DmmNn(e#97Q(93MW4gl3d^px{7n%b{sPo+_~3_(yW63h8| zKD|!k>p@;nJ(NNrin#8j1a9oxub*f^O-S$U#dzsFv5GI=+aS?xJ<9XzP3xoL`_`Sp ztOWMB6-s#k9=4!K6wkjCKOTrjB+69iB@DrTqP`Gboz8p(US`#N9L4A+U==Uf&3rJ$ z^lJClp;a3BixRoKQL?`#%QzdH@@EQW!hrp|#VO|?nrHPp*Zx5Ix9)FN`vd!^_VFn1 z0Z2! zz(u0FTh6FqzCYb{L1CyfL$TN*GUuvxK;15qG=i!otJX4v<4r#0vfGdVk zrrRI*!@)|ru-#o!lg_+0v<(9rWtwD(W;sQd4#X9Wsul3ElRox1jk#>taJ(pu+XSB; zFH;%Ef~zHoiBFUg@Evuw?X?uIL(ijBC1L=N(A2H{Qalvh9akLDAHbWk)HPP4BsF== z+}+(teBB%-TowS2IE`K<(ahuROeXw#08d9>vT5~LM1}g&#pjw{!}$?lrMchPs5P$b zDSM`xqN9|i_Vn1@5hKpetINnOJon`->|ho(mmiRq^{@A)9X#P0xxnHr*meD4%rWMPfPl zQR~RQne<7sLslcrc!m(nG3=Y-(PLY7q*Ju;%{7Wj6(cKTc25>Oa&K9xpU+CPI$LdI zm3XZp7K9UzW2P}m1NqpcU&e_#`$^3WFMA%}F-IgElZ)4H-}fQ^4?y^Pt5wBQ*tI_c DJv^ZF diff --git a/karakeep/rootfs/etc/cont-init.d/90-folders.sh b/karakeep/rootfs/etc/cont-init.d/90-folders.sh deleted file mode 100755 index 864dd25ea..000000000 --- a/karakeep/rootfs/etc/cont-init.d/90-folders.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/command/with-contenv bashio -# shellcheck shell=bash -set -e - -bashio::log.info "Creating folders" - -mkdir -p \ - /data/cache \ - /data/chrome \ - /config/meili \ - /usr/src/chrome/extensions - -if id chrome &>/dev/null; then - chown -R chrome:chrome /data/cache /data/chrome /usr/src/chrome/extensions -fi diff --git a/karakeep/rootfs/etc/cont-init.d/91-secrets.sh b/karakeep/rootfs/etc/cont-init.d/91-secrets.sh deleted file mode 100755 index b22cfd2e7..000000000 --- a/karakeep/rootfs/etc/cont-init.d/91-secrets.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/with-contenv bashio -# shellcheck shell=bash -set -e - -generate_secret() { - # Avoid SIGPIPE from `tr` when `head` terminates early under pipefail. - ( - set +o pipefail 2>/dev/null || true - tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 64 - ) -} - -set_option() { - local key="$1" - local value="$2" - - # Store permanently in Home Assistant add-on options - bashio::addon.option "${key}" "${value}" - - # Export into current process - export "${key}=${value}" - - # Export into s6 so all services inherit it - if [ -d /var/run/s6/container_environment ]; then - printf "%s" "${value}" > "/var/run/s6/container_environment/${key}" - fi -} - -load_option() { - local key="$1" - local value - - value="$(bashio::config "${key}")" - export "${key}=${value}" - - if [ -d /var/run/s6/container_environment ]; then - printf "%s" "${value}" > "/var/run/s6/container_environment/${key}" - fi -} - -for key in MEILI_MASTER_KEY NEXTAUTH_SECRET; do - if bashio::config.has_value "${key}"; then - bashio::log.info "Using existing ${key}" - load_option "${key}" - else - bashio::log.warning "${key} not set, generating persistent secret" - value="$(generate_secret)" - set_option "${key}" "${value}" - fi -done diff --git a/karakeep/rootfs/etc/cont-init.d/92-chrome-extensions.sh b/karakeep/rootfs/etc/cont-init.d/92-chrome-extensions.sh deleted file mode 100755 index 4df7b761f..000000000 --- a/karakeep/rootfs/etc/cont-init.d/92-chrome-extensions.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/command/with-contenv bashio -# shellcheck shell=bash -set -e - -EXTENSIONS_DIR="${CHROME_EXTENSIONS_DIR:-/usr/src/chrome/extensions}" -bashio::log.info "Refreshing Chromium extensions in ${EXTENSIONS_DIR}" - -mkdir -p "${EXTENSIONS_DIR}" - -download_extension() { - local name="$1" - local extension_id="$2" - local crx_path rc - - crx_path="$(mktemp)" - - if ! curl -fsSL \ - "https://clients2.google.com/service/update2/crx?response=redirect&prodversion=120.0&acceptformat=crx2,crx3&x=id%3D${extension_id}%26installsource%3Dondemand%26uc" \ - -o "${crx_path}"; then - rm -f "${crx_path}" - bashio::log.warning "Failed to download extension ${name}. Continuing without refresh." - return 0 - fi - - rm -rf "${EXTENSIONS_DIR:?}/${name}" - mkdir -p "${EXTENSIONS_DIR}/${name}" - - rc=0 - unzip -q "${crx_path}" -d "${EXTENSIONS_DIR}/${name}" || rc=$? - rm -f "${crx_path}" - - # unzip may return 1 even though files extracted (common with CRX zip metadata) - if [ "${rc}" -ne 0 ] && [ "${rc}" -ne 1 ]; then - bashio::log.warning "Failed to unzip extension ${name} (rc=${rc}). Continuing." - return 0 - fi - - return 0 -} - -download_extension "i-dont-care-about-cookies" "fllaojicojecljbmefodhfapmkghcbnh" -download_extension "ublock-origin" "cjpalhdlnbpafiamejdnhcphjbkeiagm" - -if id chrome &>/dev/null; then - chown -R chrome:chrome "${EXTENSIONS_DIR}" -fi diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/run b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/run deleted file mode 100644 index e13702a2e..000000000 --- a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/command/with-contenv bashio -# shellcheck shell=bash -set -e - -EXTENSIONS_DIR="${CHROME_EXTENSIONS_DIR:-/usr/src/chrome/extensions}" - -extensions=() -for extension in "${EXTENSIONS_DIR}/i-dont-care-about-cookies" "${EXTENSIONS_DIR}/ublock-origin"; do - if [ -d "$extension" ]; then - extensions+=("$extension") - fi -done - -extension_flag="" -if [ ${#extensions[@]} -gt 0 ]; then - extension_flag="--load-extension=$(IFS=,; echo "${extensions[*]}")" -fi - -cd /usr/src/chrome - -exec su chrome -c "chromium-browser --headless=new --no-sandbox --disable-gpu --disable-dev-shm-usage --remote-debugging-address=0.0.0.0 --remote-debugging-port=9222 --hide-scrollbars --disable-crash-reporter --no-crash-upload --user-data-dir=/data/chrome ${extension_flag}" diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/type b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/type deleted file mode 100644 index 5883cff0c..000000000 --- a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-chrome/type +++ /dev/null @@ -1 +0,0 @@ -longrun diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/run b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/run deleted file mode 100644 index 9af8cd43d..000000000 --- a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/run +++ /dev/null @@ -1,7 +0,0 @@ -#!/command/with-contenv bashio -# shellcheck shell=bash -set -e - -mkdir -p "${MEILI_DIR}" - -exec /bin/meilisearch --db-path "${MEILI_DIR}" --no-analytics --experimental-dumpless-upgrade diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/type b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/type deleted file mode 100644 index 5883cff0c..000000000 --- a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-meilisearch/type +++ /dev/null @@ -1 +0,0 @@ -longrun diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-chrome b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-chrome deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-meilisearch b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-web/dependencies.d/svc-meilisearch deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-chrome b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-chrome deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-meilisearch b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/svc-workers/dependencies.d/svc-meilisearch deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-chrome b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-chrome deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-meilisearch b/karakeep/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/svc-meilisearch deleted file mode 100644 index e69de29bb..000000000 diff --git a/karakeep/updater.json b/karakeep/updater.json deleted file mode 100644 index 72a05ec1a..000000000 --- a/karakeep/updater.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "last_update": "2026-01-12", - "repository": "alexbelgium/hassio-addons", - "slug": "karakeep", - "source": "github", - "upstream_repo": "karakeep-app/karakeep", - "upstream_version": "1.8.5" -}