From b5cc73cc2999b787172bbea65f60785b74773e26 Mon Sep 17 00:00:00 2001 From: danveitch76 <45300973+danveitch76@users.noreply.github.com> Date: Sun, 25 Feb 2024 09:58:19 +0000 Subject: [PATCH] Update to v10.0.2-nas4c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 10.0.2-nas4c ### ✨ Features - Move addon config in `addons_config` - Move homeassistant config in `homeassistant_config` ### 💥 BREAKING CHANGE - Drop support for `armhf` and `i386` - **This is the last version with** `mqtt_use_legacy_entities`. Legacy implementation will be removed in next version. ### 🏗 Chore - [Full Changelog from official addon 12.1.0][changelog_12.1.0] - Use the new Home Assistant folder for the config share - Add support for accessing public add-on configurations - [Full Changelog from official addon 12.0.0][changelog_12.0.0] - Adjust location of Home Assistant config to match latest dev/beta Supervisor - [Full Changelog from official addon 11.0.0][changelog_11.0.0] - Add support for accessing public add-on configurations - Update Based Image to 14.3.2 (Alpine 3.18.4) - Adds HEALTCHECK support - [Full Changelog from official addon 10.0.2][changelog_10.0.2] - Already Implemented: Enable IPv6 ULA and IPv4 link-local addresses by default ### 🩹 BugFix [changelog_12.1.0]: https://github.com/home-assistant/addons/pull/3312 [changelog_12.0.0]: https://github.com/home-assistant/addons/pull/3311 [changelog_11.1.0]: https://github.com/home-assistant/addons/pull/3001 [changelog_11.0.0]: https://github.com/home-assistant/addons/pull/3297 [changelog_10.0.2]: https://github.com/home-assistant/addons/pull/3062 [changelog_10.0.1]: https://github.com/home-assistant/addons/pull/2997 [changelog_12.2.0]: https://github.com/home-assistant/addons/pull/3002 --- sambanas/CHANGELOG.md | 34 +++++++++++++++++++ sambanas/Dockerfile | 13 +++++-- sambanas/build.yaml | 8 ++--- sambanas/config.yaml | 7 ++-- .../s6-rc.d/cifs-supervisor-mount/finish | 2 +- .../s6-rc.d/cifs-supervisor-mount/run | 5 +-- .../etc/s6-overlay/s6-rc.d/init-automount/run | 2 +- 7 files changed, 56 insertions(+), 15 deletions(-) diff --git a/sambanas/CHANGELOG.md b/sambanas/CHANGELOG.md index 03db20a..f97d304 100644 --- a/sambanas/CHANGELOG.md +++ b/sambanas/CHANGELOG.md @@ -1,5 +1,39 @@ # Changelog +## 10.0.2-nas4c + +### ✨ Features +- Move addon config in `addons_config` +- Move homeassistant config in `homeassistant_config` + +### 💥 BREAKING CHANGE +- Drop support for `armhf` and `i386` +- **This is the last version with** `mqtt_use_legacy_entities`. Legacy implementation will be removed in next version. + +### 🏗 Chore +- [Full Changelog from official addon 12.1.0][changelog_12.1.0] + - Use the new Home Assistant folder for the config share + - Add support for accessing public add-on configurations +- [Full Changelog from official addon 12.0.0][changelog_12.0.0] + - Adjust location of Home Assistant config to match latest dev/beta Supervisor +- [Full Changelog from official addon 11.0.0][changelog_11.0.0] + - Add support for accessing public add-on configurations + - Update Based Image to 14.3.2 (Alpine 3.18.4) + - Adds HEALTCHECK support +- [Full Changelog from official addon 10.0.2][changelog_10.0.2] + - Already Implemented: Enable IPv6 ULA and IPv4 link-local addresses by default + +### 🩹 BugFix + + +[changelog_12.1.0]: https://github.com/home-assistant/addons/pull/3312 +[changelog_12.0.0]: https://github.com/home-assistant/addons/pull/3311 +[changelog_11.1.0]: https://github.com/home-assistant/addons/pull/3001 +[changelog_11.0.0]: https://github.com/home-assistant/addons/pull/3297 +[changelog_10.0.2]: https://github.com/home-assistant/addons/pull/3062 +[changelog_10.0.1]: https://github.com/home-assistant/addons/pull/2997 +[changelog_12.2.0]: https://github.com/home-assistant/addons/pull/3002 + ## 10.0.2-nas4b ### ✨ Features - Added additional architectures diff --git a/sambanas/Dockerfile b/sambanas/Dockerfile index ba47602..85068bd 100644 --- a/sambanas/Dockerfile +++ b/sambanas/Dockerfile @@ -54,6 +54,7 @@ ARG CLI_VERSION RUN apk add --no-cache \ samba-common-tools \ samba-server \ + samba-client \ dbus \ exfatprogs \ btrfs-progs \ @@ -80,7 +81,9 @@ RUN apk add --no-cache \ wsdd \ udisks2 \ libcap \ - hd-idle + hd-idle \ + fuse3 \ + py3-pip # HDDTEMP ARG HDDTEMP_VERSION @@ -90,7 +93,6 @@ RUN curl http://download.savannah.nongnu.org/releases/hddtemp/hddtemp.db -Lso / # WSDD2 COPY --from=builder /wsdd2-master/wsdd2 /usr/sbin - # SAMBA Config RUN mkdir -p /var/lib/samba \ && touch \ @@ -103,16 +105,21 @@ RUN mkdir -p /var/lib/samba \ RUN curl -Lso /usr/bin/ha "https://github.com/home-assistant/cli/releases/download/${CLI_VERSION}/ha_${BUILD_ARCH}" \ && chmod a+x /usr/bin/ha - #RUN echo "devtmpfs /dev_ devtmpfs rw,relatime,size=1965288k,nr_inodes=182901,mode=755 0 0" >> /etc/fstab # Copy data COPY rootfs / + +# Fix for Windows Permissions to run scripts RUN for f in $(find . -name 'run'); do (cd "$(dirname $f)" && chmod 0755 "$(basename $f)") done && \ for f in $(find . -name 'finish'); do (cd "$(dirname $f)" && chmod 0755 "$(basename $f)") done && \ for f in $(find . -name 'down'); do (cd "$(dirname $f)" && chmod 0755 "$(basename $f)") done && \ for f in $(find . -name 'up'); do (cd "$(dirname $f)" && chmod 0755 "$(basename $f)") done && \ for f in $(find . -name '*.sh'); do (cd "$(dirname $f)" && chmod 0755 "$(basename $f)") done + +HEALTHCHECK \ + CMD smbclient -L '\\localhost' -U '%' -m SMB3 + # Labels LABEL \ io.hass.name="${BUILD_NAME}" \ diff --git a/sambanas/build.yaml b/sambanas/build.yaml index c39a0fa..be2b238 100644 --- a/sambanas/build.yaml +++ b/sambanas/build.yaml @@ -1,10 +1,8 @@ --- build_from: - aarch64: ghcr.io/hassio-addons/base:14.0.1 - amd64: ghcr.io/hassio-addons/base:14.0.1 - armhf: ghcr.io/hassio-addons/base:14.0.1 - armv7: ghcr.io/hassio-addons/base:14.0.1 - i386: ghcr.io/hassio-addons/base:14.0.1 + aarch64: ghcr.io/hassio-addons/base:15.0.7 + amd64: ghcr.io/hassio-addons/base:15.0.7 + armv7: ghcr.io/hassio-addons/base:15.0.7 codenotary: signer: dan.veitch@gmail.com base_image: codenotary@frenck.dev diff --git a/sambanas/config.yaml b/sambanas/config.yaml index 4e048a5..0c7b83a 100644 --- a/sambanas/config.yaml +++ b/sambanas/config.yaml @@ -1,6 +1,6 @@ --- name: Samba NAS -version: 10.0.2-nas4b +version: 10.0.2-nas4c slug: sambanas description: Expose Home Assistant disc with SMB/CIFS url: https://github.com/danveitch76/hassio-addons/tree/master/sambanas @@ -17,9 +17,10 @@ hassio_api: true hassio_role: admin host_network: true map: - - config:rw + - homeassistant_config:rw + - addon_config:rw - ssl:rw - - addons:rw + - all_addon_configs:rw - share:rw - backup:rw - media:rw diff --git a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/finish b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/finish index 71f4122..adcb868 100755 --- a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/finish +++ b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/finish @@ -10,7 +10,7 @@ if [ -f /tmp/cifs_network ]; then available_shares=$(awk '/\[(.*)\]/{ DISK=substr($1,2,length($1)-2); next } /.*path =(.*)/{ printf "%s\n",DISK,$0 }' /etc/samba/smb.conf) while read -r -a device; do - [[ "share config addons ssl backup media" =~ $device ]] && continue + [[ "share config addons ssl backup media all_addon_configs homeassistant" =~ $device ]] && continue status=$(bashio::api.supervisor DELETE /mounts/${device}) bashio::log.info "Return from Umount ${status}" done <<<"${available_shares}" diff --git a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/run b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/run index 1aa4257..3c3e8e2 100755 --- a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/run +++ b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/cifs-supervisor-mount/run @@ -34,9 +34,10 @@ if [ -f /tmp/cifs_network ]; then bashio::log "Wait Samba Server to going up..(max 30s)" timeout 30 bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' ${ipaddress/\/*/} 445 - + smbstatus + while read -r -a device; do - [[ "share config addons ssl backup media" =~ $device ]] && continue + [[ ${device,,} == @(share|config|addons|ssl|backup|media|addon_config|all_addon_configs|homeassistant) ]] && continue usage=$(jq -r --arg xshare "$device" '.acl[] | select(.share==$xshare) | .usage // "media"' <<<"$(bashio::addon.config)") cmdshare=$(jq -nrc --arg usage "${usage:-media}" --arg share "$device" --arg ip "${ipaddress/\/*/}" --arg user "$username" --arg pwd "$password" '.name=$share|.usage=$usage|.type="cifs"|.server=$ip|.share=$share|.username=$user|.password=$pwd') #bashio::log.info "${cmdshare}" diff --git a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/init-automount/run b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/init-automount/run index 260593c..2902427 100755 --- a/sambanas/rootfs/etc/s6-overlay/s6-rc.d/init-automount/run +++ b/sambanas/rootfs/etc/s6-overlay/s6-rc.d/init-automount/run @@ -51,7 +51,7 @@ function reserved_mount_name () { # $1 cleanmountdisks reservedmoutdisks=() tomountdisks=() removed_reserved_names=false - reserved_names=(config addons ssl share backup media) + reserved_names=(config addons ssl share backup media all_addon_configs homeassistant) for disk in "${reserved_names[@]}"; do if [[ ${cleanmountdisks[@]} =~ $disk ]]; then cleanmountdisks=("${cleanmountdisks[@]/$disk}")