diff --git a/.VERSION b/.VERSION index ee80415..274570d 100644 --- a/.VERSION +++ b/.VERSION @@ -1 +1 @@ -v5.2.0 +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 67% rename from .github/workflows/build-debian-image-beta-node14.yml rename to .github/workflows/build-debian-image-beta-node16.yml index f0b1e8b..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,11 +12,11 @@ on: workflow_dispatch: jobs: - bulid-beta-node14-image: + bulid-beta-node16-image: 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' @@ -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: | @@ -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 @@ -65,52 +65,52 @@ jobs: username: ${{ secrets.PACKAGES_USER }} password: ${{ secrets.PACKAGES_PASS }} - - name: Build Docker image (node14-amd64) - uses: docker/build-push-action@v2.6.1 + - 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) - uses: docker/build-push-action@v2.6.1 + - 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) - uses: docker/build-push-action@v2.6.1 + - 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@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..f172eba 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' @@ -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: | @@ -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 @@ -66,10 +66,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -77,10 +77,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -88,10 +88,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | @@ -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-node16.yml similarity index 72% rename from .github/workflows/build-debian-image-dev-node14.yml rename to .github/workflows/build-debian-image-dev-node16.yml index 0d6c0ac..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,11 +8,11 @@ on: - dev jobs: - bulid-dev-node14-image: + bulid-dev-node16-image: 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' @@ -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: | @@ -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 @@ -61,48 +61,48 @@ jobs: username: ${{ secrets.PACKAGES_USER }} password: ${{ secrets.PACKAGES_PASS }} - - name: Build Docker image (node14-amd64) - uses: docker/build-push-action@v2.6.1 + - 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) - uses: docker/build-push-action@v2.6.1 + - 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) - uses: docker/build-push-action@v2.6.1 + - 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@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..dd1db9c 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' @@ -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: | @@ -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 @@ -62,10 +62,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -73,10 +73,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -84,10 +84,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | @@ -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..6e4ba53 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' @@ -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: | @@ -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 @@ -64,10 +64,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | @@ -75,10 +75,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | @@ -86,10 +86,10 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | @@ -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: | diff --git a/.github/workflows/build-debian-image-main_iob.yml b/.github/workflows/build-debian-image-main_iob.yml index ed4edba..496d835 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' @@ -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: | @@ -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 @@ -57,30 +57,30 @@ 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/amd64 tags: | 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm/v7 tags: | 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 + file: ./debian/node14/Dockerfile push: true platforms: linux/arm64/v8 tags: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 0112ef6..3bdf299 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,20 @@ ## 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 +### 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) + * 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 diff --git a/debian/node12/Dockerfile b/debian/node12/Dockerfile index ddceb6e..fe2edfd 100644 --- a/debian/node12/Dockerfile +++ b/debian/node12/Dockerfile @@ -14,39 +14,42 @@ 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 \ - # 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 +59,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 b/debian/node14/Dockerfile index f565b39..694bfb0 100644 --- a/debian/node14/Dockerfile +++ b/debian/node14/Dockerfile @@ -14,39 +14,42 @@ 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 \ - # 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 +59,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/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/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 d959a5b..e547cc9 100644 --- a/debian/scripts/setup_packages.sh +++ b/debian/scripts/setup_packages.sh @@ -3,9 +3,16 @@ 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 - sudo apt-get -qq -y install $i + 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" ] then @@ -16,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 diff --git a/src/README_docker_hub_buanet.md b/src/README_docker_hub_buanet.md index f62f20e..7f86964 100644 --- a/src/README_docker_hub_buanet.md +++ b/src/README_docker_hub_buanet.md @@ -24,13 +24,13 @@ # 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.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 +41,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 +54,7 @@ version: '2' services: iobroker: container_name: iobroker - image: iobroker/iobroker + image: buanet/iobroker hostname: iobroker restart: always ports: @@ -100,17 +100,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..626a7fc 100644 --- a/src/README_docker_hub_iobroker.md +++ b/src/README_docker_hub_iobroker.md @@ -23,13 +23,13 @@ # 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.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 +92,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.