diff --git a/overseerr/icon.png b/overseerr/icon.png deleted file mode 100644 index c3b142b59..000000000 Binary files a/overseerr/icon.png and /dev/null differ diff --git a/overseerr/logo.png b/overseerr/logo.png deleted file mode 100644 index c3b142b59..000000000 Binary files a/overseerr/logo.png and /dev/null differ diff --git a/overseerr/stats.png b/overseerr/stats.png deleted file mode 100644 index 701048544..000000000 Binary files a/overseerr/stats.png and /dev/null differ diff --git a/seer/CHANGELOG.md b/seer/CHANGELOG.md new file mode 100644 index 000000000..a5405bc20 --- /dev/null +++ b/seer/CHANGELOG.md @@ -0,0 +1,6 @@ +## v3.0.1 (2026-02-17) + +- Initial release based on the Overseerr add-on, updated to the Seerr upstream image and naming. +- Switched base image to `seerr/seerr:latest` and updated metadata/options for the new slug. +- Remove bundled binary image assets from the add-on directory as requested by review feedback. + diff --git a/seer/Dockerfile b/seer/Dockerfile new file mode 100644 index 000000000..e490febc1 --- /dev/null +++ b/seer/Dockerfile @@ -0,0 +1,114 @@ +#============================# +# ALEXBELGIUM'S DOCKERFILE # +#============================# +# _.------. +# _.-` ('>.-`"""-. +# '.--'` _'` _ .--.) +# -' '-.-';` ` +# ' - _.' ``'--. +# '---` .-'""` +# /` +#=== Home Assistant Addon ===# + +################# +# 1 Build Image # +################# + +ARG BUILD_FROM +ARG BUILD_VERSION +FROM ${BUILD_FROM} +ENV BASHIO_VERSION=1.29.1 + +################## +# 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 + +# Global LSIO modifications +ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_lsio.sh" "/ha_lsio.sh" +ARG CONFIGLOCATION="/config" +RUN chmod 744 /ha_lsio.sh && if grep -qr "lsio" /etc; then /ha_lsio.sh "$CONFIGLOCATION"; fi && rm /ha_lsio.sh + +################## +# 3 Install apps # +################## + +# Copy local files +COPY rootfs/ / +RUN find . -type f \( -name "*.sh" -o -name "run" -o -name "finish" \) -print -exec chmod +x {} \; + +# 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-local_mounts.sh 00-smb_mounts.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" +RUN chmod 777 /ha_entrypoint.sh + +# Install bashio +ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/bashio-standalone.sh" "/usr/local/lib/bashio-standalone.sh" +RUN chmod 0755 /usr/local/lib/bashio-standalone.sh + +# +#WORKDIR / +#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 HealthcheckNOT # +#################### diff --git a/seer/README.md b/seer/README.md new file mode 100644 index 000000000..e9bfd751c --- /dev/null +++ b/seer/README.md @@ -0,0 +1,43 @@ +# Home Assistant add-on: Seer + +## About + +This add-on packages [Seerr](https://seerr.dev/), an open-source media request and discovery manager for Jellyfin, Plex, and Emby. + +This add-on is based on the existing Overseerr add-on structure, adapted for the Seerr upstream project and container image. + +Upstream repositories reviewed: +- Overseerr: https://github.com/sct/overseerr +- Seerr: https://github.com/seerr-team/seerr + +## Installation + +1. Add this repository to Home Assistant. +2. Install **Seer**. +3. Configure options, then start the add-on. +4. Open the Web UI on port `5055`. + +## Configuration + +Use `env_vars` to pass extra environment variables when needed. Seer configuration is stored in `/config`. + +### Options + +| Option | Type | Default | Description | +|--------|------|---------|-------------| +| `PGID` | int | `0` | Group ID for file permissions | +| `PUID` | int | `0` | User ID for file permissions | +| `TZ` | str | | Timezone (e.g. `Europe/London`) | + +### Example + +```yaml +env_vars: [] +PGID: 0 +PUID: 0 +TZ: Europe/London +``` + +## Support + +If you find a bug, open an issue in this repository. diff --git a/seer/apparmor.txt b/seer/apparmor.txt new file mode 100644 index 000000000..33f2e4098 --- /dev/null +++ b/seer/apparmor.txt @@ -0,0 +1,66 @@ +#include + +profile seer_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/seer/build.json b/seer/build.json new file mode 100644 index 000000000..af9b66344 --- /dev/null +++ b/seer/build.json @@ -0,0 +1,6 @@ +{ + "build_from": { + "aarch64": "seerr/seerr:latest", + "amd64": "seerr/seerr:latest" + } +} diff --git a/seer/config.yaml b/seer/config.yaml new file mode 100644 index 000000000..c1179620c --- /dev/null +++ b/seer/config.yaml @@ -0,0 +1,94 @@ +arch: + - aarch64 + - amd64 +description: + Open-source media request and discovery manager for Jellyfin, Plex, and Emby +devices: + - /dev/dri + - /dev/dri/card0 + - /dev/dri/card1 + - /dev/dri/renderD128 + - /dev/vchiq + - /dev/video10 + - /dev/video11 + - /dev/video12 + - /dev/video13 + - /dev/video14 + - /dev/video15 + - /dev/video16 + - /dev/ttyUSB0 + - /dev/sda + - /dev/sdb + - /dev/sdc + - /dev/sdd + - /dev/sde + - /dev/sdf + - /dev/sdg + - /dev/nvme + - /dev/nvme0 + - /dev/nvme0n1 + - /dev/nvme0n1p1 + - /dev/nvme0n1p2 + - /dev/nvme0n1p3 + - /dev/nvme1n1 + - /dev/nvme1n1p1 + - /dev/nvme1n1p2 + - /dev/nvme1n1p3 + - /dev/nvme2n1 + - /dev/nvme2n1p1 + - /dev/nvme2n1p2 + - /dev/nvme2n3p3 + - /dev/mmcblk + - /dev/fuse + - /dev/sda1 + - /dev/sdb1 + - /dev/sdc1 + - /dev/sdd1 + - /dev/sde1 + - /dev/sdf1 + - /dev/sdg1 + - /dev/sda2 + - /dev/sdb2 + - /dev/sdc2 + - /dev/sdd2 + - /dev/sde2 + - /dev/sdf2 + - /dev/sdg2 + - /dev/sda3 + - /dev/sdb3 + - /dev/sda4 + - /dev/sdb4 + - /dev/sda5 + - /dev/sda6 + - /dev/sda7 + - /dev/sda8 + - /dev/nvme0 + - /dev/nvme1 + - /dev/nvme2 +environment: {} +image: ghcr.io/alexbelgium/seer-{arch} +init: false +map: + - addon_config:rw +name: Seer +options: + env_vars: [] + PGID: "0" + PUID: "0" +ports: + 5055/tcp: 5055 +ports_description: + 5055/tcp: web interface +privileged: [] +schema: + env_vars: + - name: match(^[A-Za-z0-9_]+$) + value: str? + PGID: int + PUID: int + TZ: str? +slug: seer +udev: true +url: https://github.com/alexbelgium/hassio-addons/tree/master/seer +version: v3.0.1 +webui: "[PROTO:ssl]://[HOST]:[PORT:5055]" diff --git a/seer/rootfs/etc/cont-init.d/20-folders.sh b/seer/rootfs/etc/cont-init.d/20-folders.sh new file mode 100755 index 000000000..007330263 --- /dev/null +++ b/seer/rootfs/etc/cont-init.d/20-folders.sh @@ -0,0 +1,22 @@ +#!/usr/bin/with-contenv bashio +# shellcheck shell=bash +set -e + +slug=seer + +if [ -d "/homeassistant/addons_config/$slug" ]; then + echo "Migrating /homeassistant/addons_config/$slug to /config" + cp -rnf /homeassistant/addons_config/"$slug"/. /config/ || true + mv /homeassistant/addons_config/"$slug" /homeassistant/addons_config/"$slug"_migrated +fi + +if [ -d /config/addons_config/seer ]; then + echo "Migrating /config/addons_config/seer to /config" + cp -rnf /config/addons_config/seer/. /config/ || true +fi + +if [ -d /config/addons_config ]; then + rm -rf /config/addons_config +fi + +chown -R "$PUID:$PGID" /config || true diff --git a/seer/updater.json b/seer/updater.json new file mode 100644 index 000000000..fbc17d2cb --- /dev/null +++ b/seer/updater.json @@ -0,0 +1,8 @@ +{ + "last_update": "17-02-2026", + "repository": "alexbelgium/hassio-addons", + "slug": "seer", + "source": "github", + "upstream_repo": "seerr-team/seerr", + "upstream_version": "v3.0.1" +} diff --git a/overseerr/CHANGELOG.md b/zzz_archived_overseerr/CHANGELOG.md similarity index 77% rename from overseerr/CHANGELOG.md rename to zzz_archived_overseerr/CHANGELOG.md index 80da25250..1354867ad 100644 --- a/overseerr/CHANGELOG.md +++ b/zzz_archived_overseerr/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.34.0-archived (2026-02-17) + +- Mark add-on as deprecated in favor of the new Seer add-on. +- Move add-on folder to `zzz_archived_overseerr`. +- Pause automated upstream updates. +- Enable deprecated startup warning module in Dockerfile. + - Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details. ## 1.34.0 (2025-03-29) @@ -35,3 +42,4 @@ - Update to latest version from linuxserver/docker-overseerr - Initial release +- Remove bundled binary image assets from the archived add-on directory. diff --git a/overseerr/Dockerfile b/zzz_archived_overseerr/Dockerfile similarity index 99% rename from overseerr/Dockerfile rename to zzz_archived_overseerr/Dockerfile index 653cb322c..d1d9fa26e 100644 --- a/overseerr/Dockerfile +++ b/zzz_archived_overseerr/Dockerfile @@ -47,7 +47,7 @@ RUN if [ ! -f /bin/sh ] && [ -f /usr/bin/sh ]; then ln -s /usr/bin/sh /bin/sh; f 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-local_mounts.sh 00-smb_mounts.sh" +ARG MODULES="00-banner.sh 01-custom_script.sh 00-local_mounts.sh 00-smb_mounts.sh 00-deprecated.sh" # Automatic modules download ADD "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/ha_automodules.sh" "/ha_automodules.sh" diff --git a/overseerr/README.md b/zzz_archived_overseerr/README.md similarity index 96% rename from overseerr/README.md rename to zzz_archived_overseerr/README.md index f9585de31..b29cf846f 100644 --- a/overseerr/README.md +++ b/zzz_archived_overseerr/README.md @@ -25,12 +25,14 @@ _Thanks to everyone having starred my repo! To star it click on the image below, [![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers) -![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/overseerr/stats.png) +![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/zzz_archived_overseerr/stats.png) ## About --- +> ⚠️ **Deprecated:** this add-on is deprecated. Please migrate to the `Seer` add-on. + [Overseerr](https://overseerr.dev/) is a request management and media discovery tool built to work with your existing Plex ecosystem This addon is based on the docker image https://github.com/linuxserver/docker-overseerr diff --git a/overseerr/apparmor.txt b/zzz_archived_overseerr/apparmor.txt similarity index 100% rename from overseerr/apparmor.txt rename to zzz_archived_overseerr/apparmor.txt diff --git a/overseerr/build.json b/zzz_archived_overseerr/build.json similarity index 100% rename from overseerr/build.json rename to zzz_archived_overseerr/build.json diff --git a/overseerr/config.yaml b/zzz_archived_overseerr/config.yaml similarity index 89% rename from overseerr/config.yaml rename to zzz_archived_overseerr/config.yaml index 6775dfc84..add322d7a 100644 --- a/overseerr/config.yaml +++ b/zzz_archived_overseerr/config.yaml @@ -3,7 +3,7 @@ arch: - amd64 description: Request management and media discovery tool built to work with your existing - Plex ecosystem + Plex ecosystem (deprecated, migrate to Seer add-on) devices: - /dev/dri - /dev/dri/card0 @@ -71,7 +71,7 @@ image: ghcr.io/alexbelgium/overseerr-{arch} init: false map: - config:rw -name: Overseerr +name: Overseerr (deprecated) options: env_vars: [] CONFIG_LOCATION: /config/addons_config/overseerr @@ -91,7 +91,8 @@ schema: PUID: int TZ: str? slug: overseerr +stage: deprecated udev: true -url: https://github.com/alexbelgium/hassio-addons/tree/master/overseerr +url: https://github.com/alexbelgium/hassio-addons/tree/master/zzz_archived_overseerr version: 1.34.0 webui: "[PROTO:ssl]://[HOST]:[PORT:5055]" diff --git a/overseerr/rootfs/etc/cont-init.d/00-config_location.sh b/zzz_archived_overseerr/rootfs/etc/cont-init.d/00-config_location.sh old mode 100755 new mode 100644 similarity index 100% rename from overseerr/rootfs/etc/cont-init.d/00-config_location.sh rename to zzz_archived_overseerr/rootfs/etc/cont-init.d/00-config_location.sh diff --git a/overseerr/rootfs/etc/cont-init.d/20-folders.sh b/zzz_archived_overseerr/rootfs/etc/cont-init.d/20-folders.sh old mode 100755 new mode 100644 similarity index 100% rename from overseerr/rootfs/etc/cont-init.d/20-folders.sh rename to zzz_archived_overseerr/rootfs/etc/cont-init.d/20-folders.sh diff --git a/overseerr/updater.json b/zzz_archived_overseerr/updater.json similarity index 78% rename from overseerr/updater.json rename to zzz_archived_overseerr/updater.json index 195013824..3b6f2bc4d 100644 --- a/overseerr/updater.json +++ b/zzz_archived_overseerr/updater.json @@ -4,5 +4,6 @@ "slug": "overseerr", "source": "github", "upstream_repo": "linuxserver/docker-overseerr", - "upstream_version": "1.34.0" + "upstream_version": "1.34.0", + "paused": true }