diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f5225b..ad27078 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,6 @@ ## What's Changed -* Rewrite of camera by @matt8707 in https://github.com/matt8707/ha-fusion/pull/160 -* Update modal animations by @matt8707 in https://github.com/matt8707/ha-fusion/pull/164 -* Add 'map' modal api key notice by @matt8707 in https://github.com/matt8707/ha-fusion/pull/165 -* Add sidebar 'divider' empty option by @matt8707 in https://github.com/matt8707/ha-fusion/pull/166 -* Add 'camera' load animation by @matt8707 in https://github.com/matt8707/ha-fusion/pull/167 -* Add 'button' attribute-as-state option and color picker in modal by @matt8707 in https://github.com/matt8707/ha-fusion/pull/168 -* Add button 'image' modal support by @matt8707 in https://github.com/matt8707/ha-fusion/pull/169 -* Move language data to component by @matt8707 in https://github.com/matt8707/ha-fusion/pull/170 -* Update 'button' climate modal by @matt8707 in https://github.com/matt8707/ha-fusion/pull/172 +* Add armv7 build by @matt8707 in https://github.com/matt8707/ha-fusion/pull/187 +* Update button 'light' modal support, close #18 close #137 close #177 by @matt8707 in https://github.com/matt8707/ha-fusion/pull/188 -**Full Changelog**: https://github.com/matt8707/ha-fusion/compare/2024.1.3...2024.1.4 \ No newline at end of file +**Full Changelog**: https://github.com/matt8707/ha-fusion/compare/2024.1.4...2024.1.5 \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index e337bfd..411f0d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,32 +1,38 @@ +# ha base image ARG BUILD_FROM -FROM $BUILD_FROM -RUN \ - apk add --no-cache \ - nodejs-current \ - npm \ - git +# first stage, use node image to build for all archs +FROM node:21 AS builder +WORKDIR /app -# remote -RUN git clone https://github.com/matt8707/ha-fusion /rootfs -RUN rm -rf /rootfs/data/* -WORKDIR /rootfs +# clone, build and remove repo example data +RUN git clone --depth 1 https://github.com/matt8707/ha-fusion . && \ + npm install --verbose && \ + npm run build && \ + npm prune --production && \ + rm -rf ./data/* -# # local -# COPY rootfs / +# second stage +FROM $BUILD_FROM +WORKDIR /rootfs -RUN npm install --verbose -RUN npm run build --no-cache -RUN npm prune --omit=dev +# copy files to /rootfs +COPY --from=builder /app/build ./build +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/server.js . +COPY --from=builder /app/package.json . -RUN ln -s build/client/themes /themes -RUN ln -s /rootfs/data /data +# copy run +COPY run.sh / -ENV PORT 8099 -ENV NODE_ENV=production -ENV ADDON=true +# install node, symlink persistent data and chmod run +RUN apk add --no-cache nodejs-current && \ + ln -s /rootfs/data /data && \ + chmod a+x /run.sh -COPY run.sh / -RUN chmod a+x /run.sh +# set environment +ENV PORT=8099 \ + NODE_ENV=production \ + ADDON=true CMD [ "/run.sh" ] diff --git a/config.yaml b/config.yaml index 14efb86..b5a4e84 100755 --- a/config.yaml +++ b/config.yaml @@ -1,6 +1,5 @@ - name: Fusion -version: 2024.1.4 +version: 2024.1.5 slug: ha_fusion description: A modern, easy-to-use and performant custom Home Assistant dashboard url: https://github.com/matt8707/addon-ha-fusion @@ -8,6 +7,7 @@ init: false arch: - aarch64 - amd64 + - armv7 apparmor: true ingress: true ingress_stream: true