mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-18 10:59:00 +02:00
Compare commits
85 Commits
v9.0.0-bet
...
v9.1.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a8e38b3ee | ||
|
|
fa9e09ed1b | ||
|
|
5c97b2a041 | ||
|
|
c6b0d307b5 | ||
|
|
59ffff608a | ||
|
|
6c34c0a081 | ||
|
|
92821ab262 | ||
|
|
2eb7f4e71f | ||
|
|
b626063647 | ||
|
|
cef5ed1ef5 | ||
|
|
68b285d55f | ||
|
|
e1910d6f3b | ||
|
|
bc483cc5f0 | ||
|
|
bf87667fc0 | ||
|
|
375d192c7c | ||
|
|
4738e035b5 | ||
|
|
814cfae657 | ||
|
|
10de4b1a55 | ||
|
|
760a36f72a | ||
|
|
55c5b44537 | ||
|
|
317264f849 | ||
|
|
4614b8c41a | ||
|
|
d4469b80d5 | ||
|
|
24d5f3c9ed | ||
|
|
f01167d513 | ||
|
|
f27a29a325 | ||
|
|
a24628e306 | ||
|
|
3553ce3a65 | ||
|
|
75f6496ffe | ||
|
|
f7de2fbad2 | ||
|
|
b56d2fad26 | ||
|
|
51306ed80d | ||
|
|
5d382d082b | ||
|
|
6ec036a577 | ||
|
|
4d86b980f9 | ||
|
|
582d604b8b | ||
|
|
483139b417 | ||
|
|
aa86db5724 | ||
|
|
7a77f18fb8 | ||
|
|
6dd6cb5c20 | ||
|
|
77831a2edd | ||
|
|
88979d48b1 | ||
|
|
e305053c26 | ||
|
|
3e1c1fa103 | ||
|
|
c6781e19e6 | ||
|
|
9eacde484a | ||
|
|
9ba748467e | ||
|
|
9da9e91453 | ||
|
|
b80e5cc26b | ||
|
|
36ac44fd5a | ||
|
|
3e9670b197 | ||
|
|
6bbdd0572a | ||
|
|
0c27976158 | ||
|
|
8ed0078dea | ||
|
|
a374fee273 | ||
|
|
b0493be646 | ||
|
|
c614aeb863 | ||
|
|
3117d590b6 | ||
|
|
45cae5a781 | ||
|
|
b1b779ac5d | ||
|
|
63a3491be4 | ||
|
|
f2aa915f71 | ||
|
|
2179df0893 | ||
|
|
e5bb412719 | ||
|
|
d464910e62 | ||
|
|
d59d6f5a77 | ||
|
|
a8fc42f93b | ||
|
|
ca11192265 | ||
|
|
2907a44f46 | ||
|
|
4cb4aa8cce | ||
|
|
989fe8b03b | ||
|
|
9b384a38b5 | ||
|
|
6832057596 | ||
|
|
bbf834c218 | ||
|
|
24b76d4af7 | ||
|
|
9aab0af6bd | ||
|
|
048603b685 | ||
|
|
47bccc997a | ||
|
|
788ef45134 | ||
|
|
62d4fcd0c1 | ||
|
|
a59977101b | ||
|
|
12ba15b318 | ||
|
|
3940ea9203 | ||
|
|
56134b300e | ||
|
|
ccb7d636c0 |
17
.github/ISSUE_TEMPLATE/config.yml
vendored
17
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,11 +1,14 @@
|
||||
blank_issues_enabled: true
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: ioBroker Docker image discussions
|
||||
- name: Did you read the docs? / Hast du die Doku gelesen?
|
||||
url: https://docs.buanet.de/iobroker-docker-image/docs/
|
||||
about: Please make sure you read the docs before submitting any issues. / Bitte stelle sicher, dass du die Dokumentation gelesen hast bevor du einen Fehler meldest.
|
||||
- name: Questions? / Fragen?
|
||||
url: https://github.com/buanet/ioBroker.docker/discussions
|
||||
# about: You can ask your questions here.
|
||||
about: Ask your questions here! / Stell deine Fragen hier!
|
||||
- name: ioBroker Community Forum
|
||||
url: https://forum.iobroker.net/
|
||||
- name: ioBroker Discord channel
|
||||
url: https://discord.gg/Ne3y6fUac3
|
||||
- name: ioBroker Facebook group
|
||||
url: https://www.facebook.com/groups/440499112958264/
|
||||
about: Need support? Check out our ioBroker Community Forum. / Du benötigst Unterstützung? Wirf einen Blick in unser ioBroker Community Forum.
|
||||
- name: ioBroker Discord Channel
|
||||
url: https://discord.gg/5jGWNKnpZ8
|
||||
about: Need support? Check out our ioBroker Discord channel. / Du benötigst Unterstützung? Wirf einen Blick in unseren ioBroker Discord Channel.
|
||||
|
||||
12
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
12
.github/ISSUE_TEMPLATE/feature_request.yaml
vendored
@@ -1,17 +1,17 @@
|
||||
name: Feature Request
|
||||
description: I want to request a new feature.
|
||||
name: Feature Request / Verbesserungsvorschlag
|
||||
description: Request a new feature here. / Schlage eine Verbesserung vor.
|
||||
title: "[Feature Request]: "
|
||||
labels: "enhancement"
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to give us your feedback!
|
||||
Thanks for taking the time to give us your feedback! / Vielen Dank, dass du die Zeit nimmst uns Feedback zu geben!
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: Please describe your request.
|
||||
placeholder: Waht are your ideas?
|
||||
label: Description / Beschreibung
|
||||
description: Please describe your request. / Bitte beschreibe deine Anforderung.
|
||||
placeholder: What are your ideas? / Was sind deine Ideen?
|
||||
validations:
|
||||
required: true
|
||||
|
||||
18
.github/ISSUE_TEMPLATE/problem_report.yaml
vendored
18
.github/ISSUE_TEMPLATE/problem_report.yaml
vendored
@@ -1,32 +1,32 @@
|
||||
name: Problem Report
|
||||
description: I want to report a problem.
|
||||
name: Problem Report / Fehlermeldung
|
||||
description: Report a problem here. / Melde Fehler hier.
|
||||
title: "[Problem]: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
Thanks for taking the time to fill out this bug report! / Vielen Dank, dass du dir die Zeit nimmst den Fehlerreport auszufüllen!
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: Please describe your problem.
|
||||
placeholder: What happened? What did you expect?
|
||||
label: Description / Beschreibung
|
||||
description: Please describe your problem. / Bitte beschreibe dein Problem.
|
||||
placeholder: What happened? What did you expect? / Was ist passiert? Was hast du erwartet?
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Image version
|
||||
description: Which image version do you use?
|
||||
description: Which image version do you use? / Welche Version des Images verwendest du?
|
||||
placeholder: v1.2.3
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Docker logs
|
||||
description: Please provide the full Docker log output from your Docker container startup.
|
||||
label: Docker logs / Docker Protokoll
|
||||
description: Please provide the full Docker log output from your Docker container startup. / Bitte stelle das komplette Docker Protokoll vom Start des Containers zur Verfügung.
|
||||
render: shell
|
||||
validations:
|
||||
required: true
|
||||
|
||||
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@@ -5,4 +5,4 @@ updates:
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
target-branch: "main"
|
||||
target-branch: "beta"
|
||||
|
||||
2
.github/dependencies/.admin-version
vendored
2
.github/dependencies/.admin-version
vendored
@@ -1 +1 @@
|
||||
6.3.5
|
||||
6.10.1
|
||||
|
||||
2
.github/dependencies/.backitup-version
vendored
2
.github/dependencies/.backitup-version
vendored
@@ -1 +1 @@
|
||||
2.6.23
|
||||
2.8.1
|
||||
|
||||
2
.github/dependencies/.js-controller-version
vendored
2
.github/dependencies/.js-controller-version
vendored
@@ -1 +1 @@
|
||||
4.0.24
|
||||
5.0.12
|
||||
|
||||
2
.github/dependencies/.nodejs-version
vendored
2
.github/dependencies/.nodejs-version
vendored
@@ -1 +1 @@
|
||||
18.16.1
|
||||
18.17.1
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
# Github action to build Docker image from main branch for iobroker/iobroker (tag: latest)
|
||||
name: Build debian latest (iobroker)
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-latest-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fetching latest release tag
|
||||
run: |
|
||||
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||
echo "Latest release tag : $LATESTRELEASE"
|
||||
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3.5.3
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
|
||||
- name: Fetching version tag and date
|
||||
id: version
|
||||
run: |
|
||||
VERSION="$(cat .VERSION)"
|
||||
MAJORVERSION="$(cat .VERSION | cut -c 1-2 | sed -r 's#^(.{0})#\1latest-#')"
|
||||
DATI="$(date --rfc-3339=seconds | sed 's/ /T/')"
|
||||
echo "This is the Version: $VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_ENV
|
||||
echo "This is the Major Version: $MAJORVERSION"
|
||||
echo "majorversion=$MAJORVERSION" >> $GITHUB_ENV
|
||||
echo "This is the Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# startup script
|
||||
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/node18/Dockerfile > ./debian/node18/Dockerfile.tmp
|
||||
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2.2.0
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v2.9.1
|
||||
|
||||
- name: Login to DockerHub (iobroker)
|
||||
uses: docker/login-action@v2.2.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||
|
||||
- name: Build Docker image
|
||||
uses: docker/build-push-action@v4.1.1
|
||||
with:
|
||||
context: ./debian
|
||||
file: ./debian/node18/Dockerfile
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
||||
tags: |
|
||||
iobroker/iobroker:latest,
|
||||
iobroker/iobroker:${{ env.majorversion }},
|
||||
iobroker/iobroker:${{ env.version }}
|
||||
|
||||
97
.github/workflows/build-debian-image-latest.yml
vendored
97
.github/workflows/build-debian-image-latest.yml
vendored
@@ -1,97 +0,0 @@
|
||||
# Github action to build Docker image from main branch (tag: latest)
|
||||
name: Build debian latest (buanet)
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-latest-image:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fetching latest release tag
|
||||
run: |
|
||||
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||
echo "Latest release tag : $LATESTRELEASE"
|
||||
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3.5.3
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
|
||||
- name: Fetching version tag and date
|
||||
id: version
|
||||
run: |
|
||||
VERSION="$(cat .VERSION)"
|
||||
MAJORVERSION="$(cat .VERSION | cut -c 1-2 | sed -r 's#^(.{0})#\1latest-#')"
|
||||
DATI="$(date --rfc-3339=seconds | sed 's/ /T/')"
|
||||
echo "This is the Version: $VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_ENV
|
||||
echo "This is the Major Version: $MAJORVERSION"
|
||||
echo "majorversion=$MAJORVERSION" >> $GITHUB_ENV
|
||||
echo "This is the Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# startup script
|
||||
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/node18/Dockerfile > ./debian/node18/Dockerfile.tmp
|
||||
mv -f ./debian/node18/Dockerfile.tmp ./debian/node18/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2.2.0
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v2.9.1
|
||||
- name: Login to DockerHub (buanet)
|
||||
uses: docker/login-action@v2.2.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v2.2.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ secrets.PACKAGES_USER }}
|
||||
password: ${{ secrets.PACKAGES_PASS }}
|
||||
|
||||
- name: Build Docker image
|
||||
uses: docker/build-push-action@v4.1.1
|
||||
with:
|
||||
context: ./debian
|
||||
file: ./debian/node18/Dockerfile
|
||||
#provenance: false
|
||||
push: true
|
||||
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
||||
tags: |
|
||||
buanet/iobroker:latest,
|
||||
buanet/iobroker:${{ env.majorversion }},
|
||||
buanet/iobroker:${{ env.version }},
|
||||
ghcr.io/buanet/iobroker:latest,
|
||||
ghcr.io/buanet/iobroker:${{ env.majorversion }},
|
||||
ghcr.io/buanet/iobroker:${{ env.version }}
|
||||
|
||||
- name: Delete untagged images from GitHub packages
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
github-token: ${{ secrets.PACKAGES_PASS }}
|
||||
script: |
|
||||
const response = await github.request("GET /users/${{ env.OWNER }}/packages/container/${{ env.PACKAGE_NAME }}/versions",
|
||||
{ per_page: ${{ env.PER_PAGE }}
|
||||
});
|
||||
for(version of response.data) {
|
||||
if (version.metadata.container.tags.length == 0) {
|
||||
console.log("delete " + version.id)
|
||||
const deleteResponse = await github.request("DELETE /user/packages/container/${{ env.PACKAGE_NAME }}/versions/" + version.id, { });
|
||||
console.log("status " + deleteResponse.status)
|
||||
}
|
||||
}
|
||||
env:
|
||||
OWNER: buanet
|
||||
PACKAGE_NAME: iobroker
|
||||
PER_PAGE: 100
|
||||
12
.github/workflows/build-debian12-beta.yml
vendored
12
.github/workflows/build-debian12-beta.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
run: echo "RELEASE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.0.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
@@ -43,10 +43,10 @@ jobs:
|
||||
echo "[LOG] Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# Set values in iobroker_startup.sh
|
||||
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
mv -f ./debian12/scripts/iobroker_startup.tmp ./debian12/scripts/iobroker_startup.sh
|
||||
# Set values in Dockerfile
|
||||
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
run: echo "RELEASE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.0.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
@@ -115,10 +115,10 @@ jobs:
|
||||
echo "[LOG] Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# Set values in iobroker_startup.sh
|
||||
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
mv -f ./debian12/scripts/iobroker_startup.tmp ./debian12/scripts/iobroker_startup.sh
|
||||
# Set values in Dockerfile
|
||||
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
|
||||
6
.github/workflows/build-debian12-dev.yml
vendored
6
.github/workflows/build-debian12-dev.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.0.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.0.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
|
||||
@@ -134,7 +134,7 @@ jobs:
|
||||
with:
|
||||
context: ./debian12
|
||||
file: ./debian12/Dockerfile
|
||||
push: false
|
||||
push: true
|
||||
platforms: |
|
||||
linux/amd64
|
||||
linux/arm64
|
||||
|
||||
176
.github/workflows/build-debian12-latest.yml
vendored
Normal file
176
.github/workflows/build-debian12-latest.yml
vendored
Normal file
@@ -0,0 +1,176 @@
|
||||
# Github action to build Debian12 image (Tag: latest)
|
||||
name: Build Debian 12 Image (latest)
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-latest-for-buanet:
|
||||
name: Build latest image for buanet
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fetch latest release tag
|
||||
run: |
|
||||
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||
echo "Latest release tag : $LATESTRELEASE"
|
||||
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
|
||||
- name: Set job variables
|
||||
run: |
|
||||
VERSION="$(cat .VERSION)"
|
||||
MAJORVERSION="$(cat .VERSION | cut -c 1-2 | sed -r 's#^(.{0})#\1latest-#')"
|
||||
DATI="$(date --rfc-3339=seconds | sed 's/ /T/')"
|
||||
# Log output and export as Github environment variable
|
||||
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION }}"
|
||||
echo "[LOG] Image Version: $VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_ENV
|
||||
echo "[LOG] Major Image Version: $MAJORVERSION"
|
||||
echo "majorversion=$MAJORVERSION" >> $GITHUB_ENV
|
||||
echo "[LOG] Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# Set values in iobroker_startup.sh
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
mv -f ./debian12/scripts/iobroker_startup.tmp ./debian12/scripts/iobroker_startup.sh
|
||||
# Set values in Dockerfile
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3.0.0
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3.0.0
|
||||
|
||||
- name: Login to DockerHub (buanet)
|
||||
uses: docker/login-action@v3.0.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER }}
|
||||
password: ${{ secrets.DOCKER_PASS }}
|
||||
|
||||
- name: Login to GitHub Container Registry
|
||||
uses: docker/login-action@v3.0.0
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ secrets.PACKAGES_USER }}
|
||||
password: ${{ secrets.PACKAGES_PASS }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5.0.0
|
||||
with:
|
||||
context: ./debian12
|
||||
file: ./debian12/Dockerfile
|
||||
push: true
|
||||
platforms: |
|
||||
linux/amd64
|
||||
linux/arm/v7
|
||||
linux/arm64/v8
|
||||
tags: |
|
||||
buanet/iobroker:latest,
|
||||
buanet/iobroker:${{ env.majorversion }},
|
||||
buanet/iobroker:${{ env.version }},
|
||||
ghcr.io/buanet/iobroker:latest,
|
||||
ghcr.io/buanet/iobroker:${{ env.majorversion }},
|
||||
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)
|
||||
|
||||
build-latest-for-iobroker:
|
||||
name: Build latest image for iobroker
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fetch latest release tag
|
||||
run: |
|
||||
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||
echo "Latest release tag : $LATESTRELEASE"
|
||||
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
ref: ${{ env.RELEASE_TAG }}
|
||||
|
||||
- name: Set job variables
|
||||
run: |
|
||||
VERSION="$(cat .VERSION)"
|
||||
MAJORVERSION="$(cat .VERSION | cut -c 1-2 | sed -r 's#^(.{0})#\1latest-#')"
|
||||
DATI="$(date --rfc-3339=seconds | sed 's/ /T/')"
|
||||
# Log output and export as Github environment variable
|
||||
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION }}"
|
||||
echo "[LOG] Image Version: $VERSION"
|
||||
echo "version=$VERSION" >> $GITHUB_ENV
|
||||
echo "[LOG] Major Image Version: $MAJORVERSION"
|
||||
echo "majorversion=$MAJORVERSION" >> $GITHUB_ENV
|
||||
echo "[LOG] Buildnumber/Timestamp: $DATI"
|
||||
echo "dati=$DATI" >> $GITHUB_ENV
|
||||
# Set values in iobroker_startup.sh
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$DATI/" ./debian12/scripts/iobroker_startup.sh > ./debian12/scripts/iobroker_startup.tmp
|
||||
mv -f ./debian12/scripts/iobroker_startup.tmp ./debian12/scripts/iobroker_startup.sh
|
||||
# Set values in Dockerfile
|
||||
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${DATI}/$DATI/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3.0.0
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3.0.0
|
||||
|
||||
- name: Login to DockerHub (buanet)
|
||||
uses: docker/login-action@v3.0.0
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||
|
||||
- name: Build and push Docker image
|
||||
uses: docker/build-push-action@v5.0.0
|
||||
with:
|
||||
context: ./debian12
|
||||
file: ./debian12/Dockerfile
|
||||
push: true
|
||||
platforms: |
|
||||
linux/amd64
|
||||
linux/arm/v7
|
||||
linux/arm64/v8
|
||||
tags: |
|
||||
iobroker/iobroker:latest,
|
||||
iobroker/iobroker:${{ env.majorversion }},
|
||||
iobroker/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)
|
||||
|
||||
delete-untagged-images:
|
||||
if: ${{ always() }}
|
||||
needs: [build-latest-for-buanet, build-latest-for-iobroker]
|
||||
name: Delete untagged images from GitHub Container Registry
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Delete images
|
||||
uses: actions/github-script@v6.4.1
|
||||
with:
|
||||
github-token: ${{ secrets.PACKAGES_PASS }}
|
||||
script: |
|
||||
const response = await github.request("GET /users/${{ env.OWNER }}/packages/container/${{ env.PACKAGE_NAME }}/versions",
|
||||
{ per_page: ${{ env.PER_PAGE }}
|
||||
});
|
||||
for(version of response.data) {
|
||||
if (version.metadata.container.tags.length == 0) {
|
||||
console.log("delete " + version.id)
|
||||
const deleteResponse = await github.request("DELETE /user/packages/container/${{ env.PACKAGE_NAME }}/versions/" + version.id, { });
|
||||
console.log("status " + deleteResponse.status)
|
||||
}
|
||||
}
|
||||
env:
|
||||
OWNER: buanet
|
||||
PACKAGE_NAME: iobroker
|
||||
PER_PAGE: 100
|
||||
2
.github/workflows/update-docker-readme.yml
vendored
2
.github/workflows/update-docker-readme.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
update-docker-readme:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.0.0
|
||||
- uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: Update Docker Hub Readme (buanet)
|
||||
uses: peter-evans/dockerhub-description@v3.4.2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Check ioBroker versions
|
||||
name: Version Checks
|
||||
|
||||
on:
|
||||
schedule:
|
||||
@@ -10,12 +10,26 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4.0.0
|
||||
uses: actions/checkout@v4.1.1
|
||||
with:
|
||||
repository: 'buanet/ioBroker.docker'
|
||||
token: ${{ secrets.ACTIONS_PAT }}
|
||||
|
||||
- name: Fetch ioBroker versions
|
||||
- name: Get and write version
|
||||
id: version
|
||||
run: |
|
||||
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||
echo "iobroker=iobroker/iobroker:$LATESTRELEASE" >> $GITHUB_ENV
|
||||
echo "baseimage=library/debian:bookworm-slim" >> $GITHUB_ENV
|
||||
|
||||
- name: Docker Baseimage Checker
|
||||
id: baseimage
|
||||
uses: mkumatag/container-image-updater-action@v1.0.5
|
||||
with:
|
||||
base-image: '${{ env.baseimage }}'
|
||||
image: '${{ env.iobroker }}'
|
||||
|
||||
- name: Fetch ioBroker and nodejs versions
|
||||
run: |
|
||||
curl -sL https://repo.iobroker.live/sources-dist.json | \
|
||||
jq -r '."js-controller".version' > .github/dependencies/.js-controller-version
|
||||
@@ -45,18 +59,10 @@ jobs:
|
||||
git commit -am "new ioBroker versions"
|
||||
git push
|
||||
|
||||
- name: Trigger build debian latest (buanet)
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
- name: Trigger Build Debian 12 Image (latest)
|
||||
if: steps.baseimage.outputs.needs-update == 'true' || steps.git-check.outputs.modified == 'true'
|
||||
uses: benc-uk/workflow-dispatch@v1.2
|
||||
with:
|
||||
workflow: Build debian latest (buanet)
|
||||
repo: buanet/ioBroker.docker
|
||||
token: ${{ secrets.ACTIONS_PAT }}
|
||||
|
||||
- name: Trigger build debian latest (iobroker)
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
uses: benc-uk/workflow-dispatch@v1.2
|
||||
with:
|
||||
workflow: Build debian latest (iobroker)
|
||||
workflow: Build Debian 12 Image (latest)
|
||||
repo: buanet/ioBroker.docker
|
||||
token: ${{ secrets.ACTIONS_PAT }}
|
||||
29
CHANGELOG.md
29
CHANGELOG.md
@@ -1,8 +1,31 @@
|
||||
## Changelog
|
||||
|
||||
### v9.0.0-beta.2 (28.09.2023)
|
||||
* fix issue with unlocking features in backitup ([#381](https://github.com/buanet/ioBroker.docker/issues/381))
|
||||
* fix issue with fresh initializing iobroker
|
||||
### v9.1.0-beta.3 (23.11.2023)
|
||||
* add --force to restore in maintenance script
|
||||
* improve shebang in scripts for downgrade and portability
|
||||
* v9.1.0-beta.2 (06.11.2023)
|
||||
* enhance logging/ fix typos
|
||||
* add env PACKAGES_UPDATE and remove automatic package updates on first container start
|
||||
* improve setuid/setgid handling during startup ([#397](https://github.com/buanet/ioBroker.docker/issues/397))
|
||||
* move maintenance script registration to dockerfile ([#390](https://github.com/buanet/ioBroker.docker/issues/390))
|
||||
* v9.1.0-beta.1 (03.11.2023)
|
||||
* improve maintenance command by symlinking ([#390](https://github.com/buanet/ioBroker.docker/issues/390))
|
||||
* fix restore/ adding backup file selection ([#394](https://github.com/buanet/ioBroker.docker/issues/394))
|
||||
* fix calling iob start|stop with parameters
|
||||
* enhance logging in iobroker_startup.sh
|
||||
* add error handling for user scripts
|
||||
|
||||
### v9.0.1 (10.10.2023)
|
||||
* fix issue with avahi setup ([#384](https://github.com/buanet/ioBroker.docker/issues/384); [#385 by @z1r0](https://github.com/buanet/ioBroker.docker/pull/385))
|
||||
* add silent cleanup to setup_avahi.sh
|
||||
* add error handling for package updates/ install
|
||||
* fix calling iob in iobroker_startup.sh ([#388](https://github.com/buanet/ioBroker.docker/issues/388))
|
||||
|
||||
### v9.0.0 (09.10.2023)
|
||||
* update official docs
|
||||
* v9.0.0-beta.2 (28.09.2023)
|
||||
* fix issue with unlocking features in backitup ([#381](https://github.com/buanet/ioBroker.docker/issues/381))
|
||||
* fix issue with fresh initializing iobroker
|
||||
* v9.0.0-beta.1 (24.09.2023)
|
||||
* remove special settings script and env for zwave ([#377](https://github.com/buanet/ioBroker.docker/issues/377))
|
||||
* simplify ci/ reduce gh actions
|
||||
|
||||
13
README.md
13
README.md
@@ -4,7 +4,7 @@
|
||||
|
||||
[](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-debian12-latest.yml)
|
||||
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||
@@ -47,22 +47,21 @@ You can pull the Docker image from:
|
||||
|
||||
### Where can I get help?
|
||||
|
||||
If you have any questions or need help please visit the ioBroker community:
|
||||
If you have any questions or need help take a look at the [Discussions](https://github.com/buanet/ioBroker.docker/discussions) or join the ioBroker community:
|
||||
* [ioBroker forum](https://forum.iobroker.net/)
|
||||
* [Discord channel](https://discord.gg/Ne3y6fUac3)
|
||||
* [Discord channel](https://discord.gg/5jGWNKnpZ8)
|
||||
* [Facebook group](https://www.facebook.com/groups/440499112958264/)
|
||||
* [Telegram channel](https://t.me/+Xfjuou6-LztkOTBi)
|
||||
|
||||
### How to report an issue or request a feature?
|
||||
|
||||
If you think you found an issue let us know by opening a [GitHub issue](https://github.com/buanet/ioBroker.docker/issues). Make sure you have googled it before.
|
||||
Please do not use the issues for support questions. Not every error message is worth a new report. Use [discussions](https://github.com/buanet/ioBroker.docker/discussions) if you are not sure.
|
||||
If you think you found an issue let us know by opening a [GitHub Issue](https://github.com/buanet/ioBroker.docker/issues).
|
||||
Please do not use the issues for support questions. Not every error message is worth a new report. Use [Discussions](https://github.com/buanet/ioBroker.docker/discussions) if you are not sure.
|
||||
|
||||
## :eyes: Miscellaneous
|
||||
|
||||
### Beta testing
|
||||
|
||||
If you want to get the newest features and changes feel free to use/ test the beta version of the Docker image. For more details and beta support join us at "beta testing & feedback" > "docker-image" on the [ioBroker Discord channel](https://discord.gg/Ne3y6fUac3).
|
||||
If you want to get the newest features and changes feel free to use/ test the beta version of the Docker image. For more details and beta support join us at "beta testing & feedback" > "docker-image" at the [ioBroker Discord channel](https://discord.gg/5jGWNKnpZ8).
|
||||
|
||||
### Support the project
|
||||
|
||||
|
||||
@@ -75,6 +75,10 @@ RUN apt-get update && apt-get upgrade -y \
|
||||
&& chown -R iobroker:iobroker /opt/scripts /opt/userscripts \
|
||||
&& chmod 755 /opt/scripts/*.sh \
|
||||
&& chmod 755 /opt/userscripts/*.sh \
|
||||
# register maintenance command
|
||||
&& ln -s /opt/scripts/maintenance.sh /bin/maintenance \
|
||||
&& ln -s /opt/scripts/maintenance.sh /bin/maint \
|
||||
&& ln -s /opt/scripts/maintenance.sh /bin/m \
|
||||
# Clean up installation cache
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoclean -y \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Script checks health of running container
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# run iob fix
|
||||
iob_fix () {
|
||||
@@ -39,27 +39,48 @@ iob_diag () {
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" = "fix" ]; then # call iobroker fixer
|
||||
iob_fix
|
||||
elif [ "$1" = "node fix" ]; then # call iobroker node fixer
|
||||
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
||||
echo "To fix any issues with nodejs, please pull the latest version of the Docker image and recreate your container."
|
||||
elif [ "$1" = "diag" ]; then # call iobroker diag script
|
||||
iob_diag
|
||||
elif [ "$1" = "start" ] || [ "$1" = "stop" ] || [ "$1" = "restart" ]; then # block execution of iobroker start | stop | restart
|
||||
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
||||
echo "For more details see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/) or use the maintenance script 'maintenance --help'."
|
||||
elif [ "$1" = "m" ] || [ "$1" = "maint" ] || [ "$1" = "maintenance" ]; then # call iobroker maintenance script
|
||||
# run iobroker maintenance script
|
||||
iob_maint() {
|
||||
shift
|
||||
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
gosu iobroker bash /opt/scripts/maintenance.sh "$@"
|
||||
else
|
||||
bash /opt/scripts/maintenance.sh "$@"
|
||||
fi
|
||||
else # passing all other parameters to iobroker.js
|
||||
if [ "$(id -u)" -eq 0 ]; then # check for execution as root
|
||||
}
|
||||
|
||||
# pass parameters and run iobroker.js
|
||||
iob_run() {
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
gosu iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
||||
else
|
||||
node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$1" = "fix" ]; then
|
||||
# call iobroker fixer
|
||||
iob_fix
|
||||
elif [ "$1" = "node fix" ]; then
|
||||
# call iobroker node fixer
|
||||
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
||||
echo "To fix any issues with nodejs, please pull the latest version of the Docker image and recreate your container."
|
||||
elif [ "$1" = "diag" ]; then
|
||||
# call iobroker diag script
|
||||
iob_diag
|
||||
elif [ "$1" = "start" ] || [ "$1" = "stop" ] || [ "$1" = "restart" ]; then
|
||||
# block execution of iobroker start | stop | restart but pass start | stop for adapters
|
||||
if [ ! "$2" ]; then
|
||||
echo "The execution of this command is blocked as your ioBroker is running inside a Docker container!"
|
||||
echo "For more details see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/) or use the maintenance script 'maintenance --help'."
|
||||
else
|
||||
# passing all other parameters to iobroker.js but check for execution as root
|
||||
iob_run "$@"
|
||||
fi
|
||||
elif [ "$1" = "m" ] || [ "$1" = "maint" ] || [ "$1" = "maintenance" ]; then
|
||||
# call iobroker maintenance script but check for execution as root
|
||||
iob_maint "$@"
|
||||
else
|
||||
# passing all other parameters to iobroker.js but check for execution as root
|
||||
iob_run "$@"
|
||||
fi
|
||||
|
||||
@@ -17,17 +17,18 @@ offlinemode=$OFFLINE_MODE
|
||||
objectsdbhost=$IOB_OBJECTSDB_HOST
|
||||
objectsdbport=$IOB_OBJECTSDB_PORT
|
||||
objectsdbtype=$IOB_OBJECTSDB_TYPE
|
||||
objectsdbname=$IOB_OBJECTSDB_NAME # new for sentinel support
|
||||
objectsdbpass=$IOB_OBJECTSDB_PASS # new for auth support
|
||||
objectsdbname=$IOB_OBJECTSDB_NAME
|
||||
objectsdbpass=$IOB_OBJECTSDB_PASS
|
||||
packages=$PACKAGES
|
||||
packagesupdate=$PACKAGES_UPDATE
|
||||
permissioncheck=$PERMISSION_CHECK
|
||||
setgid=$SETGID
|
||||
setuid=$SETUID
|
||||
statesdbhost=$IOB_STATESDB_HOST
|
||||
statesdbport=$IOB_STATESDB_PORT
|
||||
statesdbtype=$IOB_STATESDB_TYPE
|
||||
statesdbname=$IOB_STATESDB_NAME # new for sentinel support
|
||||
statesdbpass=$IOB_STATESDB_PASS # new for auth support
|
||||
statesdbname=$IOB_STATESDB_NAME
|
||||
statesdbpass=$IOB_STATESDB_PASS
|
||||
usbdevices=$USBDEVICES
|
||||
set -u
|
||||
|
||||
@@ -99,6 +100,7 @@ if [[ "$statesdbname" != "" ]]; then echo -n "----- " && echo
|
||||
if [[ "$statesdbpass" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" IOB_STATESDB_PASS: "***")" && echo " -----"; fi
|
||||
if [[ "$offlinemode" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" OFFLINE_MODE: "$offlinemode")" && echo " -----"; fi
|
||||
if [[ "$packages" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" PACKAGES: "$packages")" && echo " -----"; fi
|
||||
if [[ "$packagesupdate" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" PACKAGES_UPDATE: "$packagesupdate")" && echo " -----"; fi
|
||||
if [[ "$permissioncheck" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" PERMISSION_CHECK: "$permissioncheck")" && echo " -----"; fi
|
||||
if [[ "$setgid" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" SETGID: "$setgid")" && echo " -----"; fi
|
||||
if [[ "$setuid" != "" ]]; then echo -n "----- " && echo -n "$(printf "%-20s %-28s" SETUID: "$setuid")" && echo " -----"; fi
|
||||
@@ -123,7 +125,7 @@ fi
|
||||
# STEP 1 - Preparing container
|
||||
#####
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo "----- Step 1 of 5: Preparing container -----"
|
||||
echo "----- Step 1 of 5: Preparing Container -----"
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo " "
|
||||
|
||||
@@ -132,31 +134,27 @@ if [[ -f /opt/.docker_config/.first_run ]]; then
|
||||
# Updating Linux packages
|
||||
if [[ "$offlinemode" = "true" ]]; then
|
||||
echo "OFFLINE_MODE is \"true\". Skipping Linux package updates on first run."
|
||||
else
|
||||
bash /opt/scripts/setup_packages.sh -update
|
||||
fi
|
||||
echo " "
|
||||
elif [[ "$packagesupdate" = "true" ]]; then
|
||||
if ! bash /opt/scripts/setup_packages.sh -update; then echo "Failed."; fi
|
||||
echo " "
|
||||
fi
|
||||
|
||||
# Installing packages from ENV
|
||||
if [[ "$packages" != "" && "$offlinemode" = "true" ]]; then
|
||||
echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation."
|
||||
elif [[ "$packages" != "" ]]; then
|
||||
echo "PACKAGES is set. Installing the following additional Linux packages: ""$packages"
|
||||
bash /opt/scripts/setup_packages.sh -install
|
||||
if ! bash /opt/scripts/setup_packages.sh -install; then echo "Failed."; fi
|
||||
fi
|
||||
echo " "
|
||||
# Register maintenance script
|
||||
echo -n "Registering maintenance script as command... "
|
||||
echo "alias maintenance='/opt/scripts/maintenance.sh'" >> /etc/bash.bashrc
|
||||
echo "alias maint='/opt/scripts/maintenance.sh'" >> /etc/bash.bashrc
|
||||
echo "alias m='/opt/scripts/maintenance.sh'" >> /etc/bash.bashrc
|
||||
echo "Done."
|
||||
else
|
||||
echo "This is not the first run of this container. Skipping first run preparation."
|
||||
fi
|
||||
echo " "
|
||||
|
||||
# Setting UID and/ or GID
|
||||
if [[ "$setgid" != "$(cat /etc/group | grep 'iobroker:' | cut -d':' -f3)" || "$setuid" != "$(cat /etc/passwd | grep 'iobroker:' | cut -d':' -f3)" ]]; then
|
||||
if [[ "$setgid" != "$(id -u iobroker)" || "$setuid" != "$(id -g iobroker)" ]]; then
|
||||
echo "SETUID and/ or SETGID are set to custom values."
|
||||
echo -n "Changing UID to \"""$setuid""\" and GID to \"""$setgid""\"... "
|
||||
usermod -u "$setuid" iobroker
|
||||
@@ -172,7 +170,7 @@ cd /opt/iobroker
|
||||
# STEP 2 - Detecting ioBroker-Installation
|
||||
#####
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo "----- Step 2 of 5: Detecting ioBroker installation -----"
|
||||
echo "----- Step 2 of 5: Detecting ioBroker Installation -----"
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo " "
|
||||
|
||||
@@ -186,10 +184,10 @@ elif [[ -f /opt/iobroker/iobroker ]]; then
|
||||
elif [[ "$(ls *_backupiobroker.tar.gz 2> /dev/null | wc -l)" != "0" && "$(tar -ztvf /opt/iobroker/*_backupiobroker.tar.gz "backup/backup.json" 2> /dev/null | wc -l)" != "0" ]]; then
|
||||
echo "IoBroker backup file detected in /opt/iobroker."
|
||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Backup file name: " "$(ls *_backupiobroker.tar.gz)"; fi
|
||||
echo "Since Docker Image v8, automatic initial restore is no longer supported!"
|
||||
echo "Since Docker image v8, automatic initial restore is no longer supported!"
|
||||
echo "IoBroker will start with a fresh installation, while your backup file will be copied into the backup directory."
|
||||
echo "You will be able to restore your backup file manually by using the backitup adapter or the containers maintenance script."
|
||||
echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/)."
|
||||
echo "For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/)."
|
||||
echo " "
|
||||
echo -n "Copying backup file and restoring initial ioBroker installation... "
|
||||
mv /opt/iobroker/*.tar.gz /opt/
|
||||
@@ -214,11 +212,11 @@ echo " "
|
||||
# STEP 3 - Checking ioBroker-Installation
|
||||
#####
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo "----- Step 3 of 5: Checking ioBroker installation -----"
|
||||
echo "----- Step 3 of 5: Checking ioBroker Installation -----"
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo " "
|
||||
|
||||
# Backing up original iobroker executable to fix sudo bug with gosu
|
||||
# Backing up and replace original iobroker executable to fix sudo bug with gosu
|
||||
if [[ -n $(cmp /opt/scripts/iobroker.sh /opt/iobroker/iobroker) ]]; then
|
||||
echo -n "Replacing ioBroker executable to fix sudo bug... "
|
||||
cp -a /opt/iobroker/iobroker /opt/iobroker/iobroker.bak
|
||||
@@ -299,7 +297,7 @@ elif [[ "$multihost" == "" || "$multihost" == "false" ]]; then
|
||||
else
|
||||
echo "IOB_MULTIHOST is set, but the value is not valid. Please check your configuration."
|
||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] IOB_MULTIHOST = ""$multihost"; fi
|
||||
echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/#environment-variables-env)."
|
||||
echo "For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/#environment-variables-env)."
|
||||
stop_on_error
|
||||
fi
|
||||
|
||||
@@ -308,7 +306,7 @@ if [[ -f /opt/iobroker/.fresh_install && "$multihost" != "slave" ]]; then
|
||||
echo -n "Initializing a fresh installation of ioBroker... "
|
||||
if [[ ! -d "/opt/iobroker/log" ]]; then gosu iobroker mkdir "/opt/iobroker/log"; fi
|
||||
set +e
|
||||
bash iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1
|
||||
gosu iobroker iob setup first > /opt/iobroker/log/iob_setup_first.log 2>&1
|
||||
return=$?
|
||||
set -e
|
||||
rm -f /opt/iobroker/.fresh_install
|
||||
@@ -321,20 +319,20 @@ if [[ -f /opt/iobroker/.fresh_install && "$multihost" != "slave" ]]; then
|
||||
echo "Done."
|
||||
echo " "
|
||||
else
|
||||
echo -n "Checking Database connection... "
|
||||
echo -n "Checking database connection... "
|
||||
set +e
|
||||
if iob uuid &> /dev/null; then
|
||||
if gosu iobroker iob uuid &> /dev/null; then
|
||||
echo "Done."
|
||||
echo " "
|
||||
else
|
||||
errormsg=$(iob uuid 2>&1 | sed 's/^/[DEBUG] /')
|
||||
errormsg=$(gosu iobroker iob uuid 2>&1 | sed 's/^/[DEBUG] /')
|
||||
echo "Failed."
|
||||
if [[ "$debug" == "true" ]]; then
|
||||
echo "[DEBUG] Error message: "
|
||||
echo "$errormsg"
|
||||
fi
|
||||
echo "Please check your configuration and try again."
|
||||
echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs)."
|
||||
echo "For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs)."
|
||||
stop_on_error
|
||||
fi
|
||||
set -e
|
||||
@@ -347,20 +345,20 @@ if [[ "$multihost" == "slave" ]]; then
|
||||
else
|
||||
# get admin instance and hostname
|
||||
set +e
|
||||
admininstance=$(bash iobroker list instances | grep 'enabled' | grep -m 1 -o 'system.adapter.admin..')
|
||||
admininstance=$(gosu iobroker iob list instances | grep 'enabled' | grep -m 1 -o 'system.adapter.admin..')
|
||||
set -e
|
||||
if [[ "$admininstance" != "" ]]; then
|
||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin instance is:" "$admininstance"; fi
|
||||
adminhostname=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
|
||||
adminhostname=$(gosu iobroker iob object get "$admininstance" --pretty | grep -oP '(?<="host": ")[^"]*')
|
||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected admin hostname is:" "$adminhostname"; fi
|
||||
else
|
||||
set +e
|
||||
admininstance=$(bash iobroker list instances | grep 'disabled' | grep -m 1 -o 'system.adapter.admin..')
|
||||
admininstance=$(gosu iobroker iob list instances | grep 'disabled' | grep -m 1 -o 'system.adapter.admin..')
|
||||
set -e
|
||||
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": ")[^"]*')
|
||||
adminhostname=$(gosu iobroker iob 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."
|
||||
@@ -373,7 +371,7 @@ else
|
||||
if [[ "$adminhostname" != "" && "$adminhostname" != "$(hostname)" ]]; then
|
||||
echo "Hostname in ioBroker does not match the hostname of this container."
|
||||
echo -n "Updating hostname to \"""$(hostname)""\"... "
|
||||
bash iobroker host "$adminhostname"
|
||||
gosu iobroker iob host "$adminhostname"
|
||||
echo "Done."
|
||||
echo " "
|
||||
elif [[ "$adminhostname" = "$(hostname)" ]]; then
|
||||
@@ -421,23 +419,23 @@ fi
|
||||
# STEP 4 - Setting up special sessting for ioBroker-adapters
|
||||
#####
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo "----- Step 4 of 5: Applying special settings -----"
|
||||
echo "----- Step 4 of 5: Applying Special Settings -----"
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo " "
|
||||
|
||||
echo "Some adapters have special requirements/ settings which can be activated by the use of environment variables."
|
||||
echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/)."
|
||||
echo "For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/)."
|
||||
echo " "
|
||||
|
||||
# Checking ENV for Adminport
|
||||
if [[ "$adminport" != "" && "$multihost" != "slave" ]]; then
|
||||
adminportold=$(bash iobroker object get "$admininstance" --pretty | grep -oP '(?<="port": )[^,]*')
|
||||
adminportold=$(gosu iobroker iob object get "$admininstance" --pretty | grep -oP '(?<="port": )[^,]*')
|
||||
admininstanceshort=$(echo "$admininstance" | grep -m 1 -o 'admin..')
|
||||
if [[ "$adminport" != "$adminportold" ]]; then
|
||||
echo "IOB_ADMINPORT is set and does not match port configured in ioBroker."
|
||||
if [[ "$debug" == "true" ]]; then echo "[DEBUG] Detected Admin Port in ioBroker: " "$adminportold"; fi
|
||||
echo "Setting Adminport to \"""$adminport""\"... "
|
||||
bash iobroker set "$admininstanceshort" --port "$adminport"
|
||||
gosu iobroker iob set "$admininstanceshort" --port "$adminport"
|
||||
echo "Done."
|
||||
echo " "
|
||||
fi
|
||||
@@ -478,7 +476,7 @@ if [[ "$usbdevices" != "" && "$usbdevices" != "none" ]]; then
|
||||
else
|
||||
echo "Looks like the device \"""$i""\" does not exist."
|
||||
echo "Did you mount it correctly by using the \"--device\" option?"
|
||||
echo "For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/#mounting-usb-devices)."
|
||||
echo "For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs/#mounting-usb-devices)."
|
||||
stop_on_error
|
||||
fi
|
||||
done
|
||||
@@ -497,17 +495,24 @@ elif [[ -f /opt/userscripts/userscript_firststart.sh || -f /opt/userscripts/user
|
||||
echo "Userscript for first start detected and this is the first start of a new container."
|
||||
echo "Running userscript_firststart.sh... "
|
||||
chmod 755 /opt/userscripts/userscript_firststart.sh
|
||||
bash /opt/userscripts/userscript_firststart.sh
|
||||
if ! bash /opt/userscripts/userscript_firststart.sh; then
|
||||
echo "Failed."
|
||||
else
|
||||
echo "Done."
|
||||
fi
|
||||
fi
|
||||
if [[ -f /opt/userscripts/userscript_everystart.sh ]]; then
|
||||
echo "Userscript for every start detected. Running userscript_everystart.sh... "
|
||||
chmod 755 /opt/userscripts/userscript_everystart.sh
|
||||
bash /opt/userscripts/userscript_everystart.sh
|
||||
if ! bash /opt/userscripts/userscript_everystart.sh; then
|
||||
echo "Failed."
|
||||
else
|
||||
echo "Done."
|
||||
fi
|
||||
fi
|
||||
echo " "
|
||||
fi
|
||||
echo " "
|
||||
|
||||
|
||||
# Removing first run an fresh install markers when exists
|
||||
if [[ -f /opt/.docker_config/.first_run ]]; then rm -f /opt/.docker_config/.first_run; fi
|
||||
@@ -517,7 +522,7 @@ if [[ -f /opt/iobroker/.fresh_install ]]; then rm -f /opt/iobroker/.fresh_instal
|
||||
# STEP 5 - Starting ioBroker
|
||||
#####
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo "----- Step 5 of 5: ioBroker startup -----"
|
||||
echo "----- Step 5 of 5: ioBroker Startup -----"
|
||||
echo "$(printf -- '-%.0s' {1..80})"
|
||||
echo " "
|
||||
echo "Starting ioBroker... "
|
||||
|
||||
@@ -10,7 +10,7 @@ pkill_timeout=10 # timeout for stopping iobroker in seconds
|
||||
|
||||
# check for user root
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
echo "WARNING! This script should be executed as iobroker user! Please change user and try again."
|
||||
echo "WARNING! This script should be executed as user "iobroker"! Please switch user and try again."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -165,12 +165,12 @@ stop_iob() {
|
||||
|
||||
if [[ "$killbyname" != yes ]]; then
|
||||
# pgrep exits with status 1 when there are no matches
|
||||
while pgrep -u iobroker -f 'io.' > /dev/null; (( $? != 1 )); do
|
||||
while pgrep -u iobroker -f 'io\..' > /dev/null; (( $? != 1 )); do
|
||||
if (($(date +%s) > timeout)); then
|
||||
echo -e "\nTimeout reached. Killing remaining processes..."
|
||||
pgrep --list-full -u iobroker
|
||||
pkill --signal SIGKILL -u iobroker -f 'io.'
|
||||
echo "\nDone."
|
||||
pgrep --list-full -u iobroker -f 'io\..'
|
||||
pkill --signal SIGKILL -u iobroker -f 'io\..'
|
||||
echo "Done."
|
||||
return
|
||||
fi
|
||||
sleep 1
|
||||
@@ -184,6 +184,7 @@ stop_iob() {
|
||||
fi
|
||||
|
||||
echo -e "Done."
|
||||
echo " "
|
||||
}
|
||||
|
||||
# restart container
|
||||
@@ -219,35 +220,63 @@ restore_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."
|
||||
|
||||
# check autoconfirm
|
||||
if [[ "$autoconfirm" != yes ]]; then
|
||||
local reply
|
||||
|
||||
read -rp 'Do you want to continue [yes/no]? ' reply
|
||||
if [[ "$reply" == y || "$reply" == Y || "$reply" == yes ]]; then
|
||||
: # continue
|
||||
else
|
||||
if [[ "$reply" != y && "$reply" != Y && "$reply" != yes ]]; then
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
echo " "
|
||||
|
||||
# check startup script running
|
||||
if check_starting > /dev/null; then
|
||||
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
|
||||
|
||||
# check mainenance mode
|
||||
if ! maintenance_enabled > /dev/null; then
|
||||
autoconfirm=yes
|
||||
enable_maintenance
|
||||
fi
|
||||
|
||||
echo -n "Restoring ioBroker... "
|
||||
# list backup files
|
||||
backup_dir="/opt/iobroker/backups"
|
||||
backup_files=($(find $backup_dir -type f))
|
||||
backup_count=${#backup_files[@]}
|
||||
|
||||
if [[ $backup_count -eq 0 ]]; then
|
||||
echo "Ther are no backup files in $backup_dir."
|
||||
echo "Please check and try again."
|
||||
return 1
|
||||
elif [[ $backup_count -eq 1 ]]; then
|
||||
selected_backup=$(basename "${backup_files[0]}")
|
||||
echo "There is one backup file in $backup_dir."
|
||||
else
|
||||
# more than one backup file found, ask user to select
|
||||
echo "There is more than one backup file in $backup_dir."
|
||||
echo "Please select file for restore:"
|
||||
for ((i=0; i<$backup_count; i++)); do
|
||||
echo "$i: $(basename "${backup_files[$i]}")"
|
||||
done
|
||||
echo
|
||||
|
||||
read -rp "Enter the number of the backup to restore (0-$((backup_count - 1))): " selected_number
|
||||
selected_backup=$(basename "${backup_files[$selected_number]}")
|
||||
fi
|
||||
|
||||
# restoe backup
|
||||
echo -n "Restoring ioBroker from $selected_backup... "
|
||||
set +e
|
||||
bash iobroker restore 0 > /opt/iobroker/log/restore.log 2>&1
|
||||
return=$?
|
||||
bash iobroker restore "$selected_backup" --force > /opt/iobroker/log/restore.log 2>&1
|
||||
return_value=$?
|
||||
set -e
|
||||
if [[ "$return" -ne 0 ]]; then
|
||||
|
||||
if [[ "$return_value" -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."
|
||||
@@ -265,8 +294,8 @@ restore_iobroker() {
|
||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
||||
sleep 10
|
||||
echo "Container will be stopped or restarted in 10 seconds..."
|
||||
sleep 10
|
||||
echo "stopping" > "$healthcheck"
|
||||
sleep 10
|
||||
pkill -u iobroker
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -e /usr/sbin/avahi-daemon ] && [ -e /var/run/dbus ]
|
||||
then
|
||||
echo "[setup_avahi.sh] Avahi is already installed. Nothing to do here."
|
||||
else
|
||||
echo -n "[setup_avahi.sh] Avahi-daemon is NOT installed. Going to install it now... "
|
||||
apt-get update > /opt/scripts/avahi_startup.log 2>&1
|
||||
apt-get install -y --no-install-recommends libavahi-compat-libdnssd-dev avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1
|
||||
rm -rf /var/lib/apt/lists/* >> /opt/scripts/avahi_startup.log 2>&1
|
||||
apt-get -q update > /opt/scripts/avahi_startup.log 2>&1
|
||||
apt-get -q -y --no-install-recommends install libavahi-compat-libdnssd-dev avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1
|
||||
# Silent Cleanup
|
||||
apt-get -qq autoclean -y && apt-get -qq autoremove && apt-get -qq clean
|
||||
rm -rf /tmp/* /var/tmp/* /root/.cache/* /var/lib/apt/lists/* || true
|
||||
echo "Done."
|
||||
echo -n "[setup_avahi.sh] Configuring avahi-daemon... "
|
||||
sed -i '/^rlimit-nproc/s/^\(.*\)/#\1/g' /etc/avahi/avahi-daemon.conf
|
||||
@@ -32,7 +34,7 @@ echo -n "[setup_avahi.sh] Starting dbus... "
|
||||
echo "Done."
|
||||
|
||||
echo -n "[setup_avahi.sh] Starting avahi-daemon... "
|
||||
/etc/init.d/avahi-daemon start >> /opt/scripts/avahi_startup.log 2>&1
|
||||
avahi-daemon >> /opt/scripts/avahi_startup.log 2>&1 &
|
||||
echo "Done."
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# reading env
|
||||
debug=$DEBUG
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# bash strict mode
|
||||
set -euo pipefail
|
||||
@@ -58,7 +58,7 @@ if [[ "$1" == "-install" ]]; then
|
||||
fi
|
||||
done
|
||||
elif [[ "$1" == "-update" ]]; then
|
||||
echo -n "Updating Linux packages on first run... "
|
||||
echo -n "PACKAGES_UPDATE is set. Updating Linux packages on first run... "
|
||||
apt-get -q update >> /opt/scripts/setup_packages.log 2>&1
|
||||
return1=$?
|
||||
apt-get -q -y upgrade >> /opt/scripts/setup_packages.log 2>&1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[](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-debian12-latest.yml)
|
||||
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||
@@ -18,12 +18,12 @@
|
||||
|
||||
# Important note
|
||||
|
||||
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).
|
||||
New major image versions (e.g. v6, v7, v8) usually 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
|
||||
|
||||
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
||||
* 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 get support: [ioBroker forum](https://forum.iobroker.net/), [Discord channel](https://discord.gg/5jGWNKnpZ8), [Facebook group](https://www.facebook.com/groups/440499112958264)
|
||||
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
||||
* Supported architectures: amd64, arm32v7, arm64v8
|
||||
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
||||
@@ -35,7 +35,8 @@ New major image versions (e.g. v6, v7, v8) always include a new major version of
|
||||
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.1.0`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile)
|
||||
* [`v9.0.0`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile)
|
||||
* [`v8.1.0`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile),
|
||||
* [`v8.0.1`](https://github.com/buanet/ioBroker.docker/blob/v8.0.1/debian/node18/Dockerfile)
|
||||
* [`v8.0.0`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||
|
||||
@@ -114,7 +115,6 @@ You could use environment variables to auto configure your ioBroker container on
|
||||
### Activate special features:
|
||||
|
||||
* `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
|
||||
|
||||
### Configure environment:
|
||||
|
||||
@@ -124,6 +124,7 @@ You could use environment variables to auto configure your ioBroker container on
|
||||
* `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
|
||||
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
|
||||
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
|
||||
* `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
|
||||
* `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
|
||||
@@ -142,5 +143,5 @@ For more information about networking with Docker please refer to the [official
|
||||
|
||||
# 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.<br>
|
||||
See you soon. :)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
[](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-debian12-latest.yml)
|
||||
[](https://github.com/buanet/ioBroker.docker/issues)
|
||||
[](https://github.com/buanet/ioBroker.docker/pulls)
|
||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||
@@ -20,12 +20,12 @@
|
||||
|
||||
# Important note
|
||||
|
||||
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).
|
||||
New major image versions (e.g. v6, v7, v8) usually 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
|
||||
|
||||
* Maintained by: [buanet](https://github.com/buanet) and [ioBroker](https://github.com/ioBroker)
|
||||
* 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 get support: [ioBroker forum](https://forum.iobroker.net/), [Discord channel](https://discord.gg/5jGWNKnpZ8), [Facebook group](https://www.facebook.com/groups/440499112958264)
|
||||
* Where to report issues: [Github Repository Issues](https://github.com/buanet/ioBroker.docker/issues)
|
||||
* Supported architectures: amd64, arm32v7, arm64v8
|
||||
* Changelog: [Github Repository Changelog](https://github.com/buanet/ioBroker.docker/blob/main/CHANGELOG.md)
|
||||
@@ -37,7 +37,8 @@ New major image versions (e.g. v6, v7, v8) always include a new major version of
|
||||
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.1.0`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile)
|
||||
* [`v9.0.0`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile)
|
||||
* [`v8.1.0`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile),
|
||||
* [`v8.0.1`](https://github.com/buanet/ioBroker.docker/blob/v8.0.1/debian/node18/Dockerfile)
|
||||
* [`v8.0.0`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
|
||||
|
||||
@@ -116,7 +117,6 @@ You could use environment variables to auto configure your ioBroker container on
|
||||
### Activate special features:
|
||||
|
||||
* `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
|
||||
|
||||
### Configure environment:
|
||||
|
||||
@@ -126,6 +126,7 @@ You could use environment variables to auto configure your ioBroker container on
|
||||
* `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
|
||||
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
|
||||
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
|
||||
* `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
|
||||
* `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
|
||||
|
||||
Reference in New Issue
Block a user