Files
hassio-addons/sonarr/Dockerfile
Rodrigo Scomação do Nascimento 9e4e38535f fix(radarr): bump version so Home Assistant offers the rebuilt image (#2958)
* fix(radarr): bump version so HA offers the rebuilt ls313 image

The `6.3.0.10514` image tag was rebuilt and re-pushed on 2026-08-03 and
now ships LinuxServer.io ls313, while installations made before that date
still run the ls311 build they originally pulled.

Because build.json tracks the floating `lscr.io/linuxserver/radarr:*-latest`
tags, a rebuild silently changes the image contents without changing the
add-on version. The Supervisor decides whether an update exists purely by
comparing the `version` string in config.yaml against the installed one --
it does not compare image digests -- so an unchanged string means the
update is never offered and the new image is never pulled.

Add the local patch counter documented in CLAUDE.md to make the rebuild
visible to the Supervisor. Radarr itself is unchanged at 6.3.0.10514, so
updater.json keeps upstream_version as-is; the updater bot only rewrites
config.yaml when the upstream version moves, matching how lidarr
(3.1.0.4875 -> 3.1.0.4875.1) and bazarr (1.6.0 -> 1.6.0.2) already work.

The dotted `.1` form is required rather than `-1`: AwesomeVersion parses
`6.3.0.10514-1` as an unknown strategy and raises on comparison, whereas
`6.3.0.10514.1` compares as SimpleVer and sorts above `6.3.0.10514`.

* chore(sonarr,prowlarr): update to latest upstream releases

Sonarr   4.0.19.2997 -> 4.0.19.3001 (develop-4.0.19.3001-ls184, 2026-08-11)
Prowlarr 2.6.2.5517.9 -> 2.6.2.5534.9 (nightly-2.6.2.5534-ls9, 2026-08-08)

Both add-ons track a prerelease channel (github_beta), and their build.json
files pin the floating `-develop` / `-nightly` LinuxServer.io tags, so the
rebuild picks up the matching base image on merge.

Unlike radarr, neither add-on was affected by the stale-image problem: the
published images match the versions they claim (sonarr ships ls183 for
4.0.19.2997, prowlarr ships ls9 for 2.6.2.5517), so these are ordinary
version bumps that the weekly updater bot would otherwise pick up.

Sonarr also records the upstream version in ARG BUILD_UPSTREAM, updated
here to match. Prowlarr has no BUILD_UPSTREAM line.
2026-08-11 15:36:31 +02:00

146 lines
4.5 KiB
Docker

#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="4.0.19.3001"
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
# Global LSIO modifications
COPY 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 #
##################
# Add rootfs
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 90-disable_ingress.sh 00-local_mounts.sh 00-smb_mounts.sh 00-deprecated.sh"
# Automatic modules download
COPY ha_automodules.sh /ha_automodules.sh
RUN chmod 744 /ha_automodules.sh && /ha_automodules.sh "$MODULES" && rm /ha_automodules.sh
# Manual apps
ENV PACKAGES="jq \
curl \
cifs-utils \
keyutils \
ffmpeg \
nginx"
# Automatic apps & bashio
COPY 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
COPY ha_entrypoint.sh /ha_entrypoint.sh
RUN chmod 777 /ha_entrypoint.sh
# Install bashio
COPY 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" ]
#SHELL ["/bin/bash", "-o", "pipefail", "-c"]
############
# 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 '/<VirtualHost/a \ \n # Match requests with the custom User-Agent "HealthCheck" \n SetEnvIf User-Agent "HealthCheck" dontlog \n # Exclude matching requests from access logs \n CustomLog ${APACHE_LOG_DIR}/access.log combined env=!dontlog' "$file"; \
done; \
fi && \
\
# Handle Nginx configuration
if [ -f /etc/nginx/nginx.conf ]; then \
awk '/http \{/{print; print "map $http_user_agent $dontlog {\n default 0;\n \"~*HealthCheck\" 1;\n}\naccess_log /var/log/nginx/access.log combined if=$dontlog;"; next}1' /etc/nginx/nginx.conf > /etc/nginx/nginx.conf.new && \
mv /etc/nginx/nginx.conf.new /etc/nginx/nginx.conf; \
fi
ENV HEALTH_PORT="8989" \
HEALTH_URL=""
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