mirror of
https://github.com/buanet/ioBroker.docker.git
synced 2025-12-18 19:09:02 +02:00
Compare commits
165 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df7523d1cb | ||
|
|
04ae0f4bb6 | ||
|
|
9e50735ce5 | ||
|
|
8aa80342a0 | ||
|
|
b62c8d7ee7 | ||
|
|
d98b332d0e | ||
|
|
7b287437b9 | ||
|
|
241ca6db51 | ||
|
|
a676b37144 | ||
|
|
9197c3dee6 | ||
|
|
38c22b15dc | ||
|
|
ecc82a88be | ||
|
|
9dd5097d0d | ||
|
|
94199cba10 | ||
|
|
00d353b68f | ||
|
|
73c77f40ef | ||
|
|
34eaab679f | ||
|
|
39ab62d5f1 | ||
|
|
7e0ab2281d | ||
|
|
2eec1a46f4 | ||
|
|
7dcc948486 | ||
|
|
56b1cf9899 | ||
|
|
b9afbef087 | ||
|
|
c5a6e675e5 | ||
|
|
5191f212ad | ||
|
|
84773f966f | ||
|
|
105aec37de | ||
|
|
e0ca97ba99 | ||
|
|
f84bb008df | ||
|
|
ff8dd7cf42 | ||
|
|
12122fece5 | ||
|
|
f5c5f0c7ee | ||
|
|
9eaff1e39e | ||
|
|
8b8d71621e | ||
|
|
cc69a293cf | ||
|
|
0b945b2e05 | ||
|
|
4a9fc1095a | ||
|
|
82b8ce9463 | ||
|
|
d2e9def207 | ||
|
|
3ac6a10243 | ||
|
|
d31c8561d8 | ||
|
|
0901cad1e5 | ||
|
|
e7afea11d4 | ||
|
|
1e0078f689 | ||
|
|
a9452d5179 | ||
|
|
40f9e1aca9 | ||
|
|
7323deed6b | ||
|
|
fa6486bff8 | ||
|
|
d9a05a7fe9 | ||
|
|
a6a19f2267 | ||
|
|
97c7b79a56 | ||
|
|
0930fa137c | ||
|
|
98559888d4 | ||
|
|
16e4d165d5 | ||
|
|
d9273c5a08 | ||
|
|
93ce694e1f | ||
|
|
318e41d84c | ||
|
|
b7bb47c84a | ||
|
|
2ec8bf6c0b | ||
|
|
e9c1064028 | ||
|
|
74dcd9b0f3 | ||
|
|
e75696041e | ||
|
|
3c935e5637 | ||
|
|
e515245228 | ||
|
|
f6574bc8ad | ||
|
|
8383874542 | ||
|
|
1d25a7ee2f | ||
|
|
5835247059 | ||
|
|
822045a4ae | ||
|
|
866e9a4913 | ||
|
|
ebb0b7b046 | ||
|
|
9dd3712faa | ||
|
|
a2cc4f5246 | ||
|
|
50675a1e0e | ||
|
|
f52aa4f9db | ||
|
|
dc8347a2a7 | ||
|
|
df9a96ef8b | ||
|
|
c98a66934d | ||
|
|
798a02965f | ||
|
|
e9f12ceaab | ||
|
|
960d5249d9 | ||
|
|
adeb8fa3ff | ||
|
|
21e66aedff | ||
|
|
95dc626a02 | ||
|
|
d5acf33650 | ||
|
|
37203dc40f | ||
|
|
30fa668c09 | ||
|
|
38460ad6f4 | ||
|
|
1e035fa65d | ||
|
|
51f33f02e0 | ||
|
|
ab54eaf7f9 | ||
|
|
3b53e6a290 | ||
|
|
c146cdce4d | ||
|
|
f86f1c5941 | ||
|
|
1c367f5539 | ||
|
|
06ec941203 | ||
|
|
7c92f39b86 | ||
|
|
ecb8cb2ed6 | ||
|
|
18b13dd50f | ||
|
|
79d857dcb8 | ||
|
|
cd3510695e | ||
|
|
bf9e30d1c0 | ||
|
|
bbc88d4d5c | ||
|
|
81bea7f7a4 | ||
|
|
b439a04f2e | ||
|
|
922f77279e | ||
|
|
431343b52e | ||
|
|
2b86658af0 | ||
|
|
7252c8f5af | ||
|
|
340d8eceef | ||
|
|
016d0ead53 | ||
|
|
6d6a379fc0 | ||
|
|
9a4beb5aef | ||
|
|
10650fc23f | ||
|
|
87ce008c76 | ||
|
|
480293d372 | ||
|
|
b06f29c33e | ||
|
|
44131ab8b5 | ||
|
|
7ce89797fd | ||
|
|
60e7dff559 | ||
|
|
5d40cae941 | ||
|
|
25b893f84f | ||
|
|
adeec1699d | ||
|
|
10075ddd12 | ||
|
|
cd461e3b1f | ||
|
|
4dcb25c7ca | ||
|
|
980b0b4d8a | ||
|
|
29e1662fc1 | ||
|
|
ddc1b2e93f | ||
|
|
f9440d7c77 | ||
|
|
78c97411f0 | ||
|
|
96fe93d819 | ||
|
|
372f82dca2 | ||
|
|
a66ffffed9 | ||
|
|
567998b7c4 | ||
|
|
36dc9eba9b | ||
|
|
2df113f78a | ||
|
|
5d5e1cb3c1 | ||
|
|
1c3257a040 | ||
|
|
db689e2c10 | ||
|
|
50bd0402a8 | ||
|
|
6fe3add213 | ||
|
|
bab099260a | ||
|
|
44a9e26c69 | ||
|
|
f94ac021b5 | ||
|
|
4a4a016687 | ||
|
|
a369d928e5 | ||
|
|
a46295f806 | ||
|
|
b0fe6a8082 | ||
|
|
47ff8e6ebe | ||
|
|
d3d26d19bb | ||
|
|
ca666b1c6f | ||
|
|
14255e2cb0 | ||
|
|
2528b87e3f | ||
|
|
04ec2bf6a5 | ||
|
|
0112d893ff | ||
|
|
e5e6af6e37 | ||
|
|
4244e91b8a | ||
|
|
b4445922ca | ||
|
|
7a053f5c54 | ||
|
|
9aa7259f62 | ||
|
|
7c21ebe62e | ||
|
|
a03576ee62 | ||
|
|
7a1bdbdd45 | ||
|
|
2549003acd |
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@@ -5,4 +5,4 @@ updates:
|
|||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
target-branch: "beta"
|
target-branch: "main"
|
||||||
|
|||||||
2
.github/dependencies/.admin-version
vendored
2
.github/dependencies/.admin-version
vendored
@@ -1 +1 @@
|
|||||||
7.0.22
|
7.6.17
|
||||||
|
|||||||
2
.github/dependencies/.backitup-version
vendored
2
.github/dependencies/.backitup-version
vendored
@@ -1 +1 @@
|
|||||||
3.0.16
|
3.3.5
|
||||||
|
|||||||
2
.github/dependencies/.discovery-version
vendored
2
.github/dependencies/.discovery-version
vendored
@@ -1 +1 @@
|
|||||||
4.5.0
|
5.0.0
|
||||||
|
|||||||
2
.github/dependencies/.js-controller-version
vendored
2
.github/dependencies/.js-controller-version
vendored
@@ -1 +1 @@
|
|||||||
6.0.9
|
7.0.6
|
||||||
|
|||||||
1
.github/dependencies/.latest-build
vendored
Normal file
1
.github/dependencies/.latest-build
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
20250716.234705
|
||||||
2
.github/dependencies/.nodejs-version
vendored
2
.github/dependencies/.nodejs-version
vendored
@@ -1 +1 @@
|
|||||||
v18.20.4
|
v20.19.4
|
||||||
|
|||||||
160
.github/workflows/build-debian12-beta.yml
vendored
160
.github/workflows/build-debian12-beta.yml
vendored
@@ -1,160 +0,0 @@
|
|||||||
# Github action to build Debian12 image (Tag: beta)
|
|
||||||
name: Build Debian 12 Image (beta)
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [prereleased]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
chose_node_version:
|
|
||||||
type: choice
|
|
||||||
description: 'Which Node version should be used?'
|
|
||||||
options:
|
|
||||||
- 'Recommended Node version (default)'
|
|
||||||
- 'Experimental Node version'
|
|
||||||
- 'Both Node versions'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-with-recommended-node:
|
|
||||||
if: inputs.chose_node_version == 'Recommended Node version (default)' || inputs.chose_node_version == 'Both Node versions' || github.event_name == 'release'
|
|
||||||
name: Build with recommended Node version
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Fetch latest prerelease tag
|
|
||||||
run: echo "RELEASE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4.1.7
|
|
||||||
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_BETA }}"
|
|
||||||
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_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
|
||||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
tags: |
|
|
||||||
buanet/iobroker:beta,
|
|
||||||
buanet/iobroker:${{ env.version }},
|
|
||||||
ghcr.io/buanet/iobroker:beta,
|
|
||||||
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-with-experimental-node:
|
|
||||||
if: inputs.chose_node_version == 'Experimental Node version' || inputs.chose_node_version == 'Both Node versions' || github.event_name == 'release'
|
|
||||||
name: Build with experimental Node version
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Fetch latest prerelease tag
|
|
||||||
run: echo "RELEASE_TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4.1.7
|
|
||||||
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.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
|
||||||
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.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
|
||||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
tags: |
|
|
||||||
buanet/iobroker:beta-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
|
||||||
buanet/iobroker:${{ env.version }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
|
||||||
ghcr.io/buanet/iobroker:beta-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
|
||||||
ghcr.io/buanet/iobroker:${{ env.version }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
|
||||||
provenance: false
|
|
||||||
outputs: type=image,name=target,annotation-index.org.opencontainers.image.description=Official Docker image for ioBroker smarthome software (https://www.iobroker.net)
|
|
||||||
42
.github/workflows/build-debian12-beta_ext.yml
vendored
42
.github/workflows/build-debian12-beta_ext.yml
vendored
@@ -1,42 +0,0 @@
|
|||||||
# Github action to trigger external Debian12 image build (Tag: beta)
|
|
||||||
name: Trigger external Build (beta)
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [prereleased]
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
chose_node_version:
|
|
||||||
type: choice
|
|
||||||
description: 'Which Node version should be used?'
|
|
||||||
options:
|
|
||||||
- 'Recommended Node version (default)'
|
|
||||||
- 'Experimental Node version'
|
|
||||||
- 'Both Node versions'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
trigger_beta_build_on_release:
|
|
||||||
if: github.event_name == 'release'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Trigger beta build on release
|
|
||||||
uses: benc-uk/workflow-dispatch@v1.2
|
|
||||||
with:
|
|
||||||
ref: 'main'
|
|
||||||
workflow: 'iob.docker - Build Debian 12 Image (beta)'
|
|
||||||
repo: 'buanet/private.actionsrunner'
|
|
||||||
inputs: '{ "chose_node_version": "Both Node versions" }'
|
|
||||||
token: ${{ secrets.ACTIONS_PAT }}
|
|
||||||
|
|
||||||
trigger_beta_build_manual:
|
|
||||||
if: github.event_name == 'workflow_dispatch'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Trigger beta build on dispatch
|
|
||||||
uses: benc-uk/workflow-dispatch@v1.2
|
|
||||||
with:
|
|
||||||
ref: 'main'
|
|
||||||
workflow: 'iob.docker - Build Debian 12 Image (beta)'
|
|
||||||
repo: 'buanet/private.actionsrunner'
|
|
||||||
inputs: '{ "chose_node_version": "${{ inputs.chose_node_version }}" }'
|
|
||||||
token: ${{ secrets.ACTIONS_PAT }}
|
|
||||||
478
.github/workflows/build-debian12-beta_sep.yml
vendored
Normal file
478
.github/workflows/build-debian12-beta_sep.yml
vendored
Normal file
@@ -0,0 +1,478 @@
|
|||||||
|
# Github action to build Debian12 image (Tag: beta)
|
||||||
|
name: Build Debian 12 Image (beta)
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [prereleased]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-build-number:
|
||||||
|
name: Create build number
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
build_number: ${{ steps.generate-build-number.outputs.build_number }}
|
||||||
|
release_tag: ${{ steps.fetch-prerelease-tag.outputs.release_tag }}
|
||||||
|
steps:
|
||||||
|
- name: Fetch prerelease tag
|
||||||
|
id: fetch-prerelease-tag
|
||||||
|
run: |
|
||||||
|
PRERELEASE_TAG=$(curl -sL "https://api.github.com/repos/buanet/ioBroker.docker/releases" | jq -r '[.[] | select(.prerelease)][0].tag_name')
|
||||||
|
if [ -z "$PRERELEASE_TAG" ]; then
|
||||||
|
echo "[LOG] No prerelease found!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "RELEASE_TAG=$PRERELEASE_TAG" >> $GITHUB_ENV
|
||||||
|
echo "release_tag=$PRERELEASE_TAG" >> $GITHUB_OUTPUT
|
||||||
|
echo "[LOG] Release tag: $PRERELEASE_TAG"
|
||||||
|
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ env.RELEASE_TAG }}
|
||||||
|
|
||||||
|
- name: Generate build number
|
||||||
|
id: generate-build-number
|
||||||
|
run: |
|
||||||
|
BUILD="$(date +"%Y%m%d.%H%M%S")"
|
||||||
|
echo "build_number=$BUILD" >> $GITHUB_OUTPUT
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
|
||||||
|
build-beta-armv7-recommended-node:
|
||||||
|
name: Build beta armv7 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7,
|
||||||
|
|
||||||
|
build-beta-arm64v8-recommended-node:
|
||||||
|
name: Build beta armv64v8 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8,
|
||||||
|
|
||||||
|
build-beta-amd64-recommended-node:
|
||||||
|
name: Build beta amd64 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64,
|
||||||
|
|
||||||
|
create-multiarch-image-with-recommended-node:
|
||||||
|
name: Create multiarch image with recommended node version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-beta-armv7-recommended-node, build-beta-arm64v8-recommended-node, build-beta-amd64-recommended-node, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:beta buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:beta ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-build.${{ env.build }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
|
||||||
|
### experimental node version
|
||||||
|
|
||||||
|
build-beta-armv7-experimental-node:
|
||||||
|
name: Build beta armv7 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
build-beta-arm64v8-experimental-node:
|
||||||
|
name: Build beta armv64v8 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
build-beta-amd64-experimental-node:
|
||||||
|
name: Build beta amd64 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
create-multiarch-image-with-experimental-node:
|
||||||
|
name: Create multiarch image with experimental node version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-beta-armv7-experimental-node, build-beta-arm64v8-experimental-node, build-beta-amd64-experimental-node, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:beta-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:beta-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-build.${{ env.build }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
144
.github/workflows/build-debian12-dev.yml
vendored
144
.github/workflows/build-debian12-dev.yml
vendored
@@ -1,144 +0,0 @@
|
|||||||
# Github action to build Debian12 image (Tag: dev)
|
|
||||||
name: Build Debian 12 Image (dev)
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
chose_node_version:
|
|
||||||
type: choice
|
|
||||||
description: 'Which Node version should be used?'
|
|
||||||
options:
|
|
||||||
- 'Recommended Node version (default)'
|
|
||||||
- 'Experimental Node version'
|
|
||||||
- 'Both Node versions'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-with-recommended-node:
|
|
||||||
if: inputs.chose_node_version == 'Recommended Node version (default)' || inputs.chose_node_version == 'Both Node versions'
|
|
||||||
name: Build with recommended Node version
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4.1.7
|
|
||||||
with:
|
|
||||||
repository: 'buanet/ioBroker.docker'
|
|
||||||
|
|
||||||
- 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_BETA }}"
|
|
||||||
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-dev/" -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_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
|
||||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
tags: |
|
|
||||||
buanet/iobroker:dev,
|
|
||||||
buanet/iobroker:dev-node${{ vars.RECOMMENDED_NODE_VERSION_BETA }},
|
|
||||||
ghcr.io/buanet/iobroker:dev,
|
|
||||||
ghcr.io/buanet/iobroker:dev-node${{ vars.RECOMMENDED_NODE_VERSION_BETA }}
|
|
||||||
|
|
||||||
build-with-experimental-node:
|
|
||||||
if: inputs.chose_node_version == 'Experimental Node version' || inputs.chose_node_version == 'Both Node versions'
|
|
||||||
name: Build with experimental Node version
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repo
|
|
||||||
uses: actions/checkout@v4.1.7
|
|
||||||
with:
|
|
||||||
repository: 'buanet/ioBroker.docker'
|
|
||||||
|
|
||||||
- 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.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
|
||||||
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-dev/" -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_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
|
||||||
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v3.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
tags: |
|
|
||||||
buanet/iobroker:dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
|
||||||
ghcr.io/buanet/iobroker:dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
|
||||||
446
.github/workflows/build-debian12-dev_sep.yml
vendored
Normal file
446
.github/workflows/build-debian12-dev_sep.yml
vendored
Normal file
@@ -0,0 +1,446 @@
|
|||||||
|
# Github action to build Debian12 image (Tag: dev)
|
||||||
|
name: Build Debian 12 Image (dev)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-build-number:
|
||||||
|
name: Create build number
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
build_number: ${{ steps.generate-build-number.outputs.build_number }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Generate build number
|
||||||
|
id: generate-build-number
|
||||||
|
run: |
|
||||||
|
BUILD="$(date +"%Y%m%d.%H%M%S")"
|
||||||
|
echo "build_number=$BUILD" >> $GITHUB_OUTPUT
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
|
||||||
|
build-dev-armv7-recommended-node:
|
||||||
|
name: Build dev armv7 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev,
|
||||||
|
|
||||||
|
build-dev-arm64v8-recommended-node:
|
||||||
|
name: Build dev armv64v8 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev,
|
||||||
|
|
||||||
|
build-dev-amd64-recommended-node:
|
||||||
|
name: Build dev amd64 image with recommended node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev,
|
||||||
|
|
||||||
|
create-multiarch-image-with-recommended-node:
|
||||||
|
name: Create multiarch image with recommended node version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-dev-armv7-recommended-node, build-dev-arm64v8-recommended-node, build-dev-amd64-recommended-node, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.RECOMMENDED_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:dev buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:dev ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev
|
||||||
|
|
||||||
|
### experimental node version
|
||||||
|
|
||||||
|
build-dev-armv7-experimental-node:
|
||||||
|
name: Build dev armv7 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
build-dev-arm64v8-experimental-node:
|
||||||
|
name: Build dev armv64v8 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
build-dev-amd64-experimental-node:
|
||||||
|
name: Build dev amd64 image with experimental node version
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION-dev/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }},
|
||||||
|
|
||||||
|
create-multiarch-image-with-experimental-node:
|
||||||
|
name: Create multiarch image with experimental node version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-dev-armv7-experimental-node, build-dev-arm64v8-experimental-node, build-dev-amd64-experimental-node, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# Log output and export as Github environment variable
|
||||||
|
echo "[LOG] Nodejs Version: ${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}"
|
||||||
|
echo "[LOG] Image Version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_ENV
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64-dev-node${{ vars.EXPERIMENTAL_NODE_VERSION_BETA }}
|
||||||
150
.github/workflows/build-debian12-latest.yml
vendored
150
.github/workflows/build-debian12-latest.yml
vendored
@@ -1,150 +0,0 @@
|
|||||||
# 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.7
|
|
||||||
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.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub (buanet)
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
|
||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
registry: ghcr.io
|
|
||||||
username: ${{ secrets.PACKAGES_USER }}
|
|
||||||
password: ${{ secrets.PACKAGES_PASS }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
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.7
|
|
||||||
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.2.0
|
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
id: buildx
|
|
||||||
uses: docker/setup-buildx-action@v3.6.1
|
|
||||||
|
|
||||||
- name: Login to DockerHub (buanet)
|
|
||||||
uses: docker/login-action@v3.3.0
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_USER_IOB }}
|
|
||||||
password: ${{ secrets.DOCKER_PASS_IOB }}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
|
||||||
uses: docker/build-push-action@v6.6.1
|
|
||||||
with:
|
|
||||||
context: ./debian12
|
|
||||||
file: ./debian12/Dockerfile
|
|
||||||
push: true
|
|
||||||
platforms: |
|
|
||||||
linux/amd64
|
|
||||||
linux/arm64/v8
|
|
||||||
linux/arm/v7
|
|
||||||
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)
|
|
||||||
19
.github/workflows/build-debian12-latest_ext.yml
vendored
19
.github/workflows/build-debian12-latest_ext.yml
vendored
@@ -1,19 +0,0 @@
|
|||||||
# Github action to trigger external Debian12 image build (Tag: latest)
|
|
||||||
name: Trigger external Build (latest)
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [released]
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
trigger_latest_build_on_release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Trigger latest build
|
|
||||||
uses: benc-uk/workflow-dispatch@v1.2
|
|
||||||
with:
|
|
||||||
ref: 'main'
|
|
||||||
workflow: 'iob.docker - Build Debian 12 Image (latest)'
|
|
||||||
repo: 'buanet/private.actionsrunner'
|
|
||||||
token: ${{ secrets.ACTIONS_PAT }}
|
|
||||||
477
.github/workflows/build-debian12-latest_sep.yml
vendored
Normal file
477
.github/workflows/build-debian12-latest_sep.yml
vendored
Normal file
@@ -0,0 +1,477 @@
|
|||||||
|
# Github action to build Debian12 image (Tag: latest)
|
||||||
|
name: Build Debian 12 Image (latest)
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [released]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
create-build-number:
|
||||||
|
name: Create build number
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
build_number: ${{ steps.generate-build-number.outputs.build_number }}
|
||||||
|
release_tag: ${{ steps.fetch-release-tag.outputs.release_tag }}
|
||||||
|
steps:
|
||||||
|
- name: Fetch latest release tag
|
||||||
|
id: fetch-release-tag
|
||||||
|
run: |
|
||||||
|
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
|
||||||
|
if [ -z "$LATESTRELEASE" ]; then
|
||||||
|
echo "[LOG] No prerelease found!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "RELEASE_TAG=$LATESTRELEASE" >> $GITHUB_ENV
|
||||||
|
echo "release_tag=$LATESTRELEASE" >> $GITHUB_OUTPUT
|
||||||
|
echo "[LOG] Latest release tag : $LATESTRELEASE"
|
||||||
|
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
token: ${{ secrets.ACTIONS_PAT }}
|
||||||
|
|
||||||
|
- name: Generate build number
|
||||||
|
id: generate-build-number
|
||||||
|
run: |
|
||||||
|
BUILD="$(date +"%Y%m%d.%H%M%S")"
|
||||||
|
echo "$BUILD" > .github/dependencies/.latest-build
|
||||||
|
echo "build_number=$BUILD" >> $GITHUB_OUTPUT
|
||||||
|
echo "[LOG] Buildnumber: $BUILD"
|
||||||
|
|
||||||
|
- name: Commit latest release version
|
||||||
|
run: |
|
||||||
|
git config --global user.name 'buanet'
|
||||||
|
git config --global user.email 'info@buanet.de'
|
||||||
|
git checkout main
|
||||||
|
git add .github/dependencies/.latest-build
|
||||||
|
git commit -am "new build" || true
|
||||||
|
git push
|
||||||
|
|
||||||
|
build-latest-armv7-for-buanet:
|
||||||
|
name: Build latest armv7 image for buanet
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -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.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7,
|
||||||
|
|
||||||
|
build-latest-arm64v8-for-buanet:
|
||||||
|
name: Build latest armv64v8 image for buanet
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -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.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8,
|
||||||
|
|
||||||
|
build-latest-amd64-for-buanet:
|
||||||
|
name: Build latest amd64 image for buanet
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: |
|
||||||
|
buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64,
|
||||||
|
ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64,
|
||||||
|
|
||||||
|
create-multiarch-image-for-buanet:
|
||||||
|
name: Create multiarch image for buanet
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-latest-armv7-for-buanet, build-latest-arm64v8-for-buanet, build-latest-amd64-for-buanet, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (buanet)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
|
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ secrets.PACKAGES_USER }}
|
||||||
|
password: ${{ secrets.PACKAGES_PASS }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:latest buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:latest ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.majorversion }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.majorversion }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t buanet/iobroker:${{ env.version }}-build.${{ env.build }} buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }} ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 ghcr.io/buanet/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
|
||||||
|
### build for iobroker repo
|
||||||
|
|
||||||
|
build-latest-armv7-for-iobroker:
|
||||||
|
name: Build latest armv7 image for iobroker
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -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.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (iobroker)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
tags: iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-armv7
|
||||||
|
|
||||||
|
build-latest-arm64v8-for-iobroker:
|
||||||
|
name: Build latest armv64v8 image for iobroker
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -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.6.0
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (iobroker)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/arm64/v8
|
||||||
|
tags: iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8
|
||||||
|
|
||||||
|
build-latest-amd64-for-iobroker:
|
||||||
|
name: Build latest amd64 image for iobroker
|
||||||
|
needs: [create-build-number]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
# Set values in iobroker_startup.sh
|
||||||
|
sed -e "s/\${VERSION}/$VERSION/" -e "s/\${BUILD}/$BUILD/" ./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}/$BUILD/" -e "s/\${BUILD}/$BUILD/" -e "s/\${NODE}/${{ vars.RECOMMENDED_NODE_VERSION }}/" ./debian12/Dockerfile > ./debian12/Dockerfile.tmp
|
||||||
|
mv -f ./debian12/Dockerfile.tmp ./debian12/Dockerfile
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- name: Login to DockerHub (iobroker)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
|
|
||||||
|
- name: Build and push Docker image
|
||||||
|
uses: docker/build-push-action@v6.18.0
|
||||||
|
with:
|
||||||
|
context: ./debian12
|
||||||
|
file: ./debian12/Dockerfile
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
|
||||||
|
create-multiarch-image-for-iobroker:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-latest-armv7-for-iobroker, build-latest-arm64v8-for-iobroker, build-latest-amd64-for-iobroker, create-build-number]
|
||||||
|
steps:
|
||||||
|
- name: Checkout repo
|
||||||
|
uses: actions/checkout@v4.2.2
|
||||||
|
with:
|
||||||
|
repository: 'buanet/ioBroker.docker'
|
||||||
|
ref: ${{ needs.create-build-number.outputs.release_tag }}
|
||||||
|
|
||||||
|
- name: Set job variables
|
||||||
|
run: |
|
||||||
|
VERSION="$(cat .VERSION)"
|
||||||
|
MAJORVERSION="$(cat .VERSION | cut -c 1-3 | sed -r 's#^(.{0})#\1latest-#')"
|
||||||
|
BUILD="${{ needs.create-build-number.outputs.build_number }}"
|
||||||
|
# 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: $BUILD"
|
||||||
|
echo "build=$BUILD" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Login to DockerHub (iobroker)
|
||||||
|
uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
|
|
||||||
|
- name: Create and push multi-platform image
|
||||||
|
run: |
|
||||||
|
docker buildx imagetools create -t iobroker/iobroker:latest iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t iobroker/iobroker:${{ env.majorversion }} iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t iobroker/iobroker:${{ env.version }} iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
|
docker buildx imagetools create -t iobroker/iobroker:${{ env.version }}-build.${{ env.build }} iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-armv7 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-arm64v8 iobroker/iobroker:${{ env.version }}-build.${{ env.build }}-amd64
|
||||||
8
.github/workflows/testing-docker-image.yml
vendored
8
.github/workflows/testing-docker-image.yml
vendored
@@ -11,11 +11,11 @@ jobs:
|
|||||||
- name: Testing with docker run
|
- name: Testing with docker run
|
||||||
run: |
|
run: |
|
||||||
echo "[LOG] Starting ioBroker Container..."
|
echo "[LOG] Starting ioBroker Container..."
|
||||||
docker run -d -p 8081:8081 --name iobroker -v iobrokerdata:/opt/iobroker buanet/iobroker:latest
|
docker run -d --name iobroker buanet/iobroker:latest
|
||||||
echo "[LOG] Done."
|
echo "[LOG] Done."
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "[LOG] Waiting for Startup Script..."
|
echo "[LOG] Waiting for Startup Script..."
|
||||||
sleep 30
|
sleep 60
|
||||||
echo "[LOG] Done."
|
echo "[LOG] Done."
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "[LOG] Writing Logs..."
|
echo "[LOG] Writing Logs..."
|
||||||
@@ -23,11 +23,11 @@ jobs:
|
|||||||
echo "[LOG] Done."
|
echo "[LOG] Done."
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "[LOG] Checking Web UI..."
|
echo "[LOG] Checking Web UI..."
|
||||||
curl --insecure http://127.0.0.1:8081 2> /dev/null | grep '<title>Admin</title>' &> /dev/null || exit 1
|
docker exec iobroker curl -s http://localhost:8081 | grep -q '<title>Admin</title>' || { echo "[LOG] Fehler: Web UI nicht erreichbar."; exit 1; }
|
||||||
echo "[LOG] Done."
|
echo "[LOG] Done."
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "[LOG] Output testrun.log:"
|
echo "[LOG] Output testrun.log:"
|
||||||
cat testrun.log
|
cat testrun.log
|
||||||
echo ' '
|
echo ' '
|
||||||
echo "[LOG] Test sucesssful."
|
echo "[LOG] Test successful."
|
||||||
echo ' '
|
echo ' '
|
||||||
|
|||||||
10
.github/workflows/update-docker-readme.yml
vendored
10
.github/workflows/update-docker-readme.yml
vendored
@@ -12,22 +12,22 @@ jobs:
|
|||||||
update-docker-readme:
|
update-docker-readme:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.7
|
- uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Update Docker Hub Readme (buanet)
|
- name: Update Docker Hub Readme (buanet)
|
||||||
uses: peter-evans/dockerhub-description@v4.0.0
|
uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER }}
|
username: ${{ secrets.DOCKER_USER }}
|
||||||
password: ${{ secrets.DOCKER_PASS }}
|
password: ${{ secrets.DOCKER_PASS }}
|
||||||
repository: buanet/iobroker
|
repository: buanet/iobroker
|
||||||
short-description: Official Docker image for ioBroker based on Debian Bullseye slim
|
short-description: Official Docker image for ioBroker based on Debian Bookworm slim
|
||||||
readme-filepath: ./docs/README_docker_hub_buanet.md
|
readme-filepath: ./docs/README_docker_hub_buanet.md
|
||||||
|
|
||||||
- name: Update Docker Hub Readme (iobroker)
|
- name: Update Docker Hub Readme (iobroker)
|
||||||
uses: peter-evans/dockerhub-description@v4.0.0
|
uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USER_IOB }}
|
username: ${{ secrets.DOCKER_USER_IOB }}
|
||||||
password: ${{ secrets.DOCKER_PASS_IOB }}
|
password: ${{ secrets.DOCKER_PASS_IOB }}
|
||||||
repository: iobroker/iobroker
|
repository: iobroker/iobroker
|
||||||
short-description: Official Docker image for ioBroker based on Debian Bullseye slim
|
short-description: Official Docker image for ioBroker based on Debian Bookworm slim
|
||||||
readme-filepath: ./docs/README_docker_hub_iobroker.md
|
readme-filepath: ./docs/README_docker_hub_iobroker.md
|
||||||
33
.github/workflows/version-checks.yml
vendored
33
.github/workflows/version-checks.yml
vendored
@@ -10,24 +10,17 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repo
|
- name: Checkout repo
|
||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
repository: 'buanet/ioBroker.docker'
|
repository: 'buanet/ioBroker.docker'
|
||||||
token: ${{ secrets.ACTIONS_PAT }}
|
token: ${{ secrets.ACTIONS_PAT }}
|
||||||
|
|
||||||
- name: Get and write version
|
- name: Docker baseimage check
|
||||||
id: version
|
id: baseimage-check
|
||||||
run: |
|
uses: lucacome/docker-image-update-checker@v2.0.0
|
||||||
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.6
|
|
||||||
with:
|
with:
|
||||||
base-image: '${{ env.baseimage }}'
|
base-image: debian:bookworm-slim
|
||||||
image: '${{ env.iobroker }}'
|
image: buanet/iobroker:latest
|
||||||
|
|
||||||
- name: Fetch ioBroker and nodejs versions
|
- name: Fetch ioBroker and nodejs versions
|
||||||
run: |
|
run: |
|
||||||
@@ -44,7 +37,7 @@ jobs:
|
|||||||
jq -r '."discovery".version' > .github/dependencies/.discovery-version
|
jq -r '."discovery".version' > .github/dependencies/.discovery-version
|
||||||
echo "[LOG] Fetched discovery version is $(cat .github/dependencies/.discovery-version)"
|
echo "[LOG] Fetched discovery version is $(cat .github/dependencies/.discovery-version)"
|
||||||
curl -sL https://nodejs.org/dist/index.json | \
|
curl -sL https://nodejs.org/dist/index.json | \
|
||||||
jq -r 'map(select(.version | startswith("v18."))) | .[0].version' > .github/dependencies/.nodejs-version
|
jq -r 'map(select(.version | startswith("v20."))) | .[0].version' > .github/dependencies/.nodejs-version
|
||||||
echo "[LOG] Fetched nodejs version is $(cat .github/dependencies/.nodejs-version)"
|
echo "[LOG] Fetched nodejs version is $(cat .github/dependencies/.nodejs-version)"
|
||||||
|
|
||||||
- name: Check for modified files
|
- name: Check for modified files
|
||||||
@@ -59,10 +52,16 @@ jobs:
|
|||||||
git commit -am "new ioBroker versions"
|
git commit -am "new ioBroker versions"
|
||||||
git push
|
git push
|
||||||
|
|
||||||
|
- name: Logging result
|
||||||
|
run: |
|
||||||
|
echo "base image updated = ${{ steps.baseimage-check.outputs.needs-updating }}"
|
||||||
|
echo "ioBroker version updated = ${{ steps.git-check.outputs.modified }}"
|
||||||
|
|
||||||
- name: Trigger Build Debian 12 Image (latest)
|
- name: Trigger Build Debian 12 Image (latest)
|
||||||
if: steps.baseimage.outputs.needs-update == 'true' || steps.git-check.outputs.modified == 'true'
|
if: steps.baseimage-check.outputs.needs-updating == 'true' || steps.git-check.outputs.modified == 'true'
|
||||||
uses: benc-uk/workflow-dispatch@v1.2
|
uses: benc-uk/workflow-dispatch@v1.2
|
||||||
with:
|
with:
|
||||||
workflow: Build Debian 12 Image (latest)
|
ref: 'main'
|
||||||
repo: buanet/ioBroker.docker
|
workflow: 'Build Debian 12 Image (latest)'
|
||||||
|
repo: 'buanet/iobroker.docker'
|
||||||
token: ${{ secrets.ACTIONS_PAT }}
|
token: ${{ secrets.ACTIONS_PAT }}
|
||||||
|
|||||||
@@ -1,5 +1,14 @@
|
|||||||
## Changelog
|
## Changelog
|
||||||
|
|
||||||
|
### V11.0.0 (21.07.2025)
|
||||||
|
* releasing V11.0.0 instead of V10.1.0 due to the upgrade to recommended node22
|
||||||
|
* v10.1.0-beta.1 (24.05.2025)
|
||||||
|
* remove restore option from maintenance script
|
||||||
|
* restructure build process
|
||||||
|
* add node22 tag to beta
|
||||||
|
* update readme and docs
|
||||||
|
* add sorted list of backups ([#530 by @Marc-Berg](https://github.com/buanet/ioBroker.docker/pull/530))
|
||||||
|
|
||||||
### v10.0.0 (08.08.2024)
|
### v10.0.0 (08.08.2024)
|
||||||
* v10.0.0-beta.2 (07.08.2024)
|
* v10.0.0-beta.2 (07.08.2024)
|
||||||
* add build date to image
|
* add build date to image
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2017-2023 André Germann
|
Copyright (c) 2017-2025 André Germann
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[](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-debian12-latest.yml)
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.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/pulls)
|
||||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
@@ -78,7 +78,7 @@ Moved to [CHANGELOG.md](CHANGELOG.md).
|
|||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2017-2024 André Germann
|
Copyright (c) 2017-2025 André Germann
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
FROM debian:bookworm-slim
|
FROM debian:bookworm-slim
|
||||||
|
# FROM node:20.12-bookworm-slim
|
||||||
|
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
|
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.description="Official Docker image for ioBroker smarthome software (https://www.iobroker.net)" \
|
||||||
@@ -84,7 +86,7 @@ RUN apt-get update && apt-get upgrade -y \
|
|||||||
&& rm -rf /tmp/* /var/tmp/* /root/.cache/* /root/.npm/* /var/lib/apt/lists/*
|
&& rm -rf /tmp/* /var/tmp/* /root/.cache/* /root/.npm/* /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Default environment variables
|
# Default environment variables
|
||||||
ENV BUILD="${DATI}" \
|
ENV BUILD="${BUILD}" \
|
||||||
DEBIAN_FRONTEND="teletype" \
|
DEBIAN_FRONTEND="teletype" \
|
||||||
LANG="de_DE.UTF-8" \
|
LANG="de_DE.UTF-8" \
|
||||||
LANGUAGE="de_DE:de" \
|
LANGUAGE="de_DE:de" \
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ display_help() {
|
|||||||
echo " off > switches mantenance mode OFF and stops or restarts the container"
|
echo " off > switches mantenance mode OFF and stops or restarts the container"
|
||||||
echo " upgrade > puts the container to maintenance mode and upgrades ioBroker"
|
echo " upgrade > puts the container to maintenance mode and upgrades ioBroker"
|
||||||
echo " restart > stops iobroker and stops or restarts the container"
|
echo " restart > stops iobroker and stops or restarts the container"
|
||||||
echo " restore > stops iobroker and restores the last backup"
|
|
||||||
echo " help > shows this help"
|
echo " help > shows this help"
|
||||||
echo " "
|
echo " "
|
||||||
echo "OPTIONS"
|
echo "OPTIONS"
|
||||||
@@ -214,148 +213,10 @@ restart_container() {
|
|||||||
pkill -u iobroker
|
pkill -u iobroker
|
||||||
}
|
}
|
||||||
|
|
||||||
# restore iobroker
|
# restore iobroker <<< Removed due to changes in backup structure and the availability of the graphical restore with backitup
|
||||||
restore_iobroker() {
|
restore_iobroker() {
|
||||||
echo "You are now going to perform a restore of your iobroker."
|
echo "Due to changes in ioBroker backup structure, restoring is no longer supported by this script."
|
||||||
echo "During the restore process, the container will automatically switch into maintenance mode and stop ioBroker."
|
echo "Please use the original ioBroker commands or the graphical ui of backitup adapter."
|
||||||
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
|
|
||||||
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."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# check mainenance mode
|
|
||||||
if ! maintenance_enabled > /dev/null; then
|
|
||||||
autoconfirm=yes
|
|
||||||
enable_maintenance
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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 "Selected backup file is \"$selected_backup\"."
|
|
||||||
else
|
|
||||||
# more than one backup file found, ask user to select
|
|
||||||
echo "There are more than one backup file in \"$backup_dir\"."
|
|
||||||
echo ' '
|
|
||||||
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]}")
|
|
||||||
echo ' '
|
|
||||||
echo "Selected backup file is \"$selected_backup\"."
|
|
||||||
echo ' '
|
|
||||||
fi
|
|
||||||
|
|
||||||
# extract backup.json from backup
|
|
||||||
tar -xvzf $backup_dir/$selected_backup -C $backup_dir --strip-components=1 "backup/backup.json" > /dev/null 2>&1
|
|
||||||
# write js-controller versions from backup.json into array
|
|
||||||
jq_output=$(jq --arg TITLE "JS controller" -r '.objects[] | select(.value.common.title == $TITLE)' $backup_dir/backup.json)
|
|
||||||
# remove backup.json
|
|
||||||
rm $backup_dir/backup.json
|
|
||||||
|
|
||||||
result=()
|
|
||||||
while read -r line; do
|
|
||||||
entry=$(echo "$line" | jq -r '.value.common.installedVersion')
|
|
||||||
result+=("$entry")
|
|
||||||
done <<< "$(echo "$jq_output" | jq -c '.')"
|
|
||||||
|
|
||||||
# check for empty array
|
|
||||||
if [[ "${#result[@]}" -eq 0 ]]; then
|
|
||||||
echo "There was a problem detecting the js-controller version in the seclected backup file."
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
# check if all found js-controller versions are equal (for multihost systems!)
|
|
||||||
first_version=${result[0]}
|
|
||||||
all_versions_equal=true
|
|
||||||
for i in "${result[@]}"; do
|
|
||||||
version=$i
|
|
||||||
if [[ "$version" != "$first_version" ]]; then
|
|
||||||
all_versions_equal=false
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ "$all_versions_equal" != true ]]; then
|
|
||||||
echo "Detected different js-controller versions in the selected backup file."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# compare installed js-controller version with version from backup file
|
|
||||||
echo -n "Checking js-controller versions... "
|
|
||||||
installed_version=$(iob version js-controller)
|
|
||||||
echo "Done."
|
|
||||||
echo ' '
|
|
||||||
echo "Installed js-controller version: $installed_version"
|
|
||||||
echo "Backup js-controller version: $first_version"
|
|
||||||
echo ' '
|
|
||||||
|
|
||||||
if [[ "$first_version" != "$installed_version" ]]; then
|
|
||||||
echo "The installed js-controller version is different from the version in the selected backup file."
|
|
||||||
echo "If you continue, the script will use the \"--force\" option to restore your backup."
|
|
||||||
echo "Although this is normally safe with small version differences, you should know,"
|
|
||||||
echo "that the recommended way is to first install the same js-controller version before restoring the backup file."
|
|
||||||
local reply
|
|
||||||
read -rp 'Do you want to continue [yes/no]? ' reply
|
|
||||||
if [[ "$reply" != y && "$reply" != Y && "$reply" != yes ]]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -n "Restoring ioBroker from \"$selected_backup\"... "
|
|
||||||
|
|
||||||
set +e
|
|
||||||
bash iobroker restore "$selected_backup" --force > /opt/iobroker/log/restore.log 2>&1
|
|
||||||
return_value=$?
|
|
||||||
set -e
|
|
||||||
|
|
||||||
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."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
echo "Done."
|
|
||||||
echo " "
|
|
||||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
|
||||||
echo "!!!! IMPORTANT NOTE !!!!"
|
|
||||||
echo "!!!! The maintenance script restored iobroker from a backup file. !!!!"
|
|
||||||
echo "!!!! Check /opt/iobroker/log/restore.log to see if restore was successful. !!!!"
|
|
||||||
echo "!!!! When ioBroker starts it will reinstall all Adapters automatically. !!!!"
|
|
||||||
echo "!!!! This might be take a looooong time! Please be patient! !!!!"
|
|
||||||
echo "!!!! You can view installation process by taking a look at ioBroker log. !!!!"
|
|
||||||
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
|
||||||
sleep 10
|
|
||||||
echo "Container will be stopped or restarted in 10 seconds..."
|
|
||||||
echo "stopping" > "$healthcheck"
|
|
||||||
sleep 10
|
|
||||||
pkill -u iobroker
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# parsing commands and options
|
# parsing commands and options
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[](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-debian12-latest.yml)
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.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/pulls)
|
||||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
@@ -11,8 +11,8 @@
|
|||||||
[](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)
|
[](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://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
||||||
[](https://paypal.me/buanet)
|
[](https://paypal.me/buanet)
|
||||||
|
|
||||||
@@ -34,18 +34,12 @@ New major image versions (e.g. v6, v7, v8) usually include a new major version o
|
|||||||
|
|
||||||
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.
|
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 22 versions
|
||||||
|
* [`v11.0.0`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile), [`latest-v11`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile)
|
||||||
|
|
||||||
### Node 20 versions
|
### Node 20 versions
|
||||||
* [`v10.0.0`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest-v10`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile)
|
* [`v10.0.0`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest-v10`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile)
|
||||||
|
|
||||||
### Node 18 versions
|
|
||||||
* [`v9.1.2`](https://github.com/buanet/ioBroker.docker/blob/v9.1.2/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.1.2/debian12/Dockerfile)
|
|
||||||
* [`v9.1.1`](https://github.com/buanet/ioBroker.docker/blob/v9.1.1/debian12/Dockerfile)
|
|
||||||
* [`v9.1.0`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile)
|
|
||||||
* [`v9.0.1`](https://github.com/buanet/ioBroker.docker/blob/v9.0.1/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)
|
|
||||||
|
|
||||||
# What is ioBroker?
|
# What is ioBroker?
|
||||||
|
|
||||||
IoBroker is an 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 an 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>
|
||||||
@@ -54,21 +48,22 @@ For further details please check out [iobroker.net](https://www.iobroker.net).
|
|||||||
|
|
||||||
# How to use this image?
|
# How to use this image?
|
||||||
|
|
||||||
## Running from command-line
|
## Quick Start (for testing)
|
||||||
|
|
||||||
For taking a first look at iobroker on docker it would be enough to simply run the following basic docker run command:
|
To quickly try out ioBroker in Docker, simply run:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
|
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running with docker-compose
|
**Note:**
|
||||||
|
All data and settings will be lost when the container is removed or recreated. For production use, always use persistent storage (see below).
|
||||||
|
|
||||||
When using docker-compose define the iobroker service like this:
|
## Production Setup with Docker Compose
|
||||||
|
|
||||||
```
|
For a persistent and production-ready setup, use Docker Compose and mount a volume for your data:
|
||||||
version: '2'
|
|
||||||
|
|
||||||
|
```yaml
|
||||||
services:
|
services:
|
||||||
iobroker:
|
iobroker:
|
||||||
container_name: iobroker
|
container_name: iobroker
|
||||||
@@ -77,70 +72,82 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "8081:8081"
|
- "8081:8081"
|
||||||
|
volumes:
|
||||||
|
- iobrokerdata:/opt/iobroker
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
iobrokerdata:
|
||||||
```
|
```
|
||||||
|
|
||||||
## Persistent data
|
**Tip:**
|
||||||
|
Depending on your adapters, you may need to expose additional ports or use a different network mode (e.g. `network_mode: host`).
|
||||||
|
See the [Networking section](#notes-about-docker-networks) for more details.
|
||||||
|
|
||||||
To make your ioBroker configuration persistent it is recommended to mount a volume or path to `/opt/iobroker`.
|
## Persistent Data
|
||||||
|
|
||||||
On command-line add
|
To keep your ioBroker configuration and data, always mount a volume or path to `/opt/iobroker`:
|
||||||
|
|
||||||
|
**Command-line:**
|
||||||
```
|
```
|
||||||
-v iobrokerdata:/opt/iobroker
|
-v iobrokerdata:/opt/iobroker
|
||||||
```
|
```
|
||||||
On docker-compose add
|
**Docker Compose:**
|
||||||
```
|
```yaml
|
||||||
volumes:
|
volumes:
|
||||||
- iobrokerdata:/opt/iobroker
|
- iobrokerdata:/opt/iobroker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration via environment variables
|
## Configuration via Environment Variables
|
||||||
|
|
||||||
You could use environment variables to auto configure your ioBroker container on startup.
|
You can use environment variables to automatically configure your ioBroker container at startup.
|
||||||
|
|
||||||
### Configure ioBroker application:
|
### Application Configuration
|
||||||
|
|
||||||
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
- `IOB_ADMINPORT` (optional, default: 8081) – Set ioBroker admin port 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` to enable external database backup in the Backitup adapter ([see docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
||||||
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
- `IOB_MULTIHOST` (optional) – Set to "master" or "slave" for multihost support (requires additional config for objectsdb and statesdb)
|
||||||
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis"
|
- `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) – Type of objects DB: "jsonl", "file" (deprecated), or "redis"
|
||||||
* `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_HOST` (optional, default: 127.0.0.1) – Host for objects DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
- `IOB_OBJECTSDB_PORT` (optional, default: 9001) – Port for objects DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
|
- `IOB_OBJECTSDB_PASS` (optional) – Password for Redis DB
|
||||||
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
|
- `IOB_OBJECTSDB_NAME` (optional, default: mymaster) – Redis Sentinel DB name
|
||||||
* `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) – Type of states DB: "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_HOST` (optional, default: 127.0.0.1) – Host for states DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
- `IOB_STATESDB_PORT` (optional, default: 9000) – Port for states DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_STATESDB_PASS` (optional) Set authentication for Redis db connection
|
- `IOB_STATESDB_PASS` (optional) – Password for Redis DB
|
||||||
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
|
- `IOB_STATESDB_NAME` (optional, default: mymaster) – Redis Sentinel DB name
|
||||||
|
|
||||||
### Activate special features:
|
### 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 yahka adapter support)
|
||||||
|
|
||||||
### Configure environment:
|
### Environment Configuration
|
||||||
|
|
||||||
* `DEBUG` (optional) Set `true` to get extended logging messages on container startup
|
- `DEBUG` (optional) – Set `true` for extended logging 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) – 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) – 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) – 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 (space-separated list)
|
||||||
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
|
- `PACKAGES_UPDATE` (optional) – Set `true` to update Linux packages on first start
|
||||||
* `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 permission checks/corrections (use at your 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) – Set the GID for the iobroker user (to match a group on the 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) – Set the UID for the iobroker user (to match a user on the host)
|
||||||
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
|
- `TZ` (optional, default: Europe/Berlin) – Set the timezone (any valid Linux timezone)
|
||||||
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
|
- `USBDEVICES` (optional) – Set permissions for mounted devices (e.g. `/dev/ttyACM0`, separate multiple devices with ";")
|
||||||
|
|
||||||
## Notes about Docker networks
|
## Notes about Docker Networks
|
||||||
|
|
||||||
The examples above are dealing with the Docker default bridge network. In general there are [some reasons](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge) why it might be the better choice to use a user-defined bridge network.
|
The above examples use Docker's default bridge network. In many cases, it is better to use a user-defined bridge network.
|
||||||
|
See [Docker docs: bridge differences](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge).
|
||||||
|
|
||||||
Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you don't forget to redirect the ports your adapters use).<br>
|
A bridge network works for most adapters if you map all required ports.
|
||||||
But some ioBroker adapters are using techniques like [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for automatic detection of IoT devices<br>
|
However, some adapters require [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for device discovery.
|
||||||
In this case it may be useful to switch to [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) network.
|
In these cases, consider using [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) networking.
|
||||||
|
|
||||||
For more information about networking with Docker please refer to the [official Docker docs](https://docs.docker.com/network/).
|
For more information, see the [official Docker networking documentation](https://docs.docker.com/network/).
|
||||||
|
|
||||||
# Support the Project
|
# Support the Project
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
[](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-debian12-latest.yml)
|
[](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.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/pulls)
|
||||||
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
[](https://github.com/buanet/ioBroker.docker/discussions)<br>
|
||||||
@@ -13,8 +13,8 @@
|
|||||||
[](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)
|
[](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://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
|
||||||
[](https://paypal.me/buanet)
|
[](https://paypal.me/buanet)
|
||||||
|
|
||||||
@@ -36,18 +36,12 @@ New major image versions (e.g. v6, v7, v8) usually include a new major version o
|
|||||||
|
|
||||||
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.
|
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 22 versions
|
||||||
|
* [`v11.0.0`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile), [`latest-v11`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v11.0.0/debian12/Dockerfile)
|
||||||
|
|
||||||
### Node 20 versions
|
### Node 20 versions
|
||||||
* [`v10.0.0`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest-v10`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile)
|
* [`v10.0.0`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest-v10`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile), [`latest`](https://github.com/buanet/ioBroker.docker/blob/v10.0.0/debian12/Dockerfile)
|
||||||
|
|
||||||
### Node 18 versions
|
|
||||||
* [`v9.1.2`](https://github.com/buanet/ioBroker.docker/blob/v9.1.2/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.1.2/debian12/Dockerfile)
|
|
||||||
* [`v9.1.1`](https://github.com/buanet/ioBroker.docker/blob/v9.1.1/debian12/Dockerfile)
|
|
||||||
* [`v9.1.0`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile)
|
|
||||||
* [`v9.0.1`](https://github.com/buanet/ioBroker.docker/blob/v9.0.1/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)
|
|
||||||
|
|
||||||
# What is ioBroker?
|
# What is ioBroker?
|
||||||
|
|
||||||
IoBroker is an 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 an 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>
|
||||||
@@ -56,21 +50,22 @@ For further details please check out [iobroker.net](https://www.iobroker.net).
|
|||||||
|
|
||||||
# How to use this image?
|
# How to use this image?
|
||||||
|
|
||||||
## Running from command-line
|
## Quick Start (for testing)
|
||||||
|
|
||||||
For taking a first look at iobroker on docker it would be enough to simply run the following basic docker run command:
|
To quickly try out ioBroker in Docker, simply run:
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
|
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running with docker-compose
|
**Note:**
|
||||||
|
All data and settings will be lost when the container is removed or recreated. For production use, always use persistent storage (see below).
|
||||||
|
|
||||||
When using docker-compose define the iobroker service like this:
|
## Production Setup with Docker Compose
|
||||||
|
|
||||||
```
|
For a persistent and production-ready setup, use Docker Compose and mount a volume for your data:
|
||||||
version: '2'
|
|
||||||
|
|
||||||
|
```yaml
|
||||||
services:
|
services:
|
||||||
iobroker:
|
iobroker:
|
||||||
container_name: iobroker
|
container_name: iobroker
|
||||||
@@ -79,70 +74,82 @@ services:
|
|||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "8081:8081"
|
- "8081:8081"
|
||||||
|
volumes:
|
||||||
|
- iobrokerdata:/opt/iobroker
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
iobrokerdata:
|
||||||
```
|
```
|
||||||
|
|
||||||
## Persistent data
|
**Tip:**
|
||||||
|
Depending on your adapters, you may need to expose additional ports or use a different network mode (e.g. `network_mode: host`).
|
||||||
|
See the [Networking section](#notes-about-docker-networks) for more details.
|
||||||
|
|
||||||
To make your ioBroker configuration persistent it is recommended to mount a volume or path to `/opt/iobroker`.
|
## Persistent Data
|
||||||
|
|
||||||
On command-line add
|
To keep your ioBroker configuration and data, always mount a volume or path to `/opt/iobroker`:
|
||||||
|
|
||||||
|
**Command-line:**
|
||||||
```
|
```
|
||||||
-v iobrokerdata:/opt/iobroker
|
-v iobrokerdata:/opt/iobroker
|
||||||
```
|
```
|
||||||
On docker-compose add
|
**Docker Compose:**
|
||||||
```
|
```yaml
|
||||||
volumes:
|
volumes:
|
||||||
- iobrokerdata:/opt/iobroker
|
- iobrokerdata:/opt/iobroker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration via environment variables
|
## Configuration via Environment Variables
|
||||||
|
|
||||||
You could use environment variables to auto configure your ioBroker container on startup.
|
You can use environment variables to automatically configure your ioBroker container at startup.
|
||||||
|
|
||||||
### Configure ioBroker application:
|
### Application Configuration
|
||||||
|
|
||||||
* `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker adminport on startup
|
- `IOB_ADMINPORT` (optional, default: 8081) – Set ioBroker admin port 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` to enable external database backup in the Backitup adapter ([see docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
|
||||||
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs additional config for objectsdb and statesdb!)
|
- `IOB_MULTIHOST` (optional) – Set to "master" or "slave" for multihost support (requires additional config for objectsdb and statesdb)
|
||||||
* `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Set type of ioBroker objects db, could be "jsonl", "file" (deprecated) or "redis"
|
- `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) – Type of objects DB: "jsonl", "file" (deprecated), or "redis"
|
||||||
* `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_HOST` (optional, default: 127.0.0.1) – Host for objects DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
|
- `IOB_OBJECTSDB_PORT` (optional, default: 9001) – Port for objects DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
|
- `IOB_OBJECTSDB_PASS` (optional) – Password for Redis DB
|
||||||
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
|
- `IOB_OBJECTSDB_NAME` (optional, default: mymaster) – Redis Sentinel DB name
|
||||||
* `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) – Type of states DB: "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_HOST` (optional, default: 127.0.0.1) – Host for states DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
|
- `IOB_STATESDB_PORT` (optional, default: 9000) – Port for states DB (comma-separated for Redis Sentinel)
|
||||||
* `IOB_STATESDB_PASS` (optional) Set authentication for Redis db connection
|
- `IOB_STATESDB_PASS` (optional) – Password for Redis DB
|
||||||
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
|
- `IOB_STATESDB_NAME` (optional, default: mymaster) – Redis Sentinel DB name
|
||||||
|
|
||||||
### Activate special features:
|
### 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 yahka adapter support)
|
||||||
|
|
||||||
### Configure environment:
|
### Environment Configuration
|
||||||
|
|
||||||
* `DEBUG` (optional) Set `true` to get extended logging messages on container startup
|
- `DEBUG` (optional) – Set `true` for extended logging 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) – 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) – 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) – 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 (space-separated list)
|
||||||
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
|
- `PACKAGES_UPDATE` (optional) – Set `true` to update Linux packages on first start
|
||||||
* `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 permission checks/corrections (use at your 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) – Set the GID for the iobroker user (to match a group on the 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) – Set the UID for the iobroker user (to match a user on the host)
|
||||||
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
|
- `TZ` (optional, default: Europe/Berlin) – Set the timezone (any valid Linux timezone)
|
||||||
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
|
- `USBDEVICES` (optional) – Set permissions for mounted devices (e.g. `/dev/ttyACM0`, separate multiple devices with ";")
|
||||||
|
|
||||||
## Notes about Docker networks
|
## Notes about Docker Networks
|
||||||
|
|
||||||
The examples above are dealing with the Docker default bridge network. In general there are [some reasons](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge) why it might be the better choice to use a user-defined bridge network.
|
The above examples use Docker's default bridge network. In many cases, it is better to use a user-defined bridge network.
|
||||||
|
See [Docker docs: bridge differences](https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge).
|
||||||
|
|
||||||
Using a Docker bridge network works fine for taking a first look and with most of the ioBroker adapters (if you don't forget to redirect the ports your adapters use).<br>
|
A bridge network works for most adapters if you map all required ports.
|
||||||
But some ioBroker adapters are using techniques like [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for automatic detection of IoT devices<br>
|
However, some adapters require [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for device discovery.
|
||||||
In this case it may be useful to switch to [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) network.
|
In these cases, consider using [host](https://docs.docker.com/network/host/) or [MACVLAN](https://docs.docker.com/network/macvlan/) networking.
|
||||||
|
|
||||||
For more information about networking with Docker please refer to the [official Docker docs](https://docs.docker.com/network/).
|
For more information, see the [official Docker networking documentation](https://docs.docker.com/network/).
|
||||||
|
|
||||||
# Support the Project
|
# Support the Project
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user