mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-17 18:39:01 +02:00
Compare commits
66 Commits
v8.0.0-bet
...
v8.1.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fe9c10771 | ||
|
|
3d83c7fa21 | ||
|
|
f225536852 | ||
|
|
18b0f863bd | ||
|
|
ff6535a896 | ||
|
|
3543b10c90 | ||
|
|
b3870bdcb7 | ||
|
|
9f016f5363 | ||
|
|
800e95a5c2 | ||
|
|
0f3b59fe98 | ||
|
|
8f7f9656d8 | ||
|
|
7e291f98ea | ||
|
|
a46e29fac1 | ||
|
|
8294f8cf51 | ||
|
|
5c7dfb3d3c | ||
|
|
721c108742 | ||
|
|
7a455952dd | ||
|
|
a04f210190 | ||
|
|
0f59839695 | ||
|
|
4f15a4df23 | ||
|
|
686b391119 | ||
|
|
d5a6596070 | ||
|
|
7af5507f11 | ||
|
|
2e767eab3d | ||
|
|
97c5e4993d | ||
|
|
568bfab015 | ||
|
|
551dc98282 | ||
|
|
8c9279b867 | ||
|
|
065d0cb4df | ||
|
|
acad72922e | ||
|
|
8fe4d775f5 | ||
|
|
e283d25710 | ||
|
|
f60c87388c | ||
|
|
893908f29d | ||
|
|
16e30c392d | ||
|
|
a954b51223 | ||
|
|
6a55923669 | ||
|
|
bbac132f28 | ||
|
|
9afa6646c2 | ||
|
|
874b6d8af0 | ||
|
|
d126eb190b | ||
|
|
3a745f97bc | ||
|
|
c79d4a9fde | ||
|
|
9e8f8bfd1e | ||
|
|
f56a523e55 | ||
|
|
96d97f5b35 | ||
|
|
954557f28c | ||
|
|
e332bc0e41 | ||
|
|
1b1249eb46 | ||
|
|
d1ef726594 | ||
|
|
d907c34d6a | ||
|
|
3e2589fae9 | ||
|
|
6ddb84333f | ||
|
|
61d655b9e6 | ||
|
|
be18293a5b | ||
|
|
454287d078 | ||
|
|
619de2abc2 | ||
|
|
d160acfd1a | ||
|
|
5419ae2bf1 | ||
|
|
4a68f645f4 | ||
|
|
04805e9ce1 | ||
|
|
8ee1753ea0 | ||
|
|
c7da4e131d | ||
|
|
b4ee2b2a12 | ||
|
|
a369647e13 | ||
|
|
632c7cd87e |
2
.github/dependencies/.backitup-version
vendored
2
.github/dependencies/.backitup-version
vendored
@@ -1 +1 @@
|
|||||||
2.5.12
|
2.6.23
|
||||||
|
|||||||
@@ -39,37 +39,42 @@ jobs:
|
|||||||
mv -f ./debian/node20/Dockerfile.tmp ./debian/node20/Dockerfile
|
mv -f ./debian/node20/Dockerfile.tmp ./debian/node20/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
- name: Build Docker image (node20)
|
- name: Build Docker image (node20)
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node20/Dockerfile
|
file: ./debian/node20/Dockerfile
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm/v7
|
||||||
|
linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
buanet/iobroker:beta-node20,
|
buanet/iobroker:beta-node20,
|
||||||
buanet/iobroker:${{ env.version }}-node20,
|
buanet/iobroker:${{ env.version }}-node20,
|
||||||
ghcr.io/buanet/iobroker:beta-node20,
|
ghcr.io/buanet/iobroker:beta-node20,
|
||||||
ghcr.io/buanet/iobroker:${{ env.version }}-node20
|
ghcr.io/buanet/iobroker:${{ env.version }}-node20
|
||||||
|
provenance: false
|
||||||
|
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Official Docker image for ioBroker smarthome software (https://www.iobroker.net)
|
||||||
|
|
||||||
- name: Delete untagged images from GitHub packages
|
- name: Delete untagged images from GitHub packages
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6
|
||||||
|
|||||||
17
.github/workflows/build-debian-image-beta.yml
vendored
17
.github/workflows/build-debian-image-beta.yml
vendored
@@ -39,37 +39,42 @@ jobs:
|
|||||||
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node18/Dockerfile
|
file: ./debian/node18/Dockerfile
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm/v7
|
||||||
|
linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
buanet/iobroker:beta,
|
buanet/iobroker:beta,
|
||||||
buanet/iobroker:${{ env.version }},
|
buanet/iobroker:${{ env.version }},
|
||||||
ghcr.io/buanet/iobroker:beta,
|
ghcr.io/buanet/iobroker:beta,
|
||||||
ghcr.io/buanet/iobroker:${{ env.version }}
|
ghcr.io/buanet/iobroker:${{ env.version }}
|
||||||
|
provenance: false
|
||||||
|
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Official Docker image for ioBroker smarthome software (https://www.iobroker.net)
|
||||||
|
|
||||||
- name: Delete untagged images from GitHub packages
|
- name: Delete untagged images from GitHub packages
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3.5.0
|
||||||
with:
|
with:
|
||||||
repository: 'buanet/ioBroker.docker'
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
- name: Fetching version tag and date
|
- name: Fetch version tag and date
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
VERSION="$(cat .VERSION)"
|
VERSION="$(cat .VERSION)"
|
||||||
@@ -33,38 +33,43 @@ jobs:
|
|||||||
mv -f ./debian/node20/Dockerfile.tmp ./debian/node20/Dockerfile
|
mv -f ./debian/node20/Dockerfile.tmp ./debian/node20/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
- name: Build Docker image (node20)
|
- name: Build Docker image (node20)
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node20/Dockerfile
|
file: ./debian/node20/Dockerfile
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm/v7
|
||||||
|
linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
buanet/iobroker:dev-node20,
|
buanet/iobroker:dev-node20,
|
||||||
ghcr.io/buanet/iobroker:dev-node20
|
ghcr.io/buanet/iobroker:dev-node20
|
||||||
|
provenance: false
|
||||||
|
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Official Docker image for ioBroker smarthome software (https://www.iobroker.net)
|
||||||
|
|
||||||
- name: Delete untagged images from GitHub packages
|
- name: Delete untagged images from GitHub Container Registry
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6.4.1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.PACKAGES_PASS }}
|
github-token: ${{ secrets.PACKAGES_PASS }}
|
||||||
script: |
|
script: |
|
||||||
@@ -81,4 +86,4 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
OWNER: buanet
|
OWNER: buanet
|
||||||
PACKAGE_NAME: iobroker
|
PACKAGE_NAME: iobroker
|
||||||
PER_PAGE: 100
|
PER_PAGE: 100
|
||||||
|
|||||||
29
.github/workflows/build-debian-image-dev.yml
vendored
29
.github/workflows/build-debian-image-dev.yml
vendored
@@ -9,11 +9,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3.5.0
|
||||||
with:
|
with:
|
||||||
repository: 'buanet/ioBroker.docker'
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
- name: Fetching version tag and date
|
- name: Fetch version tag and date
|
||||||
id: version
|
id: version
|
||||||
run: |
|
run: |
|
||||||
VERSION="$(cat .VERSION)"
|
VERSION="$(cat .VERSION)"
|
||||||
@@ -33,38 +33,43 @@ jobs:
|
|||||||
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub
|
- name: Login to DockerHub
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build and push Docker image
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node18/Dockerfile
|
file: ./debian/node18/Dockerfile
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: |
|
||||||
|
linux/amd64
|
||||||
|
linux/arm/v7
|
||||||
|
linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
buanet/iobroker:dev,
|
buanet/iobroker:dev,
|
||||||
ghcr.io/buanet/iobroker:dev
|
ghcr.io/buanet/iobroker:dev
|
||||||
|
provenance: false
|
||||||
|
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Official Docker image for ioBroker smarthome software (https://www.iobroker.net)
|
||||||
|
|
||||||
- name: Delete untagged images from GitHub packages
|
- name: Delete untagged images from GitHub Container Registry
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6.4.1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.PACKAGES_PASS }}
|
github-token: ${{ secrets.PACKAGES_PASS }}
|
||||||
script: |
|
script: |
|
||||||
@@ -81,4 +86,4 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
OWNER: buanet
|
OWNER: buanet
|
||||||
PACKAGE_NAME: iobroker
|
PACKAGE_NAME: iobroker
|
||||||
PER_PAGE: 100
|
PER_PAGE: 100
|
||||||
|
|||||||
@@ -38,27 +38,27 @@ jobs:
|
|||||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp
|
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
|
mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh
|
||||||
# amd64
|
# amd64
|
||||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node16/Dockerfile > ./debian/node16/Dockerfile.tmp
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node18/Dockerfile > ./debian/node18/Dockerfile.tmp
|
||||||
mv -f ./debian/node16/Dockerfile.tmp ./debian/node16/Dockerfile
|
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub (iobroker)
|
- name: Login to DockerHub (iobroker)
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER_IOB }}
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
password: ${{ secrets.DOCKER_PASS_IOB }}
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node16/Dockerfile
|
file: ./debian/node18/Dockerfile
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
|
|||||||
18
.github/workflows/build-debian-image-latest.yml
vendored
18
.github/workflows/build-debian-image-latest.yml
vendored
@@ -38,34 +38,34 @@ jobs:
|
|||||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian/scripts/iobroker_startup.sh > ./debian/scripts/iobroker_startup.tmp
|
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
|
mv -f ./debian/scripts/iobroker_startup.tmp ./debian/scripts/iobroker_startup.sh
|
||||||
# amd64
|
# amd64
|
||||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node16/Dockerfile > ./debian/node16/Dockerfile.tmp
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" ./debian/node18/Dockerfile > ./debian/node18/Dockerfile.tmp
|
||||||
mv -f ./debian/node16/Dockerfile.tmp ./debian/node16/Dockerfile
|
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2.1.0
|
uses: docker/setup-qemu-action@v2.2.0
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
id: buildx
|
id: buildx
|
||||||
uses: docker/setup-buildx-action@v2.4.1
|
uses: docker/setup-buildx-action@v2.8.0
|
||||||
|
|
||||||
- name: Login to DockerHub (buanet)
|
- name: Login to DockerHub (buanet)
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
uses: docker/login-action@v2.1.0
|
uses: docker/login-action@v2.2.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
- name: Build Docker image
|
- name: Build Docker image
|
||||||
uses: docker/build-push-action@v4.0.0
|
uses: docker/build-push-action@v4.1.1
|
||||||
with:
|
with:
|
||||||
context: ./debian
|
context: ./debian
|
||||||
file: ./debian/node16/Dockerfile
|
file: ./debian/node18/Dockerfile
|
||||||
|
#provenance: false
|
||||||
push: true
|
push: true
|
||||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
||||||
tags: |
|
tags: |
|
||||||
|
|||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.vscode/
|
||||||
5
.vscode/settings.json
vendored
5
.vscode/settings.json
vendored
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"cSpell.enableFiletypes": [
|
|
||||||
"shellscript"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
47
CHANGELOG.md
47
CHANGELOG.md
@@ -1,16 +1,39 @@
|
|||||||
## Changelog
|
## Changelog
|
||||||
### v8.0.0-beta.1 (20.02.2023)
|
|
||||||
* upgrade node version to recommended node18
|
### v8.1.0-beta.3 (05.07.2023)
|
||||||
* rewrite of multihost setup handling
|
* fix permission issue for restart container as iobroker user
|
||||||
* rewrite of custom objects and states db setup handling
|
* fix issue with js-controller ui upgrade
|
||||||
* enhance initial packages install/ update
|
* fix small issues in maintenance script
|
||||||
* enhance logging and error handling
|
* update action workflows
|
||||||
* add volume instruction to dockerfile
|
* v8.1.0-beta.2 (26.04.2023)
|
||||||
* add support for password protected custom objects and states db ([#306](https://github.com/buanet/ioBroker.docker/issues/306))
|
* prohibit restore when startup script is still running
|
||||||
* add support for redis sentinel ([#311](https://github.com/buanet/ioBroker.docker/issues/311))
|
* extend time before restart after restore is done
|
||||||
* add restore command to maintenance script
|
* influx data repo will be added automatically when PACKAGES contains influxdb or influxdb2-cli package
|
||||||
* add database connection check at startup
|
* v8.1.0-beta.1 (14.04.2023)
|
||||||
* remove initial restore feature
|
* enhance github actions
|
||||||
|
* enhance log output of maintenance script on restore ([#333](https://github.com/buanet/ioBroker.docker/issues/333))
|
||||||
|
* allow iobroker admin to be disabled at startup ([#332](https://github.com/buanet/ioBroker.docker/issues/332))
|
||||||
|
* allow deletion of objects and states db password with value "none" ([#306](https://github.com/buanet/ioBroker.docker/issues/306))
|
||||||
|
|
||||||
|
### v8.0.1 (17.04.2023)
|
||||||
|
* fix calling of "iob setup first" on slaves ([#335](https://github.com/buanet/ioBroker.docker/issues/335))
|
||||||
|
|
||||||
|
### v8.0.0 (20.03.2023)
|
||||||
|
* update readme and docs
|
||||||
|
* remove manifests
|
||||||
|
* enhance dockerfile, reduce image size ([#323](https://github.com/buanet/ioBroker.docker/issues/323))
|
||||||
|
* v8.0.0-beta.1 (20.02.2023)
|
||||||
|
* upgrade node version to recommended node18
|
||||||
|
* rewrite of multihost setup handling
|
||||||
|
* rewrite of custom objects and states db setup handling
|
||||||
|
* enhance initial packages install/ update
|
||||||
|
* enhance logging and error handling
|
||||||
|
* add volume instruction to dockerfile
|
||||||
|
* add support for password protected custom objects and states db ([#306](https://github.com/buanet/ioBroker.docker/issues/306))
|
||||||
|
* add support for redis sentinel ([#311](https://github.com/buanet/ioBroker.docker/issues/311))
|
||||||
|
* add restore command to maintenance script
|
||||||
|
* add database connection check at startup
|
||||||
|
* remove initial restore feature
|
||||||
|
|
||||||
### v7.2.0 (12.12.2022)
|
### v7.2.0 (12.12.2022)
|
||||||
* update docs
|
* update docs
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -3,18 +3,19 @@
|
|||||||
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
||||||
|
|
||||||
[](https://github.com/buanet/ioBroker.docker/releases)
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
[](https://github.com/buanet/ioBroker.docker/releases)
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
||||||
[](https://github.com/buanet/ioBroker.docker/issues)
|
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
[](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
|
||||||
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
|
||||||
[](https://github.com/buanet/ioBroker.docker)
|
[](https://github.com/buanet/ioBroker.docker)
|
||||||
[](https://github.com/buanet/ioBroker.docker/network)
|
[](https://github.com/buanet/ioBroker.docker/network)
|
||||||
[](https://github.com/buanet/ioBroker.docker/stargazers)
|
[](https://github.com/buanet/ioBroker.docker/stargazers)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
||||||
[](https://paypal.me/buanet)
|
[](https://paypal.me/buanet)
|
||||||
|
|
||||||
The code provided in this repo is used to automatically generate the official Docker Image for ioBroker.
|
The code provided in this repo is used to automatically generate the official Docker Image for ioBroker.
|
||||||
@@ -35,7 +36,7 @@ You can find some basic information about the image amd how to run it on the [Do
|
|||||||
|
|
||||||
### Is there a more detailed documentation?
|
### Is there a more detailed documentation?
|
||||||
|
|
||||||
You can find a detailed documentation of the image on the new [docs page](https://docs.buanet.de/iobroker-docker-image/docs/).
|
You can find a detailed documentation of the image at [docs.buanet.de](https://docs.buanet.de/iobroker-docker-image/docs/).
|
||||||
|
|
||||||
### Where can I pull the image?
|
### Where can I pull the image?
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ If you have any questions or need help please visit the ioBroker community:
|
|||||||
* [ioBroker forum](https://forum.iobroker.net/)
|
* [ioBroker forum](https://forum.iobroker.net/)
|
||||||
* [Discord channel](https://discord.gg/Ne3y6fUac3)
|
* [Discord channel](https://discord.gg/Ne3y6fUac3)
|
||||||
* [Facebook group](https://www.facebook.com/groups/440499112958264/)
|
* [Facebook group](https://www.facebook.com/groups/440499112958264/)
|
||||||
|
* [Telegram channel](https://t.me/+Xfjuou6-LztkOTBi)
|
||||||
|
|
||||||
### How to report an issue or request a feature?
|
### How to report an issue or request a feature?
|
||||||
|
|
||||||
@@ -66,7 +68,7 @@ If you want to get the newest features and changes feel free to use/ test the be
|
|||||||
|
|
||||||
The easiest way to support this project is to leave me some likes/ stars on Github and Docker hub!<br>
|
The easiest way to support this project is to leave me some likes/ stars on Github and Docker hub!<br>
|
||||||
If you want to give something back to the community, feel free to take a look into the [open issues](https://github.com/buanet/ioBroker.docker/issues) or the [ioBroker forum thread](http://forum.iobroker.net/viewtopic.php?f=17&t=5089) and help me answering questions, fixing bugs or adding new features!<br>
|
If you want to give something back to the community, feel free to take a look into the [open issues](https://github.com/buanet/ioBroker.docker/issues) or the [ioBroker forum thread](http://forum.iobroker.net/viewtopic.php?f=17&t=5089) and help me answering questions, fixing bugs or adding new features!<br>
|
||||||
If that doesn't work for you and you want to buy me a beer instead, you can do this here: <a href="https://www.paypal.me/buanet" target="_blank"><img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/pp_logo.png" height="15" width="15"></a><br>
|
If that doesn't work for you and you want to buy me a pizza instead, you can do this here: <a href="https://www.paypal.me/buanet" target="_blank"><img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/pp_logo.png" height="15" width="15"></a><br>
|
||||||
Thank you!
|
Thank you!
|
||||||
|
|
||||||
## :memo: Changelog
|
## :memo: Changelog
|
||||||
|
|||||||
26
debian/node18/Dockerfile
vendored
26
debian/node18/Dockerfile
vendored
@@ -1,7 +1,7 @@
|
|||||||
FROM debian:bullseye-slim
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
|
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.description="Official Docker image for ioBroker smarthome software (https://www.iobroker.net)" \
|
||||||
org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \
|
org.opencontainers.image.documentation="https://github.com/buanet/ioBroker.docker#readme" \
|
||||||
org.opencontainers.image.authors="André Germann <info@buanet.de>" \
|
org.opencontainers.image.authors="André Germann <info@buanet.de>" \
|
||||||
org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \
|
org.opencontainers.image.url="https://github.com/buanet/ioBroker.docker" \
|
||||||
@@ -12,6 +12,10 @@ LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
|
|||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
# Copy scripts
|
||||||
|
COPY scripts /opt/scripts
|
||||||
|
COPY userscripts /opt/userscripts
|
||||||
|
|
||||||
# Install prerequisites (including node) and generating locales
|
# Install prerequisites (including node) and generating locales
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
apt-utils \
|
apt-utils \
|
||||||
@@ -38,26 +42,22 @@ RUN apt-get update && apt-get install -y \
|
|||||||
# Generating locales
|
# Generating locales
|
||||||
&& sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \
|
&& sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \
|
||||||
&& sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
|
&& sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
|
||||||
&& locale-gen
|
&& locale-gen \
|
||||||
|
# Change permissions for scripts
|
||||||
# Create directorys and copy scripts
|
&& chmod 777 /opt/scripts/ \
|
||||||
COPY scripts /opt/scripts
|
|
||||||
COPY userscripts /opt/userscripts
|
|
||||||
RUN chmod 777 /opt/scripts/ \
|
|
||||||
&& chmod 777 /opt/userscripts/ \
|
&& chmod 777 /opt/userscripts/ \
|
||||||
&& chmod +x /opt/scripts/*.sh \
|
&& chmod +x /opt/scripts/*.sh \
|
||||||
&& chmod +x /opt/userscripts/*.sh
|
&& chmod +x /opt/userscripts/*.sh \
|
||||||
|
# Prepare
|
||||||
# Prepare and install ioBroker
|
&& mkdir -p /opt/scripts/.docker_config/ \
|
||||||
RUN mkdir -p /opt/scripts/.docker_config/ \
|
|
||||||
&& echo "starting" > /opt/scripts/.docker_config/.healthcheck \
|
&& echo "starting" > /opt/scripts/.docker_config/.healthcheck \
|
||||||
&& echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \
|
&& echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \
|
||||||
&& echo "ture" > /opt/.first_run \
|
&& echo "true" > /opt/.first_run \
|
||||||
# Run installer
|
# Run installer
|
||||||
&& curl -sL https://iobroker.net/install.sh | bash - \
|
&& curl -sL https://iobroker.net/install.sh | bash - \
|
||||||
# Deleting UUID from build
|
# Deleting UUID from build
|
||||||
&& iobroker unsetup -y \
|
&& iobroker unsetup -y \
|
||||||
&& echo "ture" > /opt/iobroker/.fresh_install \
|
&& echo "true" > /opt/iobroker/.fresh_install \
|
||||||
# Backup initial ioBroker and userscript folder
|
# Backup initial ioBroker and userscript folder
|
||||||
&& tar -cf /opt/initial_iobroker.tar /opt/iobroker \
|
&& tar -cf /opt/initial_iobroker.tar /opt/iobroker \
|
||||||
&& tar -cf /opt/initial_userscripts.tar /opt/userscripts \
|
&& tar -cf /opt/initial_userscripts.tar /opt/userscripts \
|
||||||
|
|||||||
102
debian/node20/Dockerfile
vendored
Normal file
102
debian/node20/Dockerfile
vendored
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
FROM debian:bullseye-slim
|
||||||
|
|
||||||
|
LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
|
||||||
|
org.opencontainers.image.description="Official 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 <info@buanet.de>" \
|
||||||
|
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
|
||||||
|
|
||||||
|
# Copy scripts
|
||||||
|
COPY scripts /opt/scripts
|
||||||
|
COPY userscripts /opt/userscripts
|
||||||
|
|
||||||
|
# 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_20.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 \
|
||||||
|
# Change permissions for scripts
|
||||||
|
&& chmod 777 /opt/scripts/ \
|
||||||
|
&& chmod 777 /opt/userscripts/ \
|
||||||
|
&& chmod +x /opt/scripts/*.sh \
|
||||||
|
&& chmod +x /opt/userscripts/*.sh \
|
||||||
|
# Prepare
|
||||||
|
&& mkdir -p /opt/scripts/.docker_config/ \
|
||||||
|
&& echo "starting" > /opt/scripts/.docker_config/.healthcheck \
|
||||||
|
&& echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \
|
||||||
|
&& echo "true" > /opt/.first_run \
|
||||||
|
# Run installer
|
||||||
|
&& curl -sL https://iobroker.net/install.sh | bash - \
|
||||||
|
# Deleting UUID from build
|
||||||
|
&& iobroker unsetup -y \
|
||||||
|
&& echo "true" > /opt/iobroker/.fresh_install \
|
||||||
|
# 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"]
|
||||||
|
|
||||||
|
# Volumes for persistent data
|
||||||
|
VOLUME ["/opt/iobroker"]
|
||||||
|
|
||||||
|
# Run startup-script
|
||||||
|
ENTRYPOINT ["/bin/bash", "-c", "/opt/scripts/iobroker_startup.sh"]
|
||||||
25
debian/scripts/iobroker_startup.sh
vendored
25
debian/scripts/iobroker_startup.sh
vendored
@@ -143,9 +143,10 @@ if [[ -f /opt/.first_run ]]; then
|
|||||||
echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation."
|
echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation."
|
||||||
elif [[ "$packages" != "" ]]; then
|
elif [[ "$packages" != "" ]]; then
|
||||||
echo "PACKAGES is set. Installing the following additional Linux packages: ""$packages"
|
echo "PACKAGES is set. Installing the following additional Linux packages: ""$packages"
|
||||||
echo "$packages" > /opt/scripts/.docker_config/.packages
|
# echo "$packages" > /opt/scripts/.docker_config/.packages
|
||||||
bash /opt/scripts/setup_packages.sh -install
|
bash /opt/scripts/setup_packages.sh -install
|
||||||
fi
|
fi
|
||||||
|
echo ' '
|
||||||
# Register maintenance script
|
# Register maintenance script
|
||||||
echo -n 'Registering maintenance script as command... '
|
echo -n 'Registering maintenance script as command... '
|
||||||
echo "alias maintenance=\'/opt/scripts/maintenance.sh\'" >> /root/.bashrc
|
echo "alias maintenance=\'/opt/scripts/maintenance.sh\'" >> /root/.bashrc
|
||||||
@@ -302,8 +303,8 @@ else
|
|||||||
stop_on_error
|
stop_on_error
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if restored a fresh install, runing "iob setup first" for database init, otherwise check database connection
|
# if restored a fresh install, running "iob setup first" for database init (but not on slaves!), otherwise check database connection
|
||||||
if [[ -f /opt/iobroker/.fresh_install ]]; then
|
if [[ -f /opt/iobroker/.fresh_install && "$multihost" != "slave" ]]; then
|
||||||
echo -n "Initializing a fresh installation of ioBroker... "
|
echo -n "Initializing a fresh installation of ioBroker... "
|
||||||
set +e
|
set +e
|
||||||
bash iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1
|
bash iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1
|
||||||
@@ -352,10 +353,20 @@ else
|
|||||||
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
|
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
|
||||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
|
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
|
||||||
else
|
else
|
||||||
echo "There was a problem detecting the admin instance of your iobroker."
|
set +e
|
||||||
echo "Make sure the ioBroker installation you use has an admin instance or try again with a fresh installation and restore your configuration."
|
admininstance=$(bash iobroker list instances | grep 'disabled' | grep -m 1 -o 'system.adapter.admin..')
|
||||||
echo "For more details see https://docs.buanet.de/iobroker-docker-image/docs/#restore"
|
set -e
|
||||||
stop_on_error
|
if [[ "$admininstance" != "" ]]; then
|
||||||
|
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is disabled."; fi
|
||||||
|
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi
|
||||||
|
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
|
||||||
|
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
|
||||||
|
else
|
||||||
|
echo "There was a problem detecting the admin instance of your iobroker."
|
||||||
|
echo "Make sure the ioBroker installation you use has an admin instance or try again with a fresh installation and restore your configuration."
|
||||||
|
echo "For more details see https://docs.buanet.de/iobroker-docker-image/docs/#restore"
|
||||||
|
stop_on_error
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
# check hostname
|
# check hostname
|
||||||
if [[ "$adminhostname" != "" && "$adminhostname" != "$(hostname)" ]]; then
|
if [[ "$adminhostname" != "" && "$adminhostname" != "$(hostname)" ]]; then
|
||||||
|
|||||||
124
debian/scripts/maintenance.sh
vendored
124
debian/scripts/maintenance.sh
vendored
@@ -38,6 +38,11 @@ maintenance_enabled() {
|
|||||||
[[ -f "$healthcheck" && "$(cat "$healthcheck")" == maintenance ]]
|
[[ -f "$healthcheck" && "$(cat "$healthcheck")" == maintenance ]]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check status starting
|
||||||
|
check_starting() {
|
||||||
|
[[ -f "$healthcheck" && "$(cat "$healthcheck")" == starting ]]
|
||||||
|
}
|
||||||
|
|
||||||
# display maintenance status
|
# display maintenance status
|
||||||
maintenance_status() {
|
maintenance_status() {
|
||||||
if maintenance_enabled; then
|
if maintenance_enabled; then
|
||||||
@@ -54,40 +59,24 @@ enable_maintenance() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$killbyname" == yes ]]; then
|
|
||||||
# undocumented option, only for use with backitup restore scripts
|
|
||||||
# stops iobroker by terminating js-controller process by name (the old way)
|
|
||||||
echo 'This command will activate maintenance mode and stop js-controller.'
|
|
||||||
echo 'Activating maintenance mode...'
|
|
||||||
echo 'maintenance' > "$healthcheck"
|
|
||||||
sleep 1
|
|
||||||
echo 'Done.'
|
|
||||||
echo -n 'Stopping ioBroker...'
|
|
||||||
pkill -u iobroker -f iobroker.js-controller
|
|
||||||
sleep 5
|
|
||||||
echo 'Done.'
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo 'You are now going to stop ioBroker and activate maintenance mode for this container.'
|
echo 'You are now going to stop ioBroker and activate maintenance mode for this container.'
|
||||||
|
|
||||||
if [[ "$autoconfirm" != yes ]]; then
|
if [[ "$killbyname" != yes ]]; then
|
||||||
local reply
|
if [[ "$autoconfirm" != yes ]]; then
|
||||||
|
local reply
|
||||||
|
|
||||||
read -rp 'Do you want to continue [yes/no]? ' reply
|
read -rp 'Do you want to continue [yes/no]? ' reply
|
||||||
if [[ "$reply" == y || "$reply" == Y || "$reply" == yes ]]; then
|
if [[ "$reply" == y || "$reply" == Y || "$reply" == yes ]]; then
|
||||||
: # continue
|
: # continue
|
||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo 'This command was already confirmed by the -y or --yes option.'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'Activating maintenance mode...'
|
echo 'Activating maintenance mode...'
|
||||||
echo 'maintenance' > "$healthcheck"
|
echo 'maintenance' > "$healthcheck"
|
||||||
sleep 1
|
sleep 1
|
||||||
echo 'Done.'
|
|
||||||
echo -n 'Stopping ioBroker...'
|
echo -n 'Stopping ioBroker...'
|
||||||
stop_iob
|
stop_iob
|
||||||
}
|
}
|
||||||
@@ -111,13 +100,11 @@ disable_maintenance() {
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo 'This command was already confirmed by the -y or --yes option.'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo 'Deactivating maintenance mode and forcing container to stop or restart...'
|
echo 'Deactivating maintenance mode and forcing container to stop or restart...'
|
||||||
echo 'stopping' > "$healthcheck"
|
echo 'stopping' > "$healthcheck"
|
||||||
pkill -u root
|
gosu root pkill -u root
|
||||||
echo 'Done.'
|
echo 'Done.'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,8 +124,6 @@ upgrade_jscontroller() {
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo 'This command was already confirmed by the -y or --yes option.'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! maintenance_enabled > /dev/null; then
|
if ! maintenance_enabled > /dev/null; then
|
||||||
@@ -156,7 +141,7 @@ upgrade_jscontroller() {
|
|||||||
echo 'Container will be stopped or restarted in 5 seconds...'
|
echo 'Container will be stopped or restarted in 5 seconds...'
|
||||||
sleep 5
|
sleep 5
|
||||||
echo 'stopping' > "$healthcheck"
|
echo 'stopping' > "$healthcheck"
|
||||||
pkill -u root
|
gosu root pkill -u root
|
||||||
}
|
}
|
||||||
|
|
||||||
# stop iobroker and wait until all processes stopped or pkill_timeout is reached
|
# stop iobroker and wait until all processes stopped or pkill_timeout is reached
|
||||||
@@ -164,29 +149,37 @@ stop_iob() {
|
|||||||
local status timeout
|
local status timeout
|
||||||
|
|
||||||
timeout="$(date --date="now + $pkill_timeout sec" +%s)"
|
timeout="$(date --date="now + $pkill_timeout sec" +%s)"
|
||||||
pkill -u iobroker -f iobroker.js-controller
|
pkill -u iobroker -f 'iobroker.js-controller[^/]*$'
|
||||||
status=$?
|
status=$?
|
||||||
if (( status >= 2 )); then # syntax error or fatal error
|
if (( status >= 2 )); then # syntax error or fatal error
|
||||||
|
echo 'fatal error' #for logging
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if (( status == 1 )); then # no processes matched
|
if (( status == 1 )); then # no processes matched
|
||||||
|
echo 'no process matched' #for logging
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# pgrep exits with status 1 when there are no matches
|
if [[ "$killbyname" != yes ]]; then
|
||||||
while pgrep -u iobroker > /dev/null; (( $? != 1 )); do
|
# pgrep exits with status 1 when there are no matches
|
||||||
if (($(date +%s) > timeout)); then
|
while pgrep -u iobroker > /dev/null; (( $? != 1 )); do
|
||||||
echo -e '\nTimeout reached. Killing remaining processes...'
|
if (($(date +%s) > timeout)); then
|
||||||
pgrep --list-full -u iobroker
|
echo -e '\nTimeout reached. Killing remaining processes...'
|
||||||
pkill --signal SIGKILL -u iobroker
|
pgrep --list-full -u iobroker
|
||||||
echo 'Done.'
|
pkill --signal SIGKILL -u iobroker
|
||||||
return
|
echo 'Done.'
|
||||||
fi
|
return
|
||||||
|
fi
|
||||||
echo -n '.'
|
echo -n '.'
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
|
else
|
||||||
|
for ((i=0; i<3; i++)); do
|
||||||
|
sleep 1
|
||||||
|
echo -n '.'
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
echo -e '\nDone.'
|
echo -e '\nDone.'
|
||||||
}
|
}
|
||||||
@@ -205,22 +198,24 @@ restart_container() {
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo 'This command was already confirmed by the -y or --yes option.'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n 'Stopping ioBroker...'
|
if ! maintenance_enabled > /dev/null; then
|
||||||
stop_iob
|
echo -n 'Stopping ioBroker...'
|
||||||
|
stop_iob
|
||||||
|
fi
|
||||||
|
|
||||||
echo 'Container will be stopped or restarted in 5 seconds...'
|
echo 'Container will be stopped or restarted in 5 seconds...'
|
||||||
sleep 5
|
sleep 5
|
||||||
echo 'stopping' > "$healthcheck"
|
echo 'stopping' > "$healthcheck"
|
||||||
pkill -u root
|
gosu root pkill -u root
|
||||||
}
|
}
|
||||||
|
|
||||||
# restore iobroker
|
# restore iobroker
|
||||||
restore_iobroker() {
|
restore_iobroker() {
|
||||||
echo 'You are now going to perform a restore of your iobroker.'
|
echo 'You are now going to perform a restore of your iobroker.'
|
||||||
|
echo 'During the restore process, the container will automatically switch into maintenance mode and stop ioBroker.'
|
||||||
|
echo 'Depending on the restart policy, your container will be stopped or restarted automatically after the restore.'
|
||||||
|
|
||||||
if [[ "$autoconfirm" != yes ]]; then
|
if [[ "$autoconfirm" != yes ]]; then
|
||||||
local reply
|
local reply
|
||||||
@@ -231,18 +226,31 @@ restore_iobroker() {
|
|||||||
else
|
else
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
echo 'This command was already confirmed by the -y or --yes option.'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n 'Stopping ioBroker...'
|
if check_starting > /dev/null; then
|
||||||
stop_iob
|
echo "Startup script is still running."
|
||||||
|
echo "Please check container log and wait until ioBroker is sucessfully started."
|
||||||
|
echo "Then try again."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# fixing permission errors during restore
|
if ! maintenance_enabled > /dev/null; then
|
||||||
#chown -R $setuid:$setgid /opt/iobroker/backup
|
autoconfirm=yes
|
||||||
|
enable_maintenance
|
||||||
|
fi
|
||||||
|
|
||||||
echo -n "Restoring ioBroker... "
|
echo -n "Restoring ioBroker... "
|
||||||
|
set +e
|
||||||
bash iobroker restore 0 > /opt/iobroker/log/restore.log 2>&1
|
bash iobroker restore 0 > /opt/iobroker/log/restore.log 2>&1
|
||||||
|
return=$?
|
||||||
|
set -e
|
||||||
|
if [[ "$return" -ne 0 ]]; then
|
||||||
|
echo "Failed."
|
||||||
|
echo "For more details see \"/opt/iobroker/log/restore.log\"."
|
||||||
|
echo "Please check backup file location and permissions and try again."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
echo 'Done.'
|
echo 'Done.'
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
@@ -254,10 +262,10 @@ restore_iobroker() {
|
|||||||
echo "!!!! You can view installation process by taking a look at ioBroker log. !!!!"
|
echo "!!!! You can view installation process by taking a look at ioBroker log. !!!!"
|
||||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||||
sleep 10
|
sleep 10
|
||||||
echo 'Container will be stopped or restarted in 5 seconds...'
|
echo 'Container will be stopped or restarted in 10 seconds...'
|
||||||
sleep 5
|
sleep 10
|
||||||
echo 'stopping' > "$healthcheck"
|
echo 'stopping' > "$healthcheck"
|
||||||
pkill -u root
|
gosu root pkill -u root
|
||||||
}
|
}
|
||||||
|
|
||||||
# parsing commands and options
|
# parsing commands and options
|
||||||
|
|||||||
16
debian/scripts/setup_iob_db.sh
vendored
16
debian/scripts/setup_iob_db.sh
vendored
@@ -99,7 +99,13 @@ set_objectsdb_port() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
set_objectsdb_pass() {
|
set_objectsdb_pass() {
|
||||||
if [[ "$objectsdbpass" != "$(jq -r '.objects.options.auth_pass' /opt/iobroker/iobroker-data/iobroker.json)" ]]; then
|
if [[ "$objectsdbpass" == "none" ]]; then
|
||||||
|
echo "IOB_OBJECTSDB_PASS is available but value is set to \"none\"."
|
||||||
|
echo -n "Removing password of objects db... "
|
||||||
|
jq '.objects.options.auth_pass = null' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
||||||
|
write_iobroker_json
|
||||||
|
echo 'Done.'
|
||||||
|
elif [[ "$objectsdbpass" != "$(jq -r '.objects.options.auth_pass' /opt/iobroker/iobroker-data/iobroker.json)" ]]; then
|
||||||
echo "IOB_OBJECTSDB_PASS is available but value is different from detected ioBroker installation."
|
echo "IOB_OBJECTSDB_PASS is available but value is different from detected ioBroker installation."
|
||||||
echo -n "Setting password of objects db... "
|
echo -n "Setting password of objects db... "
|
||||||
jq --arg value "$objectsdbpass" '.objects.options.auth_pass = $value' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
jq --arg value "$objectsdbpass" '.objects.options.auth_pass = $value' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
||||||
@@ -188,7 +194,13 @@ set_statesdb_port() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
set_statesdb_pass() {
|
set_statesdb_pass() {
|
||||||
if [[ "$statesdbpass" != "$(jq -r '.states.options.auth_pass' /opt/iobroker/iobroker-data/iobroker.json)" ]]; then
|
if [[ "$statesdbpass" == "none" ]]; then
|
||||||
|
echo "IOB_STATESDB_PASS is available but value is set to \"none\"."
|
||||||
|
echo -n "Removing password of states db... "
|
||||||
|
jq '.states.options.auth_pass = null' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
||||||
|
write_iobroker_json
|
||||||
|
echo 'Done.'
|
||||||
|
elif [[ "$statesdbpass" != "$(jq -r '.states.options.auth_pass' /opt/iobroker/iobroker-data/iobroker.json)" ]]; then
|
||||||
echo "IOB_STATESDB_PASS is available but value is different from detected ioBroker installation."
|
echo "IOB_STATESDB_PASS is available but value is different from detected ioBroker installation."
|
||||||
echo -n "Setting password of states db... "
|
echo -n "Setting password of states db... "
|
||||||
jq --arg value "$statesdbpass" '.states.options.auth_pass = $value' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
jq --arg value "$statesdbpass" '.states.options.auth_pass = $value' /opt/iobroker/iobroker-data/iobroker.json > /opt/iobroker/iobroker-data/iobroker.json.tmp
|
||||||
|
|||||||
85
debian/scripts/setup_packages.sh
vendored
85
debian/scripts/setup_packages.sh
vendored
@@ -1,36 +1,69 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# bash strict mode
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# Reading ENV
|
||||||
|
set +u
|
||||||
|
packages=$PACKAGES
|
||||||
|
debug=$DEBUG
|
||||||
|
set -u
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
if [ "$1" == "-install" ]
|
check_package_preq() {
|
||||||
then
|
# check for influx packages
|
||||||
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
if [[ "$i" == "influxdb" || "$i" == "influxdb2-cli" ]]; then
|
||||||
packages=$(cat /opt/scripts/.docker_config/.packages)
|
# add influxdata repo keys
|
||||||
echo ' '
|
wget -qO- https://repos.influxdata.com/influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
|
||||||
for i in $packages; do
|
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
|
||||||
if [ "$(dpkg-query -W -f='${Status}' "$i" 2>/dev/null | grep -c "ok installed")" -eq 0 ];
|
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
||||||
then
|
fi
|
||||||
echo -n "$i is not installed. Installing... "
|
}
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -q -y install "$i" >> /opt/scripts/setup_packages.log 2>&1
|
check_package_validity() {
|
||||||
return=$?
|
# check string for double spaces
|
||||||
if [[ "$return" -ne 0 ]]; then
|
while echo "$packages" | grep -q ' '; do
|
||||||
echo "Failed."
|
packages=$(echo "$packages" | sed 's/ / /g')
|
||||||
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
|
||||||
echo ' '
|
|
||||||
else
|
|
||||||
echo "Done."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "$i is already installed."
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
elif [ "$1" == "-update" ]; then
|
# remove packages when "influxdb" AND "influxdb2-cli"
|
||||||
|
if echo "$packages" | grep -qw "influxdb" && echo "$packages" | grep -qw "influxdb2-cli"; then
|
||||||
|
echo "PACKAGES includes influxdb AND influxdb2-cli."
|
||||||
|
echo "As installing both packages together is not possible, they will be skipped."
|
||||||
|
packages=$(echo "$packages" | sed 's/influxdb2-cli//g;s/influxdb//g')
|
||||||
|
# check string for double spaces again
|
||||||
|
while echo "$packages" | grep -q ' '; do
|
||||||
|
packages=$(echo "$packages" | sed 's/ / /g')
|
||||||
|
done
|
||||||
|
if [[ $debug == "true" ]]; then echo "[DEBUG] New list of packages: ""$packages"; fi
|
||||||
|
echo ' '
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$1" == "-install" ]]; then
|
||||||
|
echo ' '
|
||||||
|
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
||||||
|
check_package_validity
|
||||||
|
for i in $packages; do
|
||||||
|
if ! dpkg -s "$i" >/dev/null 2>&1; then
|
||||||
|
echo -n "$i is not installed. Installing... "
|
||||||
|
check_package_preq >> /opt/scripts/setup_packages.log 2>&1
|
||||||
|
if ! apt-get -q -y install "$i" >> /opt/scripts/setup_packages.log 2>&1; then
|
||||||
|
echo "Failed."
|
||||||
|
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
||||||
|
else
|
||||||
|
echo "Done."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "$i is already installed."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
elif [[ "$1" == "-update" ]]; then
|
||||||
echo -n "Updating Linux packages on first run... "
|
echo -n "Updating Linux packages on first run... "
|
||||||
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
||||||
return=$?
|
|
||||||
apt-get -q -y upgrade >> /opt/scripts/setup_packages.log 2>&1
|
|
||||||
return1=$?
|
return1=$?
|
||||||
if [[ "$return" -ne 0 || "$return1" -ne 0 ]]; then
|
apt-get -q -y upgrade >> /opt/scripts/setup_packages.log 2>&1
|
||||||
|
return2=$?
|
||||||
|
if [[ "$return1" -ne 0 || "$return2" -ne 0 ]]; then
|
||||||
echo "Failed."
|
echo "Failed."
|
||||||
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
echo "For more details see \"/opt/scripts/setup_packages.log\"."
|
||||||
echo "Make sure the container has internet access to get the latest package updates."
|
echo "Make sure the container has internet access to get the latest package updates."
|
||||||
@@ -47,4 +80,4 @@ fi
|
|||||||
apt-get -qq autoclean -y && apt-get -qq autoremove && apt-get -qq clean
|
apt-get -qq autoclean -y && apt-get -qq autoremove && apt-get -qq clean
|
||||||
rm -rf /tmp/* /var/tmp/* && rm -rf /root/.cache/* && rm -rf /var/lib/apt/lists/* && rm -f /opt/scripts/.docker_config/.packages
|
rm -rf /tmp/* /var/tmp/* && rm -rf /root/.cache/* && rm -rf /var/lib/apt/lists/* && rm -f /opt/scripts/.docker_config/.packages
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
@@ -1,23 +1,29 @@
|
|||||||
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
||||||
|
|
||||||
[](https://hub.docker.com/r/buanet/iobroker)
|
|
||||||
[](https://hub.docker.com/r/buanet/iobroker)
|
|
||||||
[](https://hub.docker.com/r/buanet/iobroker)<br>
|
|
||||||
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
|
||||||
[](https://github.com/buanet/ioBroker.docker/releases)
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
[](https://github.com/buanet/ioBroker.docker/issues)<br>
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
|
||||||
[](https://github.com/buanet/ioBroker.docker)
|
[](https://github.com/buanet/ioBroker.docker)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/network)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/stargazers)
|
||||||
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
||||||
[](https://paypal.me/buanet)
|
[](https://paypal.me/buanet)
|
||||||
|
|
||||||
# Important note
|
# Important note
|
||||||
|
|
||||||
New major image versions (e.g. v4, v5, v6) always include a new major version of node! This might lead to issues when you update your ioBroker container by simply recreating it from the new major version image! To avoid having trouble with recompiling adapters, it is recommended to upgrade your container manually with backup and restore procedure. For more details please see the maintenance part of the new [ioBroker Docker image docs](https://docs.buanet.de/iobroker-docker-image/docs/#maintenance).
|
New major image versions (e.g. v6, v7, v8) always include a new major version of node! Although js-controller should handle this kind of upgrade fine, in some cases this still results in problems with some adapters. To avoid having trouble with this major version upgrades, it is always a good move to upgrade your container manually with backup and restore procedure. For more details please see the maintenance part of the [ioBroker Docker image docs](https://docs.buanet.de/iobroker-docker-image/docs/#maintenance).
|
||||||
|
|
||||||
# Quick reference
|
# Quick reference
|
||||||
|
|
||||||
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
||||||
* Where to get support: [ioBroker Forum](https://forum.iobroker.net/), [ioBroker Discord Channel](https://discord.gg/HwUCwsH)
|
* Where to get support: [ioBroker forum](https://forum.iobroker.net/), [Discord channel](https://discord.gg/HwUCwsH), [Telegram channel](https://t.me/+Xfjuou6-LztkOTBi), [Facebook group](https://www.facebook.com/groups/440499112958264)
|
||||||
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
||||||
* Supported architectures: amd64, arm32v7, arm64v8
|
* Supported architectures: amd64, arm32v7, arm64v8
|
||||||
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
||||||
@@ -26,17 +32,17 @@ New major image versions (e.g. v4, v5, v6) always include a new major version of
|
|||||||
|
|
||||||
# Supported tags
|
# Supported tags
|
||||||
|
|
||||||
It is highly recommended not to use the `latest` tag for production, especially when using any kind of automated update procedure like watchtower. Please use the `latest-v[X]` tag instead.
|
It is highly recommended not to use the `latest` tag for production, especially when using any kind of automated update procedure like watchtower. Please use the `latest-v[major_version]` tag instead.
|
||||||
|
|
||||||
|
### Node 18 versions
|
||||||
|
* [`v8.0.1`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||||
|
* [`v8.0.0`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||||
|
|
||||||
### Node 16 versions
|
### Node 16 versions
|
||||||
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
|
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
|
||||||
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
|
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
|
||||||
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
|
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
|
||||||
|
|
||||||
### Node 14 versions
|
|
||||||
* [`v6.1.0`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`latest-v6`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile)
|
|
||||||
* [`v6.0.0`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile)
|
|
||||||
|
|
||||||
# What is ioBroker?
|
# What is ioBroker?
|
||||||
|
|
||||||
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.<br>
|
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.<br>
|
||||||
@@ -91,33 +97,37 @@ You could use environment variables to auto configure your ioBroker container on
|
|||||||
### Configure ioBroker application:
|
### Configure ioBroker application:
|
||||||
|
|
||||||
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
||||||
* `IOB_BACKITUP_EXTDB` (optional) Set "true" for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
* `IOB_BACKITUP_EXTDB` (optional) Set `true` for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
||||||
* `IOB_MULTIHOST` (optional) Set ioBroker "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
||||||
* `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db
|
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis"
|
||||||
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db
|
* `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
||||||
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis" ([not officially supported](https://github.com/ioBroker/ioBroker#databases)).
|
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
||||||
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db
|
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
|
||||||
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db
|
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
|
||||||
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
|
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
|
||||||
|
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
||||||
|
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
||||||
|
* `IOB_STATESDB_PASS` (optional, default: 9000) Set authentication for Redis db connection
|
||||||
|
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
|
||||||
|
|
||||||
### Activate special features:
|
### Activate special features:
|
||||||
|
|
||||||
* `AVAHI` (optional) Set "true" to install and activate avahi-daemon for supporting yahka-adapter
|
* `AVAHI` (optional) Set `true` to install and activate avahi-daemon for supporting yahka adapter
|
||||||
* `ZWAVE` (optional) Set "true" to install openzwave to support zwave-adapter
|
* `ZWAVE` (optional) Set `true` to install openzwave to support zwave adapter
|
||||||
|
|
||||||
### Configure environment:
|
### Configure environment:
|
||||||
|
|
||||||
* `DEBUG` (optional) Set "true" to get extended logging messages on container startup
|
* `DEBUG` (optional) Set `true` to get extended logging messages on container startup
|
||||||
* `LANG` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
|
* `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
|
* `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
|
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
|
||||||
* `OFFLINE_MODE` (optional) Set "true" if your container has no or limited internet connection
|
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
|
||||||
* `PACKAGES` (optional) Install additional linux packages to your container, packages should be separated by whitespace like this: "package1 package2 package3".
|
* `PACKAGES` (optional) Install additional linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
|
||||||
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
|
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
|
||||||
* `SETGID` (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
|
* `SETGID` (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` (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
|
* `SETUID` (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) Specifies the time zone, could be all valid Linux timezones
|
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
|
||||||
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like "/dev/ttyACM0" (inside the container), for more than one device separate with ";"
|
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
|
||||||
|
|
||||||
## Notes about Docker networks
|
## Notes about Docker networks
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,31 @@
|
|||||||
##### The image provided as [iobroker/iobroker](https://hub.docker.com/r/iobroker/iobroker) is a duplicate of [buanet/iobroker](https://hub.docker.com/r/buanet/iobroker)
|
##### Note: The image provided as [iobroker/iobroker](https://hub.docker.com/r/iobroker/iobroker) is a mirror of [buanet/iobroker](https://hub.docker.com/r/buanet/iobroker)
|
||||||
|
|
||||||
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
<img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/iobroker_logo.png" width="600" title="ioBroker Logo">
|
||||||
|
|
||||||
[](https://hub.docker.com/r/iobroker/iobroker)
|
|
||||||
[](https://hub.docker.com/r/iobroker/iobroker)
|
|
||||||
[](https://hub.docker.com/r/iobroker/iobroker)<br>
|
|
||||||
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
|
||||||
[](https://github.com/buanet/ioBroker.docker/releases)
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
[](https://github.com/buanet/ioBroker.docker/issues)<br>
|
[](https://github.com/buanet/ioBroker.docker/releases)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian-image-latest.yml)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)
|
||||||
|
[](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
|
||||||
[](https://github.com/buanet/ioBroker.docker)
|
[](https://github.com/buanet/ioBroker.docker)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/network)
|
||||||
|
[](https://github.com/buanet/ioBroker.docker/stargazers)
|
||||||
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
[](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
||||||
|
[](https://paypal.me/buanet)
|
||||||
|
|
||||||
# Important note
|
# Important note
|
||||||
|
|
||||||
New major image versions (e.g. v4, v5, v6) always include a new major version of node! This might lead to issues when you update your ioBroker container by simply recreating it from the new major version image! To avoid having trouble with recompiling adapters, it is recommended to upgrade your container manually with backup and restore procedure. For more details please see the maintenance part of the new [ioBroker Docker image docs](https://docs.buanet.de/iobroker-docker-image/docs/#maintenance).
|
New major image versions (e.g. v6, v7, v8) always include a new major version of node! Although js-controller should handle this kind of upgrade fine, in some cases this still results in problems with some adapters. To avoid having trouble with this major version upgrades, it is always a good move to upgrade your container manually with backup and restore procedure. For more details please see the maintenance part of the [ioBroker Docker image docs](https://docs.buanet.de/iobroker-docker-image/docs/#maintenance).
|
||||||
|
|
||||||
# Quick reference
|
# Quick reference
|
||||||
|
|
||||||
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
||||||
* Where to get support: [ioBroker Forum](https://forum.iobroker.net/), [ioBroker Discord Channel](https://discord.gg/HwUCwsH)
|
* Where to get support: [ioBroker forum](https://forum.iobroker.net/), [Discord channel](https://discord.gg/HwUCwsH), [Telegram channel](https://t.me/+Xfjuou6-LztkOTBi), [Facebook group](https://www.facebook.com/groups/440499112958264)
|
||||||
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
||||||
* Supported architectures: amd64, arm32v7, arm64v8
|
* Supported architectures: amd64, arm32v7, arm64v8
|
||||||
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
||||||
@@ -27,17 +34,17 @@ New major image versions (e.g. v4, v5, v6) always include a new major version of
|
|||||||
|
|
||||||
# Supported tags
|
# Supported tags
|
||||||
|
|
||||||
It is highly recommended not to use the `latest` tag for production, especially when using any kind of automated update procedure like watchtower. Please use the `latest-v[X]` tag instead.
|
It is highly recommended not to use the `latest` tag for production, especially when using any kind of automated update procedure like watchtower. Please use the `latest-v[major_version]` tag instead.
|
||||||
|
|
||||||
|
### Node 18 versions
|
||||||
|
* [`v8.0.1`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||||
|
* [`v8.0.0`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||||
|
|
||||||
### Node 16 versions
|
### Node 16 versions
|
||||||
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`v7.2.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
|
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
|
||||||
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
|
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
|
||||||
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
|
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
|
||||||
|
|
||||||
### Node 14 versions
|
|
||||||
* [`v6.1.0`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`v6.1.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile), [`latest-v6`](https://github.com/buanet/ioBroker.docker/blob/v6.1.0/debian/node14/Dockerfile)
|
|
||||||
* [`v6.0.0`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-amd64`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile), [`v6.0.0-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v6.0.0/debian/node14/Dockerfile)
|
|
||||||
|
|
||||||
# What is ioBroker?
|
# What is ioBroker?
|
||||||
|
|
||||||
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.<br>
|
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.<br>
|
||||||
@@ -92,33 +99,37 @@ You could use environment variables to auto configure your ioBroker container on
|
|||||||
### Configure ioBroker application:
|
### Configure ioBroker application:
|
||||||
|
|
||||||
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
||||||
* `IOB_BACKITUP_EXTDB` (optional) Set "true" for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
* `IOB_BACKITUP_EXTDB` (optional) Set `true` for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
||||||
* `IOB_MULTIHOST` (optional) Set ioBroker "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
||||||
* `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db
|
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis"
|
||||||
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db
|
* `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
||||||
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis" ([not officially supported](https://github.com/ioBroker/ioBroker#databases)).
|
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
||||||
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db
|
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
|
||||||
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db
|
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
|
||||||
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
|
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
|
||||||
|
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
||||||
|
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
||||||
|
* `IOB_STATESDB_PASS` (optional, default: 9000) Set authentication for Redis db connection
|
||||||
|
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
|
||||||
|
|
||||||
### Activate special features:
|
### Activate special features:
|
||||||
|
|
||||||
* `AVAHI` (optional) Set "true" to install and activate avahi-daemon for supporting yahka-adapter
|
* `AVAHI` (optional) Set `true` to install and activate avahi-daemon for supporting yahka adapter
|
||||||
* `ZWAVE` (optional) Set "true" to install openzwave to support zwave-adapter
|
* `ZWAVE` (optional) Set `true` to install openzwave to support zwave adapter
|
||||||
|
|
||||||
### Configure environment:
|
### Configure environment:
|
||||||
|
|
||||||
* `DEBUG` (optional) Set "true" to get extended logging messages on container startup
|
* `DEBUG` (optional) Set `true` to get extended logging messages on container startup
|
||||||
* `LANG` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
|
* `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
|
* `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
|
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
|
||||||
* `OFFLINE_MODE` (optional) Set "true" if your container has no or limited internet connection
|
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
|
||||||
* `PACKAGES` (optional) Install additional linux packages to your container, packages should be separated by whitespace like this: "package1 package2 package3".
|
* `PACKAGES` (optional) Install additional linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
|
||||||
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
|
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
|
||||||
* `SETGID` (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
|
* `SETGID` (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` (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
|
* `SETUID` (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) Specifies the time zone, could be all valid Linux timezones
|
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
|
||||||
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like "/dev/ttyACM0" (inside the container), for more than one device separate with ";"
|
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
|
||||||
|
|
||||||
## Notes about Docker networks
|
## Notes about Docker networks
|
||||||
|
|
||||||
@@ -133,4 +144,4 @@ For more information about networking with Docker please refer to the [official
|
|||||||
# Support the Project
|
# Support the Project
|
||||||
|
|
||||||
If you like what you see please leave us stars and likes on our repos and join our growing community.
|
If you like what you see please leave us stars and likes on our repos and join our growing community.
|
||||||
See you soon. :)
|
See you soon. :)
|
||||||
19
manifest.yml
19
manifest.yml
@@ -1,19 +0,0 @@
|
|||||||
image: buanet/iobroker:${DOCKERTAG}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: buanet/iobroker:${VERSION}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: buanet/iobroker:${VERSION}-arm64v8
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
variant: v8
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: buanet/iobroker:${VERSION}-arm32v7
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
variant: v7
|
|
||||||
os: linux
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
image: ghcr.io/buanet/iobroker:${DOCKERTAG}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: ghcr.io/buanet/iobroker:${VERSION}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: ghcr.io/buanet/iobroker:${VERSION}-arm64v8
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
variant: v8
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: ghcr.io/buanet/iobroker:${VERSION}-arm32v7
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
variant: v7
|
|
||||||
os: linux
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
image: iobroker/iobroker:${DOCKERTAG}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: iobroker/iobroker:${VERSION}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: iobroker/iobroker:${VERSION}-arm64v8
|
|
||||||
platform:
|
|
||||||
architecture: arm64
|
|
||||||
variant: v8
|
|
||||||
os: linux
|
|
||||||
-
|
|
||||||
image: iobroker/iobroker:${VERSION}-arm32v7
|
|
||||||
platform:
|
|
||||||
architecture: arm
|
|
||||||
variant: v7
|
|
||||||
os: linux
|
|
||||||
Reference in New Issue
Block a user