From 239bc4150624b8157380c6f424806dcd647ed5d0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 12:00:42 +0000 Subject: [PATCH 01/11] Bump actions/github-script from 3 to 5 Bumps [actions/github-script](https://github.com/actions/github-script) from 3 to 5. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v3...v5) --- updated-dependencies: - dependency-name: actions/github-script dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/build-debian-image-beta-node14.yml | 2 +- .github/workflows/build-debian-image-beta.yml | 2 +- .github/workflows/build-debian-image-dev-node14.yml | 2 +- .github/workflows/build-debian-image-dev.yml | 2 +- .github/workflows/build-debian-image-main.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-debian-image-beta-node14.yml b/.github/workflows/build-debian-image-beta-node14.yml index f0b1e8b..8e4fa57 100644 --- a/.github/workflows/build-debian-image-beta-node14.yml +++ b/.github/workflows/build-debian-image-beta-node14.yml @@ -110,7 +110,7 @@ jobs: ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_version-node14.yaml - name: Delete untagged images from GitHub packages - uses: actions/github-script@v3 + uses: actions/github-script@v5 with: github-token: ${{ secrets.PACKAGES_PASS }} script: | diff --git a/.github/workflows/build-debian-image-beta.yml b/.github/workflows/build-debian-image-beta.yml index b4c583c..9ac7bc2 100644 --- a/.github/workflows/build-debian-image-beta.yml +++ b/.github/workflows/build-debian-image-beta.yml @@ -110,7 +110,7 @@ jobs: ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_version.yaml - name: Delete untagged images from GitHub packages - uses: actions/github-script@v3 + uses: actions/github-script@v5 with: github-token: ${{ secrets.PACKAGES_PASS }} script: | diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index 0d6c0ac..a4d68cc 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -102,7 +102,7 @@ jobs: ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_dev-node14.yaml - name: Delete untagged images from GitHub packages - uses: actions/github-script@v3 + uses: actions/github-script@v5 with: github-token: ${{ secrets.PACKAGES_PASS }} script: | diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 929bbaa..ed087c5 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -102,7 +102,7 @@ jobs: ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_dev.yaml - name: Delete untagged images from GitHub packages - uses: actions/github-script@v3 + uses: actions/github-script@v5 with: github-token: ${{ secrets.PACKAGES_PASS }} script: | diff --git a/.github/workflows/build-debian-image-main.yml b/.github/workflows/build-debian-image-main.yml index 783059a..e2aebaa 100644 --- a/.github/workflows/build-debian-image-main.yml +++ b/.github/workflows/build-debian-image-main.yml @@ -112,7 +112,7 @@ jobs: ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_version.yaml - name: Delete untagged images from GitHub packages - uses: actions/github-script@v3 + uses: actions/github-script@v5 with: github-token: ${{ secrets.PACKAGES_PASS }} script: | From f4fd69aa3485a7a1e609736b8a013451d4859165 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 30 Sep 2021 12:00:47 +0000 Subject: [PATCH 02/11] Bump docker/setup-buildx-action from 1.5.1 to 1.6.0 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1.5.1 to 1.6.0. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v1.5.1...v1.6.0) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build-debian-image-beta-node14.yml | 2 +- .github/workflows/build-debian-image-beta.yml | 2 +- .github/workflows/build-debian-image-dev-node14.yml | 2 +- .github/workflows/build-debian-image-dev.yml | 2 +- .github/workflows/build-debian-image-main.yml | 2 +- .github/workflows/build-debian-image-main_iob.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-debian-image-beta-node14.yml b/.github/workflows/build-debian-image-beta-node14.yml index f0b1e8b..5bb6828 100644 --- a/.github/workflows/build-debian-image-beta-node14.yml +++ b/.github/workflows/build-debian-image-beta-node14.yml @@ -50,7 +50,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/build-debian-image-beta.yml b/.github/workflows/build-debian-image-beta.yml index b4c583c..ec9b817 100644 --- a/.github/workflows/build-debian-image-beta.yml +++ b/.github/workflows/build-debian-image-beta.yml @@ -50,7 +50,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index 0d6c0ac..c9e344e 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -46,7 +46,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 929bbaa..80183d3 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -46,7 +46,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/build-debian-image-main.yml b/.github/workflows/build-debian-image-main.yml index 783059a..9a12ac6 100644 --- a/.github/workflows/build-debian-image-main.yml +++ b/.github/workflows/build-debian-image-main.yml @@ -48,7 +48,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub (buanet) uses: docker/login-action@v1.10.0 diff --git a/.github/workflows/build-debian-image-main_iob.yml b/.github/workflows/build-debian-image-main_iob.yml index ed4edba..db2498a 100644 --- a/.github/workflows/build-debian-image-main_iob.yml +++ b/.github/workflows/build-debian-image-main_iob.yml @@ -48,7 +48,7 @@ jobs: - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@v1.5.1 + uses: docker/setup-buildx-action@v1.6.0 - name: Login to DockerHub (iobroker) uses: docker/login-action@v1.10.0 From daa31f2e5f51db90b9e29ad50d021aa5d85ce420 Mon Sep 17 00:00:00 2001 From: buanet Date: Sat, 2 Oct 2021 19:26:49 +0200 Subject: [PATCH 03/11] fixing multiarch --- .../build-debian-image-dev-node14.yml | 4 +- .github/workflows/build-debian-image-dev.yml | 4 +- debian/node12/Dockerfile_arm32v7 | 89 +++++++++++++++++++ debian/node12/Dockerfile_arm64v8 | 89 +++++++++++++++++++ debian/node14/Dockerfile_arm32v7 | 89 +++++++++++++++++++ debian/node14/Dockerfile_arm64v8 | 89 +++++++++++++++++++ 6 files changed, 360 insertions(+), 4 deletions(-) create mode 100644 debian/node12/Dockerfile_arm32v7 create mode 100644 debian/node12/Dockerfile_arm64v8 create mode 100644 debian/node14/Dockerfile_arm32v7 create mode 100644 debian/node14/Dockerfile_arm64v8 diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index 0d6c0ac..53fb171 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -76,7 +76,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node14/Dockerfile_arm32v7 push: true platforms: linux/arm/v7 tags: | @@ -87,7 +87,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node14/Dockerfile_arm64v8 push: true platforms: linux/arm64/v8 tags: | diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 929bbaa..d5b6dfc 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -76,7 +76,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node12/Dockerfile_arm32v7 push: true platforms: linux/arm/v7 tags: | @@ -87,7 +87,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node12/Dockerfile_arm64v8 push: true platforms: linux/arm64/v8 tags: | diff --git a/debian/node12/Dockerfile_arm32v7 b/debian/node12/Dockerfile_arm32v7 new file mode 100644 index 0000000..aed2833 --- /dev/null +++ b/debian/node12/Dockerfile_arm32v7 @@ -0,0 +1,89 @@ +FROM arm32v7/debian:bullseye-slim + +LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ + org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ + org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ + org.opencontainers.image.authors="André Germann " \ + org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.created="${DATI}" + +ENV DEBIAN_FRONTEND noninteractive + +# Install prerequisites (including node) and generating locales +RUN apt-get update && apt-get install -y \ + curl \ + gosu \ + jq \ + locales \ + procps \ + sudo \ + udev \ + wget \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen \ + # Install node + && curl -sL https://deb.nodesource.com/setup_12.x | bash \ + && apt-get update && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Create scripts directorys and copy scripts +RUN mkdir -p /opt/scripts/ \ + && mkdir -p /opt/userscripts/ \ + && chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ +WORKDIR /opt/scripts/ +COPY scripts/* ./ +RUN chmod +x *.sh +WORKDIR /opt/userscripts/ +COPY userscripts/* ./ +RUN chmod +x *.sh + +# Install ioBroker +WORKDIR / +RUN apt-get update \ + && curl -sL https://iobroker.net/install.sh | bash - \ + && mkdir -p /opt/scripts/.docker_config/ \ + && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ + && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ + && echo $(hostname) > /opt/.firstrun \ + # Deleting UUID from build + && iobroker unsetup -y \ + # Backup initial ioBroker and userscript folder + && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ + && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ + && rm -rf /var/lib/apt/lists/* + +# Setting up iobroker-user (shell, home dir and rights) +RUN chsh -s /bin/bash iobroker \ + && usermod --home /opt/iobroker iobroker \ + && usermod -u 1000 iobroker \ + && groupmod -g 1000 iobroker \ + && chown root:iobroker /usr/sbin/gosu \ + && chmod +s /usr/sbin/gosu + +# Setting up default ENVs +ENV DEBIAN_FRONTEND="teletype" \ + LANG="de_DE.UTF-8" \ + LANGUAGE="de_DE:de" \ + LC_ALL="de_DE.UTF-8" \ + SETGID=1000 \ + SETUID=1000 \ + TZ="Europe/Berlin" + +# Expose default admin ui port +EXPOSE 8081 + +# Change work dir +WORKDIR /opt/iobroker/ + +# Healthcheck +HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ + CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] + +# Run startup-script +ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node12/Dockerfile_arm64v8 b/debian/node12/Dockerfile_arm64v8 new file mode 100644 index 0000000..fa18f2b --- /dev/null +++ b/debian/node12/Dockerfile_arm64v8 @@ -0,0 +1,89 @@ +FROM arm64v8/debian:bullseye-slim + +LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ + org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ + org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ + org.opencontainers.image.authors="André Germann " \ + org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.created="${DATI}" + +ENV DEBIAN_FRONTEND noninteractive + +# Install prerequisites (including node) and generating locales +RUN apt-get update && apt-get install -y \ + curl \ + gosu \ + jq \ + locales \ + procps \ + sudo \ + udev \ + wget \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen \ + # Install node + && curl -sL https://deb.nodesource.com/setup_12.x | bash \ + && apt-get update && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Create scripts directorys and copy scripts +RUN mkdir -p /opt/scripts/ \ + && mkdir -p /opt/userscripts/ \ + && chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ +WORKDIR /opt/scripts/ +COPY scripts/* ./ +RUN chmod +x *.sh +WORKDIR /opt/userscripts/ +COPY userscripts/* ./ +RUN chmod +x *.sh + +# Install ioBroker +WORKDIR / +RUN apt-get update \ + && curl -sL https://iobroker.net/install.sh | bash - \ + && mkdir -p /opt/scripts/.docker_config/ \ + && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ + && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ + && echo $(hostname) > /opt/.firstrun \ + # Deleting UUID from build + && iobroker unsetup -y \ + # Backup initial ioBroker and userscript folder + && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ + && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ + && rm -rf /var/lib/apt/lists/* + +# Setting up iobroker-user (shell, home dir and rights) +RUN chsh -s /bin/bash iobroker \ + && usermod --home /opt/iobroker iobroker \ + && usermod -u 1000 iobroker \ + && groupmod -g 1000 iobroker \ + && chown root:iobroker /usr/sbin/gosu \ + && chmod +s /usr/sbin/gosu + +# Setting up default ENVs +ENV DEBIAN_FRONTEND="teletype" \ + LANG="de_DE.UTF-8" \ + LANGUAGE="de_DE:de" \ + LC_ALL="de_DE.UTF-8" \ + SETGID=1000 \ + SETUID=1000 \ + TZ="Europe/Berlin" + +# Expose default admin ui port +EXPOSE 8081 + +# Change work dir +WORKDIR /opt/iobroker/ + +# Healthcheck +HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ + CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] + +# Run startup-script +ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node14/Dockerfile_arm32v7 b/debian/node14/Dockerfile_arm32v7 new file mode 100644 index 0000000..36870d8 --- /dev/null +++ b/debian/node14/Dockerfile_arm32v7 @@ -0,0 +1,89 @@ +FROM arm32v7/debian:bullseye-slim + +LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ + org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ + org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ + org.opencontainers.image.authors="André Germann " \ + org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.created="${DATI}" + +ENV DEBIAN_FRONTEND noninteractive + +# Install prerequisites (including node) and generating locales +RUN apt-get update && apt-get install -y \ + curl \ + gosu \ + jq \ + locales \ + procps \ + sudo \ + udev \ + wget \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen \ + # Install node + && curl -sL https://deb.nodesource.com/setup_14.x | bash \ + && apt-get update && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Create scripts directorys and copy scripts +RUN mkdir -p /opt/scripts/ \ + && mkdir -p /opt/userscripts/ \ + && chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ +WORKDIR /opt/scripts/ +COPY scripts/* ./ +RUN chmod +x *.sh +WORKDIR /opt/userscripts/ +COPY userscripts/* ./ +RUN chmod +x *.sh + +# Install ioBroker +WORKDIR / +RUN apt-get update \ + && curl -sL https://iobroker.net/install.sh | bash - \ + && mkdir -p /opt/scripts/.docker_config/ \ + && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ + && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ + && echo $(hostname) > /opt/.firstrun \ + # Deleting UUID from build + && iobroker unsetup -y \ + # Backup initial ioBroker and userscript folder + && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ + && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ + && rm -rf /var/lib/apt/lists/* + +# Setting up iobroker-user (shell, home dir and rights) +RUN chsh -s /bin/bash iobroker \ + && usermod --home /opt/iobroker iobroker \ + && usermod -u 1000 iobroker \ + && groupmod -g 1000 iobroker \ + && chown root:iobroker /usr/sbin/gosu \ + && chmod +s /usr/sbin/gosu + +# Setting up default ENVs +ENV DEBIAN_FRONTEND="teletype" \ + LANG="de_DE.UTF-8" \ + LANGUAGE="de_DE:de" \ + LC_ALL="de_DE.UTF-8" \ + SETGID=1000 \ + SETUID=1000 \ + TZ="Europe/Berlin" + +# Expose default admin ui port +EXPOSE 8081 + +# Change work dir +WORKDIR /opt/iobroker/ + +# Healthcheck +HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ + CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] + +# Run startup-script +ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node14/Dockerfile_arm64v8 b/debian/node14/Dockerfile_arm64v8 new file mode 100644 index 0000000..0222472 --- /dev/null +++ b/debian/node14/Dockerfile_arm64v8 @@ -0,0 +1,89 @@ +FROM arm64v8/debian:bullseye-slim + +LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ + org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ + org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ + org.opencontainers.image.authors="André Germann " \ + org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.created="${DATI}" + +ENV DEBIAN_FRONTEND noninteractive + +# Install prerequisites (including node) and generating locales +RUN apt-get update && apt-get install -y \ + curl \ + gosu \ + jq \ + locales \ + procps \ + sudo \ + udev \ + wget \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen \ + # Install node + && curl -sL https://deb.nodesource.com/setup_14.x | bash \ + && apt-get update && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Create scripts directorys and copy scripts +RUN mkdir -p /opt/scripts/ \ + && mkdir -p /opt/userscripts/ \ + && chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ +WORKDIR /opt/scripts/ +COPY scripts/* ./ +RUN chmod +x *.sh +WORKDIR /opt/userscripts/ +COPY userscripts/* ./ +RUN chmod +x *.sh + +# Install ioBroker +WORKDIR / +RUN apt-get update \ + && curl -sL https://iobroker.net/install.sh | bash - \ + && mkdir -p /opt/scripts/.docker_config/ \ + && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ + && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ + && echo $(hostname) > /opt/.firstrun \ + # Deleting UUID from build + && iobroker unsetup -y \ + # Backup initial ioBroker and userscript folder + && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ + && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ + && rm -rf /var/lib/apt/lists/* + +# Setting up iobroker-user (shell, home dir and rights) +RUN chsh -s /bin/bash iobroker \ + && usermod --home /opt/iobroker iobroker \ + && usermod -u 1000 iobroker \ + && groupmod -g 1000 iobroker \ + && chown root:iobroker /usr/sbin/gosu \ + && chmod +s /usr/sbin/gosu + +# Setting up default ENVs +ENV DEBIAN_FRONTEND="teletype" \ + LANG="de_DE.UTF-8" \ + LANGUAGE="de_DE:de" \ + LC_ALL="de_DE.UTF-8" \ + SETGID=1000 \ + SETUID=1000 \ + TZ="Europe/Berlin" + +# Expose default admin ui port +EXPOSE 8081 + +# Change work dir +WORKDIR /opt/iobroker/ + +# Healthcheck +HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ + CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] + +# Run startup-script +ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] From 8fd93071138fee5aaf08864a8eb10b4cc202f092 Mon Sep 17 00:00:00 2001 From: buanet Date: Sun, 3 Oct 2021 00:24:38 +0200 Subject: [PATCH 04/11] testing --- .../build-debian-image-dev-node14.yml | 4 +- .github/workflows/build-debian-image-dev.yml | 4 +- debian/node12/Dockerfile | 55 +++++++----- debian/node12/Dockerfile_arm32v7 | 89 ------------------- debian/node12/Dockerfile_arm64v8 | 89 ------------------- debian/node14/Dockerfile | 55 +++++++----- debian/node14/Dockerfile_arm32v7 | 89 ------------------- debian/node14/Dockerfile_arm64v8 | 89 ------------------- 8 files changed, 66 insertions(+), 408 deletions(-) delete mode 100644 debian/node12/Dockerfile_arm32v7 delete mode 100644 debian/node12/Dockerfile_arm64v8 delete mode 100644 debian/node14/Dockerfile_arm32v7 delete mode 100644 debian/node14/Dockerfile_arm64v8 diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index 53fb171..0d6c0ac 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -76,7 +76,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node14/Dockerfile_arm32v7 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -87,7 +87,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node14/Dockerfile_arm64v8 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index d5b6dfc..929bbaa 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -76,7 +76,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node12/Dockerfile_arm32v7 + file: ./debian/node12/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -87,7 +87,7 @@ jobs: uses: docker/build-push-action@v2.6.1 with: context: ./debian - file: ./debian/node12/Dockerfile_arm64v8 + file: ./debian/node12/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/debian/node12/Dockerfile b/debian/node12/Dockerfile index ddceb6e..2b575d4 100644 --- a/debian/node12/Dockerfile +++ b/debian/node12/Dockerfile @@ -14,39 +14,41 @@ ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (including node) and generating locales RUN apt-get update && apt-get install -y \ + apt-utils \ + cifs-utils \ curl \ gosu \ jq \ locales \ + nfs-common \ procps \ + python3 \ + python3-dev \ sudo \ + tar \ + tzdata \ udev \ wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ # Install node && curl -sL https://deb.nodesource.com/setup_12.x | bash \ && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* + # Install node-gyp + && npm install -g node-gyp \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh +# Create directorys and copy scripts +COPY scripts /opt/scripts +COPY userscripts /opt/userscripts +RUN chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ \ + && chmod +x /opt/scripts/*.sh \ + && chmod +x /opt/userscripts/*.sh # Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ +RUN curl -sL https://iobroker.net/install.sh | bash - \ && mkdir -p /opt/scripts/.docker_config/ \ && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ @@ -56,15 +58,20 @@ RUN apt-get update \ # Backup initial ioBroker and userscript folder && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ + # Setting up iobroker-user (shell, home dir and rights) + && chsh -s /bin/bash iobroker \ && usermod --home /opt/iobroker iobroker \ && usermod -u 1000 iobroker \ && groupmod -g 1000 iobroker \ && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu + && chmod +s /usr/sbin/gosu \ + # Clean up installation cache + && apt-get autoclean -y \ + && apt-get autoremove \ + && apt-get clean \ + && rm -rf /tmp/* /var/tmp/* \ + && rm -rf /root/.cache/* /root/.npm/* \ + && rm -rf /var/lib/apt/lists/* # Setting up default ENVs ENV DEBIAN_FRONTEND="teletype" \ diff --git a/debian/node12/Dockerfile_arm32v7 b/debian/node12/Dockerfile_arm32v7 deleted file mode 100644 index aed2833..0000000 --- a/debian/node12/Dockerfile_arm32v7 +++ /dev/null @@ -1,89 +0,0 @@ -FROM arm32v7/debian:bullseye-slim - -LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ - org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ - org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ - org.opencontainers.image.authors="André Germann " \ - org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ - org.opencontainers.image.version="${VERSION}" \ - org.opencontainers.image.created="${DATI}" - -ENV DEBIAN_FRONTEND noninteractive - -# Install prerequisites (including node) and generating locales -RUN apt-get update && apt-get install -y \ - curl \ - gosu \ - jq \ - locales \ - procps \ - sudo \ - udev \ - wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ - # Install node - && curl -sL https://deb.nodesource.com/setup_12.x | bash \ - && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* - -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh - -# Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ - && mkdir -p /opt/scripts/.docker_config/ \ - && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ - && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ - && echo $(hostname) > /opt/.firstrun \ - # Deleting UUID from build - && iobroker unsetup -y \ - # Backup initial ioBroker and userscript folder - && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ - && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ - && usermod --home /opt/iobroker iobroker \ - && usermod -u 1000 iobroker \ - && groupmod -g 1000 iobroker \ - && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu - -# Setting up default ENVs -ENV DEBIAN_FRONTEND="teletype" \ - LANG="de_DE.UTF-8" \ - LANGUAGE="de_DE:de" \ - LC_ALL="de_DE.UTF-8" \ - SETGID=1000 \ - SETUID=1000 \ - TZ="Europe/Berlin" - -# Expose default admin ui port -EXPOSE 8081 - -# Change work dir -WORKDIR /opt/iobroker/ - -# Healthcheck -HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ - CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] - -# Run startup-script -ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node12/Dockerfile_arm64v8 b/debian/node12/Dockerfile_arm64v8 deleted file mode 100644 index fa18f2b..0000000 --- a/debian/node12/Dockerfile_arm64v8 +++ /dev/null @@ -1,89 +0,0 @@ -FROM arm64v8/debian:bullseye-slim - -LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ - org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ - org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ - org.opencontainers.image.authors="André Germann " \ - org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ - org.opencontainers.image.version="${VERSION}" \ - org.opencontainers.image.created="${DATI}" - -ENV DEBIAN_FRONTEND noninteractive - -# Install prerequisites (including node) and generating locales -RUN apt-get update && apt-get install -y \ - curl \ - gosu \ - jq \ - locales \ - procps \ - sudo \ - udev \ - wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ - # Install node - && curl -sL https://deb.nodesource.com/setup_12.x | bash \ - && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* - -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh - -# Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ - && mkdir -p /opt/scripts/.docker_config/ \ - && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ - && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ - && echo $(hostname) > /opt/.firstrun \ - # Deleting UUID from build - && iobroker unsetup -y \ - # Backup initial ioBroker and userscript folder - && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ - && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ - && usermod --home /opt/iobroker iobroker \ - && usermod -u 1000 iobroker \ - && groupmod -g 1000 iobroker \ - && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu - -# Setting up default ENVs -ENV DEBIAN_FRONTEND="teletype" \ - LANG="de_DE.UTF-8" \ - LANGUAGE="de_DE:de" \ - LC_ALL="de_DE.UTF-8" \ - SETGID=1000 \ - SETUID=1000 \ - TZ="Europe/Berlin" - -# Expose default admin ui port -EXPOSE 8081 - -# Change work dir -WORKDIR /opt/iobroker/ - -# Healthcheck -HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ - CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] - -# Run startup-script -ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node14/Dockerfile b/debian/node14/Dockerfile index f565b39..e528dd7 100644 --- a/debian/node14/Dockerfile +++ b/debian/node14/Dockerfile @@ -14,39 +14,41 @@ ENV DEBIAN_FRONTEND noninteractive # Install prerequisites (including node) and generating locales RUN apt-get update && apt-get install -y \ + apt-utils \ + cifs-utils \ curl \ gosu \ jq \ locales \ + nfs-common \ procps \ + python3 \ + python3-dev \ sudo \ + tar \ + tzdata \ udev \ wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ # Install node && curl -sL https://deb.nodesource.com/setup_14.x | bash \ && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* + # Install node-gyp + && npm install -g node-gyp \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh +# Create directorys and copy scripts +COPY scripts /opt/scripts +COPY userscripts /opt/userscripts +RUN chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ \ + && chmod +x /opt/scripts/*.sh \ + && chmod +x /opt/userscripts/*.sh # Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ +RUN curl -sL https://iobroker.net/install.sh | bash - \ && mkdir -p /opt/scripts/.docker_config/ \ && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ @@ -56,15 +58,20 @@ RUN apt-get update \ # Backup initial ioBroker and userscript folder && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ + # Setting up iobroker-user (shell, home dir and rights) + && chsh -s /bin/bash iobroker \ && usermod --home /opt/iobroker iobroker \ && usermod -u 1000 iobroker \ && groupmod -g 1000 iobroker \ && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu + && chmod +s /usr/sbin/gosu \ + # Clean up installation cache + && apt-get autoclean -y \ + && apt-get autoremove \ + && apt-get clean \ + && rm -rf /tmp/* /var/tmp/* \ + && rm -rf /root/.cache/* /root/.npm/* \ + && rm -rf /var/lib/apt/lists/* # Setting up default ENVs ENV DEBIAN_FRONTEND="teletype" \ diff --git a/debian/node14/Dockerfile_arm32v7 b/debian/node14/Dockerfile_arm32v7 deleted file mode 100644 index 36870d8..0000000 --- a/debian/node14/Dockerfile_arm32v7 +++ /dev/null @@ -1,89 +0,0 @@ -FROM arm32v7/debian:bullseye-slim - -LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ - org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ - org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ - org.opencontainers.image.authors="André Germann " \ - org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ - org.opencontainers.image.version="${VERSION}" \ - org.opencontainers.image.created="${DATI}" - -ENV DEBIAN_FRONTEND noninteractive - -# Install prerequisites (including node) and generating locales -RUN apt-get update && apt-get install -y \ - curl \ - gosu \ - jq \ - locales \ - procps \ - sudo \ - udev \ - wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ - # Install node - && curl -sL https://deb.nodesource.com/setup_14.x | bash \ - && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* - -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh - -# Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ - && mkdir -p /opt/scripts/.docker_config/ \ - && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ - && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ - && echo $(hostname) > /opt/.firstrun \ - # Deleting UUID from build - && iobroker unsetup -y \ - # Backup initial ioBroker and userscript folder - && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ - && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ - && usermod --home /opt/iobroker iobroker \ - && usermod -u 1000 iobroker \ - && groupmod -g 1000 iobroker \ - && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu - -# Setting up default ENVs -ENV DEBIAN_FRONTEND="teletype" \ - LANG="de_DE.UTF-8" \ - LANGUAGE="de_DE:de" \ - LC_ALL="de_DE.UTF-8" \ - SETGID=1000 \ - SETUID=1000 \ - TZ="Europe/Berlin" - -# Expose default admin ui port -EXPOSE 8081 - -# Change work dir -WORKDIR /opt/iobroker/ - -# Healthcheck -HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ - CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] - -# Run startup-script -ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/debian/node14/Dockerfile_arm64v8 b/debian/node14/Dockerfile_arm64v8 deleted file mode 100644 index 0222472..0000000 --- a/debian/node14/Dockerfile_arm64v8 +++ /dev/null @@ -1,89 +0,0 @@ -FROM arm64v8/debian:bullseye-slim - -LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ - org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ - org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ - org.opencontainers.image.authors="André Germann " \ - org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ - org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ - org.opencontainers.image.version="${VERSION}" \ - org.opencontainers.image.created="${DATI}" - -ENV DEBIAN_FRONTEND noninteractive - -# Install prerequisites (including node) and generating locales -RUN apt-get update && apt-get install -y \ - curl \ - gosu \ - jq \ - locales \ - procps \ - sudo \ - udev \ - wget \ - # Generating locales - && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ - && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ - && locale-gen \ - # Install node - && curl -sL https://deb.nodesource.com/setup_14.x | bash \ - && apt-get update && apt-get install -y nodejs \ - && rm -rf /var/lib/apt/lists/* - -# Create scripts directorys and copy scripts -RUN mkdir -p /opt/scripts/ \ - && mkdir -p /opt/userscripts/ \ - && chmod 777 /opt/scripts/ \ - && chmod 777 /opt/userscripts/ -WORKDIR /opt/scripts/ -COPY scripts/* ./ -RUN chmod +x *.sh -WORKDIR /opt/userscripts/ -COPY userscripts/* ./ -RUN chmod +x *.sh - -# Install ioBroker -WORKDIR / -RUN apt-get update \ - && curl -sL https://iobroker.net/install.sh | bash - \ - && mkdir -p /opt/scripts/.docker_config/ \ - && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ - && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ - && echo $(hostname) > /opt/.firstrun \ - # Deleting UUID from build - && iobroker unsetup -y \ - # Backup initial ioBroker and userscript folder - && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ - && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ - && rm -rf /var/lib/apt/lists/* - -# Setting up iobroker-user (shell, home dir and rights) -RUN chsh -s /bin/bash iobroker \ - && usermod --home /opt/iobroker iobroker \ - && usermod -u 1000 iobroker \ - && groupmod -g 1000 iobroker \ - && chown root:iobroker /usr/sbin/gosu \ - && chmod +s /usr/sbin/gosu - -# Setting up default ENVs -ENV DEBIAN_FRONTEND="teletype" \ - LANG="de_DE.UTF-8" \ - LANGUAGE="de_DE:de" \ - LC_ALL="de_DE.UTF-8" \ - SETGID=1000 \ - SETUID=1000 \ - TZ="Europe/Berlin" - -# Expose default admin ui port -EXPOSE 8081 - -# Change work dir -WORKDIR /opt/iobroker/ - -# Healthcheck -HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ - CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] - -# Run startup-script -ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] From 32ee0cf9928b15a6509f59ecf7673b1cccf24ebc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 2 Oct 2021 22:25:21 +0000 Subject: [PATCH 05/11] Bump docker/build-push-action from 2.6.1 to 2.7.0 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2.6.1 to 2.7.0. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2.6.1...v2.7.0) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build-debian-image-beta-node14.yml | 6 +++--- .github/workflows/build-debian-image-beta.yml | 6 +++--- .github/workflows/build-debian-image-dev-node14.yml | 6 +++--- .github/workflows/build-debian-image-dev.yml | 6 +++--- .github/workflows/build-debian-image-main.yml | 6 +++--- .github/workflows/build-debian-image-main_iob.yml | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build-debian-image-beta-node14.yml b/.github/workflows/build-debian-image-beta-node14.yml index f0b1e8b..cad6ce6 100644 --- a/.github/workflows/build-debian-image-beta-node14.yml +++ b/.github/workflows/build-debian-image-beta-node14.yml @@ -66,7 +66,7 @@ jobs: password: ${{ secrets.PACKAGES_PASS }} - name: Build Docker image (node14-amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile @@ -77,7 +77,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-node14-amd64 - name: Build Docker image (node14-arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile @@ -88,7 +88,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-node14-arm32v7 - name: Build Docker image (node14-arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile diff --git a/.github/workflows/build-debian-image-beta.yml b/.github/workflows/build-debian-image-beta.yml index b4c583c..dadf946 100644 --- a/.github/workflows/build-debian-image-beta.yml +++ b/.github/workflows/build-debian-image-beta.yml @@ -66,7 +66,7 @@ jobs: password: ${{ secrets.PACKAGES_PASS }} - name: Build Docker image (amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -77,7 +77,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-amd64 - name: Build Docker image (arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -88,7 +88,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-arm32v7 - name: Build Docker image (arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index 0d6c0ac..440b3dd 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -62,7 +62,7 @@ jobs: password: ${{ secrets.PACKAGES_PASS }} - name: Build Docker image (node14-amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile @@ -73,7 +73,7 @@ jobs: ghcr.io/buanet/iobroker:dev-node14-amd64 - name: Build Docker image (node14-arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile @@ -84,7 +84,7 @@ jobs: ghcr.io/buanet/iobroker:dev-node14-arm32v7 - name: Build Docker image (node14-arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node14/Dockerfile diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 929bbaa..bba0cdb 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -62,7 +62,7 @@ jobs: password: ${{ secrets.PACKAGES_PASS }} - name: Build Docker image (amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -73,7 +73,7 @@ jobs: ghcr.io/buanet/iobroker:dev-amd64 - name: Build Docker image (arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -84,7 +84,7 @@ jobs: ghcr.io/buanet/iobroker:dev-arm32v7 - name: Build Docker image (arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile diff --git a/.github/workflows/build-debian-image-main.yml b/.github/workflows/build-debian-image-main.yml index 783059a..474d0bc 100644 --- a/.github/workflows/build-debian-image-main.yml +++ b/.github/workflows/build-debian-image-main.yml @@ -64,7 +64,7 @@ jobs: password: ${{ secrets.PACKAGES_PASS }} - name: Build Docker image (amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -75,7 +75,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-amd64 - name: Build Docker image (arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -86,7 +86,7 @@ jobs: ghcr.io/buanet/iobroker:${{ env.version }}-arm32v7 - name: Build Docker image (arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile diff --git a/.github/workflows/build-debian-image-main_iob.yml b/.github/workflows/build-debian-image-main_iob.yml index ed4edba..998a4e2 100644 --- a/.github/workflows/build-debian-image-main_iob.yml +++ b/.github/workflows/build-debian-image-main_iob.yml @@ -57,7 +57,7 @@ jobs: password: ${{ secrets.DOCKER_PASS_IOB }} - name: Build Docker image (amd64) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -67,7 +67,7 @@ jobs: iobroker/iobroker:${{ env.version }}-amd64, - name: Build Docker image (arm32v7) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile @@ -77,7 +77,7 @@ jobs: iobroker/iobroker:${{ env.version }}-arm32v7, - name: Build Docker image (arm64v8) - uses: docker/build-push-action@v2.6.1 + uses: docker/build-push-action@v2.7.0 with: context: ./debian file: ./debian/node12/Dockerfile From 454a3b49222a6633d676b485604d27bd69d19632 Mon Sep 17 00:00:00 2001 From: buanet Date: Sun, 3 Oct 2021 13:18:08 +0200 Subject: [PATCH 06/11] testing --- .VERSION | 2 +- CHANGELOG.md | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.VERSION b/.VERSION index 7c01dfe..986ec85 100644 --- a/.VERSION +++ b/.VERSION @@ -1 +1 @@ -v5.2.0-beta4 \ No newline at end of file +v5.3.0-beta \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 0112ef6..43595e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,15 @@ ## Changelog -### v5.2.0-beta4 (2021-09-10) -* adding iobroker user rights for "gosu" -* adding more labels in OCI standard format -* fixing workdir bug -* adding backitup compatibility +### v5.3.0-beta (2021-10-03) +* adding packages for backitup +* reorganizing Dockerfile + +### v5.2.0 (2021-09-30) +* v5.2.0-beta4 (2021-09-10) + * adding iobroker user rights for "gosu" + * adding more labels in OCI standard format + * fixing workdir bug + * adding backitup compatibility * v5.2.0-beta3 (2021-09-04) * reducing layers in dockerfile * making hostname check mandatory for startup From 09bc8c0a0f4a3261239529a529521a930c32bb0b Mon Sep 17 00:00:00 2001 From: buanet Date: Tue, 5 Oct 2021 23:53:24 +0200 Subject: [PATCH 07/11] testing --- CHANGELOG.md | 2 ++ debian/node12/Dockerfile | 1 + debian/node14/Dockerfile | 1 + debian/scripts/setup_packages.sh | 5 ++++- 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43595e5..faaeef8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ ## Changelog ### v5.3.0-beta (2021-10-03) +* adding check for PACKAGES (#201) +* adding packages for discovery * adding packages for backitup * reorganizing Dockerfile diff --git a/debian/node12/Dockerfile b/debian/node12/Dockerfile index 2b575d4..fe2edfd 100644 --- a/debian/node12/Dockerfile +++ b/debian/node12/Dockerfile @@ -18,6 +18,7 @@ RUN apt-get update && apt-get install -y \ cifs-utils \ curl \ gosu \ + iputils-ping \ jq \ locales \ nfs-common \ diff --git a/debian/node14/Dockerfile b/debian/node14/Dockerfile index e528dd7..694bfb0 100644 --- a/debian/node14/Dockerfile +++ b/debian/node14/Dockerfile @@ -18,6 +18,7 @@ RUN apt-get update && apt-get install -y \ cifs-utils \ curl \ gosu \ + iputils-ping \ jq \ locales \ nfs-common \ diff --git a/debian/scripts/setup_packages.sh b/debian/scripts/setup_packages.sh index d959a5b..2b02eff 100644 --- a/debian/scripts/setup_packages.sh +++ b/debian/scripts/setup_packages.sh @@ -5,7 +5,10 @@ then apt-get -qq update packages=$(cat /opt/scripts/.packages) for i in $packages; do - sudo apt-get -qq -y install $i + if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; + then + sudo apt-get -qq -y install $i + fi done elif [ $1 == "-update" ] then From 860759fb7470c371bba7b5f5f185d6b7cd72a524 Mon Sep 17 00:00:00 2001 From: buanet Date: Thu, 7 Oct 2021 14:35:55 +0200 Subject: [PATCH 08/11] testing --- .VERSION | 2 +- CHANGELOG.md | 4 ++-- debian/scripts/iobroker_startup.sh | 4 ++-- debian/scripts/setup_packages.sh | 14 ++++++++++++-- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/.VERSION b/.VERSION index 986ec85..b13f2ca 100644 --- a/.VERSION +++ b/.VERSION @@ -1 +1 @@ -v5.3.0-beta \ No newline at end of file +v5.3.0-beta1 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index faaeef8..dbe0b8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ## Changelog -### v5.3.0-beta (2021-10-03) -* adding check for PACKAGES (#201) +### v5.3.0-beta1 (2021-10-07) +* adding check for PACKAGES on startup (#201) * adding packages for discovery * adding packages for backitup * reorganizing Dockerfile diff --git a/debian/scripts/iobroker_startup.sh b/debian/scripts/iobroker_startup.sh index 643eeb8..5a7fb41 100644 --- a/debian/scripts/iobroker_startup.sh +++ b/debian/scripts/iobroker_startup.sh @@ -92,8 +92,8 @@ then if [ "$packages" != "" ] then echo "Installing additional packages is set by ENV." - echo "The following packages will be installed:" $packages"..." - echo $packages > /opt/scripts/.packages + echo "Checking the following Packages:" $packages"..." + echo $packages > /opt/scripts/.docker_config/.packages bash /opt/scripts/setup_packages.sh -install echo "Done." echo ' ' diff --git a/debian/scripts/setup_packages.sh b/debian/scripts/setup_packages.sh index 2b02eff..e547cc9 100644 --- a/debian/scripts/setup_packages.sh +++ b/debian/scripts/setup_packages.sh @@ -3,11 +3,15 @@ if [ $1 == "-install" ] then apt-get -qq update - packages=$(cat /opt/scripts/.packages) + packages=$(cat /opt/scripts/.docker_config/.packages) for i in $packages; do if [ $(dpkg-query -W -f='${Status}' $i 2>/dev/null | grep -c "ok installed") -eq 0 ]; then + echo "$i is not installed. Installing..." sudo apt-get -qq -y install $i + echo "Done." + else + echo "$i is already installed." fi done elif [ $1 == "-update" ] @@ -19,7 +23,13 @@ else exit 1 fi +# Cleanup +apt-get autoclean -y +apt-get autoremove +apt-get clean +rm -rf /tmp/* /var/tmp/* +rm -rf /root/.cache/* rm -rf /var/lib/apt/lists/* -rm -f /opt/scripts/.packages +rm -f /opt/scripts/.docker_config/.packages exit 0 From 27f3142205925c9e5f2a19960134e1753a7c741a Mon Sep 17 00:00:00 2001 From: buanet Date: Tue, 19 Oct 2021 23:09:16 +0200 Subject: [PATCH 09/11] doku --- src/README_docker_hub_buanet.md | 19 ++++++++++--------- src/README_docker_hub_iobroker.md | 17 +++++++++-------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/README_docker_hub_buanet.md b/src/README_docker_hub_buanet.md index f62f20e..9db87a8 100644 --- a/src/README_docker_hub_buanet.md +++ b/src/README_docker_hub_buanet.md @@ -24,13 +24,14 @@ # Supported tags -* `v5.2.0`, `v5.2.0-amd64`, `v5.2.0-arm32v7`, `v5.2.0-arm64v8`, `latest-v5`, `latest` -* `v5.2.0-node14`, `v5.2.0-node14-amd64`, `v5.2.0-node14-arm32v7`, `v5.2.0-node14-arm64v8`, `latest-v5-node14`, `latest-node14` -* `v5.1.0`, `v5.2.0-amd64`, `v5.2.0-armv7hf`, `v5.2.0-aarch64` +* [`v5.2.0`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest-v5`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile) +* [`v5.2.0-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-v5-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile) +* [`v5.1.0`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/armv7hf/Dockerfile), [`v5.1.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/aarch64/Dockerfile) +* [`v5.0.0`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/armv7hf/Dockerfile), [`v5.0.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/aarch64/Dockerfile) # What is ioBroker? -IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome componets from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.
+IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome components from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.
All data is stored in a central database that all adapters can access. With this it is very easy to build up logical connections, automation scripts and beautiful visualisations.
For further details please check out [iobroker.net](https://www.iobroker.net). @@ -41,7 +42,7 @@ For further details please check out [iobroker.net](https://www.iobroker.net). For taking a first look at iobroker on docker it would be enough to simply run the following basic docker run command: ``` -docker run -p 8081:8081 --name iobroker -h iobroker iobroker/iobroker +docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker ``` ## Running with docker-compose @@ -54,7 +55,7 @@ version: '2' services: iobroker: container_name: iobroker - image: iobroker/iobroker + image: buanet/iobroker hostname: iobroker restart: always ports: @@ -100,17 +101,17 @@ You could use environment variables to auto configure your ioBroker container on * `LANG` (optional, default: de_DE.UTF‑8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8 * `LANGUAGE` (optional, default: de_DE:de) The following locales are pre-generated: de_DE:de, en_US:en * `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8 -* `PACKAGES` (optional) Installs additional linux packages to your container, packages should be seperated by whitespace like this: "package1 package2 package3". +* `PACKAGES` (optional) Installs additional linux packages to your container, packages should be separated by whitespace like this: "package1 package2 package3". * `SETGID` (optional, default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host * `SETUID` (optional, default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host -* `TZ` (optional, default: Europe/Berlin) Specifys the timeszone +* `TZ` (optional, default: Europe/Berlin) Specifies the time zone * `USBDEVICES` (optional) Sets relevant permissions on mounted devices like "/dev/ttyACM0". For more than one device separate with ";". ## Notes about Docker networks The examples above are dealing with the Docker default bridge network. In general there are [some reasons](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge) why it might be the better choice to use a user-defined bridge network. -Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you dont forget to redirect the ports your adapers use).
+Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you don't forget to redirect the ports your adapters use).
But some ioBroker adapters are using techniques like [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for automatic detection of IoT devices
In this case it may be useful to switch to [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) network. diff --git a/src/README_docker_hub_iobroker.md b/src/README_docker_hub_iobroker.md index 70b7b78..e2930a1 100644 --- a/src/README_docker_hub_iobroker.md +++ b/src/README_docker_hub_iobroker.md @@ -23,13 +23,14 @@ # Supported tags -* `v5.2.0`, `v5.2.0-amd64`, `v5.2.0-arm32v7`, `v5.2.0-arm64v8`, `latest-v5`, `latest` -* `v5.2.0-node14`, `v5.2.0-node14-amd64`, `v5.2.0-node14-arm32v7`, `v5.2.0-node14-arm64v8`, `latest-v5-node14`, `latest-node14` -* `v5.1.0`, `v5.2.0-amd64`, `v5.2.0-armv7hf`, `v5.2.0-aarch64` +* [`v5.2.0`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest-v5`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile) +* [`v5.2.0-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-v5-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile) +* [`v5.1.0`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/armv7hf/Dockerfile), [`v5.1.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/aarch64/Dockerfile) +* [`v5.0.0`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/armv7hf/Dockerfile), [`v5.0.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/aarch64/Dockerfile) # What is ioBroker? -IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome componets from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.
+IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome components from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.
All data is stored in a central database that all adapters can access. With this it is very easy to build up logical connections, automation scripts and beautiful visualisations.
For further details please check out [iobroker.net](https://www.iobroker.net). @@ -92,24 +93,24 @@ You could use environment variables to auto configure your ioBroker container on ### Activate special features: * `AVAHI` (optional, default: false) Installs and activates avahi-daemon for supporting yahka-adapter, can be "true" or "false" -* `AVAHI` (optional, default: false) Installs and activates avahi-daemon for supporting yahka-adapter, can be "true" or "false" +* `ZWAVE` (optional, default: false) Installs openzwave to support zwave-adapter, can be "true" or "false" ### Configure environment: * `LANG` (optional, default: de_DE.UTF‑8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8 * `LANGUAGE` (optional, default: de_DE:de) The following locales are pre-generated: de_DE:de, en_US:en * `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8 -* `PACKAGES` (optional) Installs additional linux packages to your container, packages should be seperated by whitespace like this: "package1 package2 package3". +* `PACKAGES` (optional) Installs additional linux packages to your container, packages should be separated by whitespace like this: "package1 package2 package3". * `SETGID` (optional, default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host * `SETUID` (optional, default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host -* `TZ` (optional, default: Europe/Berlin) Specifys the timeszone +* `TZ` (optional, default: Europe/Berlin) Specifies the time zone * `USBDEVICES` (optional) Sets relevant permissions on mounted devices like "/dev/ttyACM0". For more than one device separate with ";". ## Notes about Docker networks The examples above are dealing with the Docker default bridge network. In general there are [some reasons](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge) why it might be the better choice to use a user-defined bridge network. -Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you dont forget to redirect the ports your adapers use).
+Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you don't forget to redirect the ports your adapters use).
But some ioBroker adapters are using techniques like [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for automatic detection of IoT devices
In this case it may be useful to switch to [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) network. From ed7160f9feae456859141d69fd50a4e9d053c56a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 3 Nov 2021 09:19:13 +0000 Subject: [PATCH 10/11] Bump actions/checkout from 2.3.4 to 2.4.0 Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.4...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/build-debian-image-beta-node14.yml | 2 +- .github/workflows/build-debian-image-beta.yml | 2 +- .github/workflows/build-debian-image-dev-node14.yml | 2 +- .github/workflows/build-debian-image-dev.yml | 2 +- .github/workflows/build-debian-image-main.yml | 2 +- .github/workflows/build-debian-image-main_iob.yml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-debian-image-beta-node14.yml b/.github/workflows/build-debian-image-beta-node14.yml index 08e80e2..2301672 100644 --- a/.github/workflows/build-debian-image-beta-node14.yml +++ b/.github/workflows/build-debian-image-beta-node14.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (beta) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'beta' diff --git a/.github/workflows/build-debian-image-beta.yml b/.github/workflows/build-debian-image-beta.yml index 1a20b48..239cb6b 100644 --- a/.github/workflows/build-debian-image-beta.yml +++ b/.github/workflows/build-debian-image-beta.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (beta) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'beta' diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node14.yml index cb3c58a..d116c16 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node14.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (dev) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'dev' diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 2f6411c..90a7de9 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (dev) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'dev' diff --git a/.github/workflows/build-debian-image-main.yml b/.github/workflows/build-debian-image-main.yml index 0290755..bcf9852 100644 --- a/.github/workflows/build-debian-image-main.yml +++ b/.github/workflows/build-debian-image-main.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (main) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'main' diff --git a/.github/workflows/build-debian-image-main_iob.yml b/.github/workflows/build-debian-image-main_iob.yml index 1b35470..9cfcc0d 100644 --- a/.github/workflows/build-debian-image-main_iob.yml +++ b/.github/workflows/build-debian-image-main_iob.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repo (main) - uses: actions/checkout@v2.3.4 + uses: actions/checkout@v2.4.0 with: repository: 'buanet/ioBroker.docker' ref: 'main' From 08cb2d6094f333e6bf157b6165e0eaa7a20002fe Mon Sep 17 00:00:00 2001 From: buanet Date: Mon, 22 Nov 2021 12:44:30 +0100 Subject: [PATCH 11/11] preparing node version switch --- .VERSION | 2 +- ...yml => build-debian-image-beta-node16.yml} | 48 ++++----- .github/workflows/build-debian-image-beta.yml | 10 +- ....yml => build-debian-image-dev-node16.yml} | 40 ++++---- .github/workflows/build-debian-image-dev.yml | 10 +- .github/workflows/build-debian-image-main.yml | 10 +- .../workflows/build-debian-image-main_iob.yml | 10 +- CHANGELOG.md | 13 ++- debian/node16/Dockerfile | 97 +++++++++++++++++++ src/README_docker_hub_buanet.md | 1 - src/README_docker_hub_iobroker.md | 1 - 11 files changed, 170 insertions(+), 72 deletions(-) rename .github/workflows/{build-debian-image-beta-node14.yml => build-debian-image-beta-node16.yml} (72%) rename .github/workflows/{build-debian-image-dev-node14.yml => build-debian-image-dev-node16.yml} (77%) create mode 100644 debian/node16/Dockerfile diff --git a/.VERSION b/.VERSION index b13f2ca..274570d 100644 --- a/.VERSION +++ b/.VERSION @@ -1 +1 @@ -v5.3.0-beta1 \ No newline at end of file +v6.0.0-beta \ No newline at end of file diff --git a/.github/workflows/build-debian-image-beta-node14.yml b/.github/workflows/build-debian-image-beta-node16.yml similarity index 72% rename from .github/workflows/build-debian-image-beta-node14.yml rename to .github/workflows/build-debian-image-beta-node16.yml index 2301672..6936c86 100644 --- a/.github/workflows/build-debian-image-beta-node14.yml +++ b/.github/workflows/build-debian-image-beta-node16.yml @@ -1,5 +1,5 @@ # Github action to build Docker image from beta branch (tag: beta) -name: Build debian based image (beta-node14) +name: Build debian based image (beta-node16) on: pull_request: @@ -12,7 +12,7 @@ on: workflow_dispatch: jobs: - bulid-beta-node14-image: + bulid-beta-node16-image: runs-on: ubuntu-latest steps: - name: Checkout repo (beta) @@ -37,8 +37,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp - mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile + sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node16/Dockerfile > ./debian/node16/Dockerfile.tmp + mv -f ./debian/node16/Dockerfile.tmp ./debian/node16/Dockerfile - name: Set up manifest tool run: | @@ -65,49 +65,49 @@ jobs: username: ${{ secrets.PACKAGES_USER }} password: ${{ secrets.PACKAGES_PASS }} - - name: Build Docker image (node14-amd64) + - name: Build Docker image (node16-amd64) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/amd64 tags: | - buanet/iobroker:${{ env.version }}-node14-amd64, - ghcr.io/buanet/iobroker:${{ env.version }}-node14-amd64 + buanet/iobroker:${{ env.version }}-node16-amd64, + ghcr.io/buanet/iobroker:${{ env.version }}-node16-amd64 - - name: Build Docker image (node14-arm32v7) + - name: Build Docker image (node16-arm32v7) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/arm/v7 tags: | - buanet/iobroker:${{ env.version }}-node14-arm32v7, - ghcr.io/buanet/iobroker:${{ env.version }}-node14-arm32v7 + buanet/iobroker:${{ env.version }}-node16-arm32v7, + ghcr.io/buanet/iobroker:${{ env.version }}-node16-arm32v7 - - name: Build Docker image (node14-arm64v8) + - name: Build Docker image (node16-arm64v8) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/arm64/v8 tags: | - buanet/iobroker:${{ env.version }}-node14-arm64v8, - ghcr.io/buanet/iobroker:${{ env.version }}-node14-arm64v8 + buanet/iobroker:${{ env.version }}-node16-arm64v8, + ghcr.io/buanet/iobroker:${{ env.version }}-node16-arm64v8 - name: Create and push manifests run: | - sed -e "s/\${VERSION}/${{ env.version }}-node14/g" -e "s/\${DOCKERTAG}/beta-node14/g" ./manifest.yml > manifest_beta-node14.yaml - ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_beta-node14.yaml - sed -e "s/\${VERSION}/${{ env.version }}-node14/g" -e "s/\${DOCKERTAG}/beta-node14/g" ./manifest_ghcr.yml > manifest_ghcr_beta-node14.yaml - ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_beta-node14.yaml - sed -e "s/\${VERSION}/${{ env.version }}-node14/g" -e "s/\${DOCKERTAG}/${{ env.version }}-node14/g" ./manifest.yml > manifest_version-node14.yaml - ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_version-node14.yaml - sed -e "s/\${VERSION}/${{ env.version }}-node14/g" -e "s/\${DOCKERTAG}/${{ env.version }}-node14/g" ./manifest_ghcr.yml > manifest_ghcr_version-node14.yaml - ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_version-node14.yaml + sed -e "s/\${VERSION}/${{ env.version }}-node16/g" -e "s/\${DOCKERTAG}/beta-node16/g" ./manifest.yml > manifest_beta-node16.yaml + ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_beta-node16.yaml + sed -e "s/\${VERSION}/${{ env.version }}-node16/g" -e "s/\${DOCKERTAG}/beta-node16/g" ./manifest_ghcr.yml > manifest_ghcr_beta-node16.yaml + ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_beta-node16.yaml + sed -e "s/\${VERSION}/${{ env.version }}-node16/g" -e "s/\${DOCKERTAG}/${{ env.version }}-node16/g" ./manifest.yml > manifest_version-node16.yaml + ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_version-node16.yaml + sed -e "s/\${VERSION}/${{ env.version }}-node16/g" -e "s/\${DOCKERTAG}/${{ env.version }}-node16/g" ./manifest_ghcr.yml > manifest_ghcr_version-node16.yaml + ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_version-node16.yaml - name: Delete untagged images from GitHub packages uses: actions/github-script@v5 diff --git a/.github/workflows/build-debian-image-beta.yml b/.github/workflows/build-debian-image-beta.yml index 239cb6b..f172eba 100644 --- a/.github/workflows/build-debian-image-beta.yml +++ b/.github/workflows/build-debian-image-beta.yml @@ -37,8 +37,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node12/Dockerfile > ./debian/node12/Dockerfile.tmp - mv -f ./debian/node12/Dockerfile.tmp ./debian/node12/Dockerfile + sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp + mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile - name: Set up manifest tool run: | @@ -69,7 +69,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -80,7 +80,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -91,7 +91,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/.github/workflows/build-debian-image-dev-node14.yml b/.github/workflows/build-debian-image-dev-node16.yml similarity index 77% rename from .github/workflows/build-debian-image-dev-node14.yml rename to .github/workflows/build-debian-image-dev-node16.yml index d116c16..eed6df8 100644 --- a/.github/workflows/build-debian-image-dev-node14.yml +++ b/.github/workflows/build-debian-image-dev-node16.yml @@ -1,5 +1,5 @@ # Github action to build Docker image from dev branch (tag: dev) -name: Build debian based image (dev-node14) +name: Build debian based image (dev-node16) on: workflow_dispatch: @@ -8,7 +8,7 @@ on: - dev jobs: - bulid-dev-node14-image: + bulid-dev-node16-image: runs-on: ubuntu-latest steps: - name: Checkout repo (dev) @@ -33,8 +33,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp - mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile + sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" ./debian/node16/Dockerfile > ./debian/node16/Dockerfile.tmp + mv -f ./debian/node16/Dockerfile.tmp ./debian/node16/Dockerfile - name: Set up manifest tool run: | @@ -61,45 +61,45 @@ jobs: username: ${{ secrets.PACKAGES_USER }} password: ${{ secrets.PACKAGES_PASS }} - - name: Build Docker image (node14-amd64) + - name: Build Docker image (node16-amd64) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/amd64 tags: | - buanet/iobroker:dev-node14-amd64, - ghcr.io/buanet/iobroker:dev-node14-amd64 + buanet/iobroker:dev-node16-amd64, + ghcr.io/buanet/iobroker:dev-node16-amd64 - - name: Build Docker image (node14-arm32v7) + - name: Build Docker image (node16-arm32v7) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/arm/v7 tags: | - buanet/iobroker:dev-node14-arm32v7, - ghcr.io/buanet/iobroker:dev-node14-arm32v7 + buanet/iobroker:dev-node16-arm32v7, + ghcr.io/buanet/iobroker:dev-node16-arm32v7 - - name: Build Docker image (node14-arm64v8) + - name: Build Docker image (node16-arm64v8) uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node14/Dockerfile + file: ./debian/node16/Dockerfile push: true platforms: linux/arm64/v8 tags: | - buanet/iobroker:dev-node14-arm64v8, - ghcr.io/buanet/iobroker:dev-node14-arm64v8 + buanet/iobroker:dev-node16-arm64v8, + ghcr.io/buanet/iobroker:dev-node16-arm64v8 - name: Create and push manifests run: | - sed -e "s/\${VERSION}/dev-node14/g" -e "s/\${DOCKERTAG}/dev-node14/g" ./manifest.yml > manifest_dev-node14.yaml - ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_dev-node14.yaml - sed -e "s/\${VERSION}/dev-node14/g" -e "s/\${DOCKERTAG}/dev-node14/g" ./manifest_ghcr.yml > manifest_ghcr_dev-node14.yaml - ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_dev-node14.yaml + sed -e "s/\${VERSION}/dev-node16/g" -e "s/\${DOCKERTAG}/dev-node16/g" ./manifest.yml > manifest_dev-node16.yaml + ./manifest-tool --username ${{ secrets.DOCKER_USER }} --password ${{ secrets.DOCKER_PASS }} push from-spec manifest_dev-node16.yaml + sed -e "s/\${VERSION}/dev-node16/g" -e "s/\${DOCKERTAG}/dev-node16/g" ./manifest_ghcr.yml > manifest_ghcr_dev-node16.yaml + ./manifest-tool --username ${{ secrets.PACKAGES_USER }} --password ${{ secrets.PACKAGES_PASS }} push from-spec manifest_ghcr_dev-node16.yaml - name: Delete untagged images from GitHub packages uses: actions/github-script@v5 diff --git a/.github/workflows/build-debian-image-dev.yml b/.github/workflows/build-debian-image-dev.yml index 90a7de9..dd1db9c 100644 --- a/.github/workflows/build-debian-image-dev.yml +++ b/.github/workflows/build-debian-image-dev.yml @@ -33,8 +33,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" ./debian/node12/Dockerfile > ./debian/node12/Dockerfile.tmp - mv -f ./debian/node12/Dockerfile.tmp ./debian/node12/Dockerfile + sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp + mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile - name: Set up manifest tool run: | @@ -65,7 +65,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -76,7 +76,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -87,7 +87,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/.github/workflows/build-debian-image-main.yml b/.github/workflows/build-debian-image-main.yml index bcf9852..6e4ba53 100644 --- a/.github/workflows/build-debian-image-main.yml +++ b/.github/workflows/build-debian-image-main.yml @@ -35,8 +35,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node12/Dockerfile > ./debian/node12/Dockerfile.tmp - mv -f ./debian/node12/Dockerfile.tmp ./debian/node12/Dockerfile + sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp + mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile - name: Set up manifest tool run: | @@ -67,7 +67,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -78,7 +78,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -89,7 +89,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/.github/workflows/build-debian-image-main_iob.yml b/.github/workflows/build-debian-image-main_iob.yml index 9cfcc0d..496d835 100644 --- a/.github/workflows/build-debian-image-main_iob.yml +++ b/.github/workflows/build-debian-image-main_iob.yml @@ -35,8 +35,8 @@ jobs: sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh # amd64 - sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node12/Dockerfile > ./debian/node12/Dockerfile.tmp - mv -f ./debian/node12/Dockerfile.tmp ./debian/node12/Dockerfile + sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node14/Dockerfile > ./debian/node14/Dockerfile.tmp + mv -f ./debian/node14/Dockerfile.tmp ./debian/node14/Dockerfile - name: Set up manifest tool run: | @@ -60,7 +60,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -70,7 +70,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -80,7 +80,7 @@ jobs: uses: docker/build-push-action@v2.7.0 with: context: ./debian - file: ./debian/node12/Dockerfile + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/CHANGELOG.md b/CHANGELOG.md index dbe0b8f..3bdf299 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ ## Changelog -### v5.3.0-beta1 (2021-10-07) -* adding check for PACKAGES on startup (#201) -* adding packages for discovery -* adding packages for backitup -* reorganizing Dockerfile +### v6.0.0-beta1 (2021-10-07) +* upgrading node version to recommended v14 +* adding beta-node16 tag for betatest +* v5.3.0-beta1 (2021-10-07) + * adding check for PACKAGES on startup (#201) + * adding packages for discovery + * adding packages for backitup + * reorganizing Dockerfile ### v5.2.0 (2021-09-30) * v5.2.0-beta4 (2021-09-10) diff --git a/debian/node16/Dockerfile b/debian/node16/Dockerfile new file mode 100644 index 0000000..94505e1 --- /dev/null +++ b/debian/node16/Dockerfile @@ -0,0 +1,97 @@ +FROM debian:bullseye-slim + +LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \ + org.opencontainers.image.description="Officical Docker image for ioBroker smarthome software (https://www.iobroker.net)" \ + org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \ + org.opencontainers.image.authors="André Germann " \ + org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.source="https://github.com/buanet/ioBroker.docker" \ + org.opencontainers.image.base.name="docker.io/library/debian:bullseye-slim" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.created="${DATI}" + +ENV DEBIAN_FRONTEND noninteractive + +# Install prerequisites (including node) and generating locales +RUN apt-get update && apt-get install -y \ + apt-utils \ + cifs-utils \ + curl \ + gosu \ + iputils-ping \ + jq \ + locales \ + nfs-common \ + procps \ + python3 \ + python3-dev \ + sudo \ + tar \ + tzdata \ + udev \ + wget \ + # Install node + && curl -sL https://deb.nodesource.com/setup_16.x | bash \ + && apt-get update && apt-get install -y nodejs \ + # Install node-gyp + && npm install -g node-gyp \ + # Generating locales + && sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \ + && sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \ + && locale-gen + +# Create directorys and copy scripts +COPY scripts /opt/scripts +COPY userscripts /opt/userscripts +RUN chmod 777 /opt/scripts/ \ + && chmod 777 /opt/userscripts/ \ + && chmod +x /opt/scripts/*.sh \ + && chmod +x /opt/userscripts/*.sh + +# Install ioBroker +RUN curl -sL https://iobroker.net/install.sh | bash - \ + && mkdir -p /opt/scripts/.docker_config/ \ + && echo "starting" > /opt/scripts/.docker_config/.healthcheck \ + && echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \ + && echo $(hostname) > /opt/.firstrun \ + # Deleting UUID from build + && iobroker unsetup -y \ + # Backup initial ioBroker and userscript folder + && tar -cf /opt/initial_iobroker.tar /opt/iobroker \ + && tar -cf /opt/initial_userscripts.tar /opt/userscripts \ + # Setting up iobroker-user (shell, home dir and rights) + && chsh -s /bin/bash iobroker \ + && usermod --home /opt/iobroker iobroker \ + && usermod -u 1000 iobroker \ + && groupmod -g 1000 iobroker \ + && chown root:iobroker /usr/sbin/gosu \ + && chmod +s /usr/sbin/gosu \ + # Clean up installation cache + && apt-get autoclean -y \ + && apt-get autoremove \ + && apt-get clean \ + && rm -rf /tmp/* /var/tmp/* \ + && rm -rf /root/.cache/* /root/.npm/* \ + && rm -rf /var/lib/apt/lists/* + +# Setting up default ENVs +ENV DEBIAN_FRONTEND="teletype" \ + LANG="de_DE.UTF-8" \ + LANGUAGE="de_DE:de" \ + LC_ALL="de_DE.UTF-8" \ + SETGID=1000 \ + SETUID=1000 \ + TZ="Europe/Berlin" + +# Expose default admin ui port +EXPOSE 8081 + +# Change work dir +WORKDIR /opt/iobroker/ + +# Healthcheck +HEALTHCHECK --interval=15s --timeout=5s --retries=5 \ + CMD ["/bin/bash", "-c", "/opt/scripts/healthcheck.sh"] + +# Run startup-script +ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"] diff --git a/src/README_docker_hub_buanet.md b/src/README_docker_hub_buanet.md index 9db87a8..7f86964 100644 --- a/src/README_docker_hub_buanet.md +++ b/src/README_docker_hub_buanet.md @@ -25,7 +25,6 @@ # Supported tags * [`v5.2.0`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest-v5`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile) -* [`v5.2.0-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-v5-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile) * [`v5.1.0`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/armv7hf/Dockerfile), [`v5.1.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/aarch64/Dockerfile) * [`v5.0.0`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/armv7hf/Dockerfile), [`v5.0.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/aarch64/Dockerfile) diff --git a/src/README_docker_hub_iobroker.md b/src/README_docker_hub_iobroker.md index e2930a1..626a7fc 100644 --- a/src/README_docker_hub_iobroker.md +++ b/src/README_docker_hub_iobroker.md @@ -24,7 +24,6 @@ # Supported tags * [`v5.2.0`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`v5.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest-v5`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node12/Dockerfile) -* [`v5.2.0-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`v5.2.0-node14-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-v5-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile), [`latest-node14`](https://github.com/buanet/ioBroker.docker/blob/v5.2.0/debian/node14/Dockerfile) * [`v5.1.0`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/amd64/Dockerfile), [`v5.1.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/armv7hf/Dockerfile), [`v5.1.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.1.0/aarch64/Dockerfile) * [`v5.0.0`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/amd64/Dockerfile), [`v5.0.0-armv7hf`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/armv7hf/Dockerfile), [`v5.0.0-aarch64`](https://github.com/buanet/ioBroker.docker/blob/v5.0.0/aarch64/Dockerfile)