Compare commits

..

214 Commits

Author SHA1 Message Date
buanet
df7523d1cb release v11 2025-07-21 18:58:13 +02:00
André Germann
04ae0f4bb6 Merge pull request #539 from buanet/dependabot/github_actions/main/docker/build-push-action-6.18.0
Bump docker/build-push-action from 6.17.0 to 6.18.0
2025-07-21 18:38:39 +02:00
André Germann
9e50735ce5 Merge pull request #541 from buanet/dependabot/github_actions/main/docker/setup-buildx-action-3.11.1
Bump docker/setup-buildx-action from 3.10.0 to 3.11.1
2025-07-21 18:38:16 +02:00
buanet
8aa80342a0 new build 2025-07-16 23:47:05 +00:00
buanet
b62c8d7ee7 new ioBroker versions 2025-07-16 23:46:58 +00:00
buanet
d98b332d0e new build 2025-07-15 23:48:45 +00:00
buanet
7b287437b9 new ioBroker versions 2025-07-15 23:48:37 +00:00
buanet
241ca6db51 new build 2025-07-01 23:45:40 +00:00
buanet
a676b37144 new build 2025-06-23 23:44:31 +00:00
buanet
9197c3dee6 new ioBroker versions 2025-06-23 23:44:24 +00:00
dependabot[bot]
38c22b15dc Bump docker/setup-buildx-action from 3.10.0 to 3.11.1
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.10.0 to 3.11.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.10.0...v3.11.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-18 10:00:10 +00:00
buanet
ecc82a88be new build 2025-06-11 23:46:08 +00:00
dependabot[bot]
9dd5097d0d Bump docker/build-push-action from 6.17.0 to 6.18.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.17.0...v6.18.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 09:19:57 +00:00
buanet
94199cba10 new build 2025-05-27 23:43:58 +00:00
buanet
00d353b68f new ioBroker versions 2025-05-27 23:43:49 +00:00
buanet
73c77f40ef new build 2025-05-27 08:31:11 +00:00
buanet
34eaab679f fix gh action 2025-05-27 10:30:34 +02:00
buanet
39ab62d5f1 small fix in gh action 2025-05-27 10:26:33 +02:00
buanet
7e0ab2281d new ioBroker versions 2025-05-26 23:45:00 +00:00
buanet
2eec1a46f4 update docs 2025-05-24 20:42:29 +02:00
buanet
7dcc948486 change gh actions variable 2025-05-24 18:57:39 +02:00
buanet
56b1cf9899 harmonize build actions 2025-05-24 18:51:06 +02:00
buanet
b9afbef087 fix dependency 2025-05-24 18:08:32 +02:00
André Germann
c5a6e675e5 Merge pull request #533 from buanet/dependabot/github_actions/main/docker/setup-qemu-action-3.6.0
Bump docker/setup-qemu-action from 3.2.0 to 3.6.0
2025-05-24 17:41:47 +02:00
André Germann
5191f212ad Merge pull request #534 from buanet/dependabot/github_actions/main/actions/checkout-4.2.2
Bump actions/checkout from 4.1.7 to 4.2.2
2025-05-24 17:41:30 +02:00
André Germann
84773f966f Merge pull request #535 from buanet/dependabot/github_actions/main/docker/setup-buildx-action-3.10.0
Bump docker/setup-buildx-action from 3.6.1 to 3.10.0
2025-05-24 17:40:46 +02:00
André Germann
105aec37de Merge pull request #536 from buanet/dependabot/github_actions/main/docker/login-action-3.4.0
Bump docker/login-action from 3.3.0 to 3.4.0
2025-05-24 17:40:28 +02:00
André Germann
e0ca97ba99 Merge pull request #537 from buanet/dependabot/github_actions/main/docker/build-push-action-6.17.0
Bump docker/build-push-action from 6.6.1 to 6.17.0
2025-05-24 17:39:56 +02:00
dependabot[bot]
f84bb008df Bump docker/build-push-action from 6.6.1 to 6.17.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.1 to 6.17.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.6.1...v6.17.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 15:38:59 +00:00
dependabot[bot]
ff8dd7cf42 Bump docker/login-action from 3.3.0 to 3.4.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 15:38:57 +00:00
dependabot[bot]
12122fece5 Bump docker/setup-buildx-action from 3.6.1 to 3.10.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.6.1 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.6.1...v3.10.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 3.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 15:38:54 +00:00
dependabot[bot]
f5c5f0c7ee Bump actions/checkout from 4.1.7 to 4.2.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 4.2.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 15:38:52 +00:00
dependabot[bot]
9eaff1e39e Bump docker/setup-qemu-action from 3.2.0 to 3.6.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.2.0 to 3.6.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.2.0...v3.6.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: 3.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 15:38:49 +00:00
buanet
8b8d71621e update dependabot 2025-05-24 17:38:09 +02:00
buanet
cc69a293cf prepare beta release 2025-05-24 17:33:09 +02:00
buanet
0b945b2e05 fix dependency 2025-05-24 14:28:41 +02:00
buanet
4a9fc1095a add experimental node build 2025-05-24 14:26:49 +02:00
buanet
82b8ce9463 fix tag and change output 2025-05-24 13:48:15 +02:00
buanet
d2e9def207 fix dev 2025-05-24 13:31:58 +02:00
buanet
3ac6a10243 add dev build 2025-05-24 13:30:57 +02:00
buanet
d31c8561d8 new build 2025-05-22 23:44:01 +00:00
buanet
0901cad1e5 update docker hub docs 2025-05-21 22:14:54 +02:00
buanet
e7afea11d4 fix docker hub docs 2025-05-21 22:11:57 +02:00
André Germann
1e0078f689 Merge pull request #532 from buanet/beta
Merge into main
2025-05-21 22:04:15 +02:00
buanet
a9452d5179 Merge remote-tracking branch 'origin/main' into beta 2025-05-21 21:54:00 +02:00
buanet
40f9e1aca9 pause node image tests 2025-05-21 21:46:57 +02:00
buanet
7323deed6b update docker readme 2025-05-21 21:37:18 +02:00
André Germann
fa6486bff8 Merge pull request #530 from Marc-Berg/main
Changed the description on Docker Hub, sorted list of backup files
2025-05-21 20:54:23 +02:00
André Germann
d9a05a7fe9 Merge pull request #523 from buanet/dependabot/github_actions/beta/docker/setup-qemu-action-3.6.0
Bump docker/setup-qemu-action from 3.5.0 to 3.6.0
2025-05-21 20:50:52 +02:00
André Germann
a6a19f2267 Merge pull request #524 from buanet/dependabot/github_actions/beta/docker/login-action-3.4.0
Bump docker/login-action from 3.3.0 to 3.4.0
2025-05-21 20:50:38 +02:00
André Germann
97c7b79a56 Merge pull request #526 from buanet/dependabot/github_actions/beta/peter-evans/dockerhub-description-4.0.2
Bump peter-evans/dockerhub-description from 4.0.0 to 4.0.2
2025-05-21 20:50:26 +02:00
André Germann
0930fa137c Merge pull request #531 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.17.0
Bump docker/build-push-action from 6.15.0 to 6.17.0
2025-05-21 20:50:01 +02:00
Marc-Berg
98559888d4 Sorted list of backup files 2025-05-16 13:05:17 +02:00
dependabot[bot]
16e4d165d5 Bump docker/build-push-action from 6.15.0 to 6.17.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.15.0 to 6.17.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.15.0...v6.17.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 09:31:51 +00:00
buanet
d9273c5a08 new build 2025-05-14 23:44:47 +00:00
buanet
93ce694e1f new ioBroker versions 2025-05-14 23:44:37 +00:00
Marc-Berg
318e41d84c Changed the description on Docker Hub 2025-05-06 11:29:49 +02:00
buanet
b7bb47c84a new build 2025-04-30 23:43:46 +00:00
buanet
2ec8bf6c0b new build 2025-04-29 23:43:38 +00:00
buanet
e9c1064028 new build 2025-04-22 23:43:55 +00:00
buanet
74dcd9b0f3 new ioBroker versions 2025-04-22 23:43:47 +00:00
buanet
e75696041e new build 2025-04-18 11:16:31 +00:00
buanet
3c935e5637 new ioBroker versions 2025-04-18 11:16:22 +00:00
André Germann
e515245228 updated nodejs version in check 2025-04-18 13:15:52 +02:00
buanet
f6574bc8ad new build 2025-04-08 23:43:18 +00:00
dependabot[bot]
8383874542 Bump peter-evans/dockerhub-description from 4.0.0 to 4.0.2
Bumps [peter-evans/dockerhub-description](https://github.com/peter-evans/dockerhub-description) from 4.0.0 to 4.0.2.
- [Release notes](https://github.com/peter-evans/dockerhub-description/releases)
- [Commits](https://github.com/peter-evans/dockerhub-description/compare/v4.0.0...v4.0.2)

---
updated-dependencies:
- dependency-name: peter-evans/dockerhub-description
  dependency-version: 4.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-03 09:06:33 +00:00
buanet
1d25a7ee2f new build 2025-03-27 23:43:57 +00:00
buanet
5835247059 new ioBroker versions 2025-03-27 23:43:50 +00:00
buanet
822045a4ae new build 2025-03-24 23:42:59 +00:00
buanet
866e9a4913 new ioBroker versions 2025-03-24 23:42:50 +00:00
buanet
ebb0b7b046 new build 2025-03-18 23:43:11 +00:00
dependabot[bot]
9dd3712faa Bump docker/login-action from 3.3.0 to 3.4.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 09:43:41 +00:00
dependabot[bot]
a2cc4f5246 Bump docker/setup-qemu-action from 3.5.0 to 3.6.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.5.0...v3.6.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 09:59:44 +00:00
André Germann
50675a1e0e Merge pull request #520 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.15.0
Bump docker/build-push-action from 6.12.0 to 6.15.0
2025-02-28 07:53:33 +01:00
André Germann
f52aa4f9db Merge pull request #521 from buanet/dependabot/github_actions/beta/docker/setup-qemu-action-3.5.0
Bump docker/setup-qemu-action from 3.3.0 to 3.5.0
2025-02-28 07:52:44 +01:00
André Germann
dc8347a2a7 Merge pull request #522 from buanet/dependabot/github_actions/beta/docker/setup-buildx-action-3.10.0
Bump docker/setup-buildx-action from 3.8.0 to 3.10.0
2025-02-28 07:52:09 +01:00
dependabot[bot]
df9a96ef8b Bump docker/setup-buildx-action from 3.8.0 to 3.10.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.8.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.8.0...v3.10.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 09:43:22 +00:00
dependabot[bot]
c98a66934d Bump docker/setup-qemu-action from 3.3.0 to 3.5.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.3.0 to 3.5.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.3.0...v3.5.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 09:43:20 +00:00
dependabot[bot]
798a02965f Bump docker/build-push-action from 6.12.0 to 6.15.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.12.0...v6.15.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-27 09:43:18 +00:00
buanet
e9f12ceaab new build 2025-02-25 23:43:18 +00:00
buanet
960d5249d9 new build 2025-02-20 23:43:14 +00:00
buanet
adeb8fa3ff new ioBroker versions 2025-02-20 23:43:03 +00:00
buanet
21e66aedff new build 2025-02-04 23:43:18 +00:00
buanet
95dc626a02 new build 2025-01-21 23:43:12 +00:00
buanet
d5acf33650 new ioBroker versions 2025-01-21 23:43:04 +00:00
André Germann
37203dc40f Merge pull request #508 from buanet/dependabot/github_actions/beta/docker/setup-buildx-action-3.8.0
Bump docker/setup-buildx-action from 3.7.1 to 3.8.0
2025-01-17 10:01:49 +01:00
André Germann
30fa668c09 Merge pull request #511 from buanet/dependabot/github_actions/beta/docker/setup-qemu-action-3.3.0
Bump docker/setup-qemu-action from 3.2.0 to 3.3.0
2025-01-17 10:01:24 +01:00
André Germann
38460ad6f4 Merge pull request #512 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.12.0
Bump docker/build-push-action from 6.9.0 to 6.12.0
2025-01-17 10:01:07 +01:00
dependabot[bot]
1e035fa65d Bump docker/build-push-action from 6.9.0 to 6.12.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.12.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.9.0...v6.12.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-16 09:42:10 +00:00
buanet
51f33f02e0 new build 2025-01-14 23:43:27 +00:00
buanet
ab54eaf7f9 new build 2025-01-09 23:43:17 +00:00
buanet
3b53e6a290 new ioBroker versions 2025-01-09 23:43:06 +00:00
buanet
c146cdce4d new build 2025-01-08 23:43:00 +00:00
buanet
f86f1c5941 new ioBroker versions 2025-01-08 23:42:50 +00:00
dependabot[bot]
1c367f5539 Bump docker/setup-qemu-action from 3.2.0 to 3.3.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-08 09:22:19 +00:00
buanet
06ec941203 new build 2024-12-26 23:43:19 +00:00
buanet
7c92f39b86 new ioBroker versions 2024-12-26 23:43:10 +00:00
buanet
ecb8cb2ed6 new build 2024-12-25 23:43:08 +00:00
dependabot[bot]
18b13dd50f Bump docker/setup-buildx-action from 3.7.1 to 3.8.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.7.1...v3.8.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 09:58:23 +00:00
buanet
79d857dcb8 reactivate build trigger 2024-12-06 07:42:39 +01:00
buanet
cd3510695e trying another image checker 2024-12-06 07:40:07 +01:00
buanet
bf9e30d1c0 new build 2024-12-05 23:43:36 +00:00
buanet
bbc88d4d5c new build 2024-12-04 23:43:51 +00:00
buanet
81bea7f7a4 new build 2024-12-03 23:43:29 +00:00
buanet
b439a04f2e new build 2024-12-03 15:08:15 +00:00
buanet
922f77279e update version checker 2024-12-03 16:05:27 +01:00
buanet
431343b52e testing checker 2024-12-03 15:54:41 +01:00
buanet
2b86658af0 new build 2024-12-03 14:45:20 +00:00
buanet
7252c8f5af fix checker 2024-12-03 15:40:36 +01:00
buanet
340d8eceef new build 2024-12-03 14:29:07 +00:00
buanet
016d0ead53 update version checker 2024-12-03 15:28:05 +01:00
buanet
6d6a379fc0 new build 2024-12-02 23:45:23 +00:00
buanet
9a4beb5aef new build 2024-12-01 23:43:28 +00:00
buanet
10650fc23f new build 2024-11-30 23:43:46 +00:00
buanet
87ce008c76 new build 2024-11-29 23:43:23 +00:00
buanet
480293d372 new build 2024-11-28 23:43:20 +00:00
buanet
b06f29c33e new ioBroker versions 2024-11-28 23:43:11 +00:00
buanet
44131ab8b5 new build 2024-11-27 23:43:29 +00:00
buanet
7ce89797fd new build 2024-11-26 23:43:37 +00:00
buanet
60e7dff559 update image test 2024-11-26 11:58:58 +01:00
buanet
5d40cae941 update container test 2024-11-26 11:58:12 +01:00
André Germann
25b893f84f Update testing-docker-image.yml 2024-11-26 11:27:04 +01:00
buanet
adeec1699d update docker image test 2024-11-26 11:15:20 +01:00
buanet
10075ddd12 new build 2024-11-25 23:43:25 +00:00
buanet
cd461e3b1f new build 2024-11-25 23:12:04 +00:00
buanet
4dcb25c7ca fix multiplatform image creation 2024-11-26 00:11:09 +01:00
buanet
980b0b4d8a new build 2024-11-25 22:30:24 +00:00
buanet
29e1662fc1 add build tag 2024-11-25 23:28:47 +01:00
buanet
ddc1b2e93f new build 2024-11-25 21:40:31 +00:00
buanet
f9440d7c77 test buildnumber 2024-11-25 22:39:52 +01:00
buanet
78c97411f0 update readme 2024-11-25 10:12:39 +01:00
buanet
96fe93d819 update hub readme 2024-11-24 23:56:14 +01:00
buanet
372f82dca2 update version check 2024-11-24 23:50:45 +01:00
buanet
a66ffffed9 test new build 2024-11-24 23:42:12 +01:00
buanet
567998b7c4 testing 2024-11-22 12:22:16 +01:00
buanet
36dc9eba9b rename 2024-11-22 12:09:22 +01:00
buanet
2df113f78a testing build 2024-11-22 12:07:14 +01:00
André Germann
5d5e1cb3c1 Merge pull request #504 from buanet/dependabot/github_actions/beta/actions/checkout-4.2.2
Bump actions/checkout from 4.2.1 to 4.2.2
2024-11-20 14:08:30 +01:00
buanet
1c3257a040 new ioBroker versions 2024-11-12 23:43:07 +00:00
dependabot[bot]
db689e2c10 Bump actions/checkout from 4.2.1 to 4.2.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.1...v4.2.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 09:46:11 +00:00
André Germann
50bd0402a8 Merge pull request #501 from buanet/dependabot/github_actions/beta/docker/setup-buildx-action-3.7.1
Bump docker/setup-buildx-action from 3.6.1 to 3.7.1
2024-10-17 22:40:56 +02:00
André Germann
6fe3add213 Merge pull request #502 from buanet/dependabot/github_actions/beta/actions/checkout-4.2.1
Bump actions/checkout from 4.2.0 to 4.2.1
2024-10-17 22:40:08 +02:00
buanet
bab099260a new ioBroker versions 2024-10-15 23:43:29 +00:00
dependabot[bot]
44a9e26c69 Bump actions/checkout from 4.2.0 to 4.2.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 09:34:29 +00:00
dependabot[bot]
f94ac021b5 Bump docker/setup-buildx-action from 3.6.1 to 3.7.1
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.6.1 to 3.7.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.6.1...v3.7.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-04 09:09:19 +00:00
André Germann
4a4a016687 Merge pull request #497 from buanet/dependabot/github_actions/beta/actions/checkout-4.2.0
Bump actions/checkout from 4.1.7 to 4.2.0
2024-10-02 13:04:39 +02:00
André Germann
a369d928e5 Merge pull request #499 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.9.0
Bump docker/build-push-action from 6.7.0 to 6.9.0
2024-10-02 13:04:25 +02:00
dependabot[bot]
a46295f806 Bump docker/build-push-action from 6.7.0 to 6.9.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.7.0 to 6.9.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.7.0...v6.9.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 09:54:08 +00:00
buanet
b0fe6a8082 new ioBroker versions 2024-09-26 23:43:16 +00:00
dependabot[bot]
47ff8e6ebe Bump actions/checkout from 4.1.7 to 4.2.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.7...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 09:48:31 +00:00
buanet
d3d26d19bb new ioBroker versions 2024-09-20 23:43:14 +00:00
buanet
ca666b1c6f new ioBroker versions 2024-09-19 23:42:55 +00:00
buanet
14255e2cb0 remove groupmod 2024-09-19 08:59:27 +02:00
buanet
2528b87e3f remove usermod 2024-09-19 08:45:49 +02:00
buanet
04ec2bf6a5 testing node base image 2024-09-19 08:20:57 +02:00
André Germann
0112d893ff Merge pull request #489 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.7.0
Bump docker/build-push-action from 6.6.1 to 6.7.0
2024-09-19 08:06:06 +02:00
André Germann
e5e6af6e37 Merge pull request #496 from buanet/main
make even
2024-09-19 08:05:45 +02:00
buanet
4244e91b8a new ioBroker versions 2024-09-18 23:43:15 +00:00
buanet
b4445922ca new ioBroker versions 2024-09-09 23:43:04 +00:00
buanet
7a053f5c54 new ioBroker versions 2024-08-28 23:43:04 +00:00
buanet
9aa7259f62 new ioBroker versions 2024-08-21 23:43:15 +00:00
buanet
7c21ebe62e new ioBroker versions 2024-08-20 23:43:26 +00:00
dependabot[bot]
a03576ee62 Bump docker/build-push-action from 6.6.1 to 6.7.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.1 to 6.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.6.1...v6.7.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-14 09:08:17 +00:00
buanet
7a1bdbdd45 fix version check action 2024-08-14 07:25:39 +02:00
buanet
2549003acd fix major version bug in ci 2024-08-08 22:51:07 +02:00
buanet
1799a84b55 update changelog 2024-08-08 21:11:22 +02:00
buanet
e8566624b2 prepare release 2024-08-08 21:07:46 +02:00
André Germann
6d1c6e1d6f Merge pull request #488 from buanet/beta
Beta into main
2024-08-08 20:51:09 +02:00
André Germann
ccb2a51ec7 Merge branch 'main' into beta 2024-08-08 20:50:53 +02:00
André Germann
dfd330b4c4 Merge pull request #487 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.6.1
Bump docker/build-push-action from 6.6.0 to 6.6.1
2024-08-08 20:37:37 +02:00
dependabot[bot]
17ec58c218 Bump docker/build-push-action from 6.6.0 to 6.6.1
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.6.0 to 6.6.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.6.0...v6.6.1)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 09:56:04 +00:00
buanet
8055e12372 update ci logging 2024-08-07 22:34:48 +02:00
buanet
ceb56bb9ad fix typo 2024-08-07 22:32:21 +02:00
buanet
37c5ca9778 testing 2024-08-07 22:29:22 +02:00
buanet
1fb4b5fa66 testing build 2024-08-07 22:27:56 +02:00
buanet
06de6675d9 fix typo 2024-08-07 22:19:20 +02:00
buanet
870980ccce Add build date and cleanup dockerfile 2024-08-07 22:14:04 +02:00
André Germann
51a25bb2db Merge pull request #484 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.6.0
Bump docker/build-push-action from 6.5.0 to 6.6.0
2024-08-07 20:51:25 +02:00
dependabot[bot]
434ac84f0c Bump docker/build-push-action from 6.5.0 to 6.6.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.5.0 to 6.6.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.5.0...v6.6.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 09:51:47 +00:00
buanet
7257f37b5b new ioBroker versions 2024-08-06 23:49:35 +00:00
buanet
119367dcd9 new ioBroker versions 2024-08-02 23:49:14 +00:00
buanet
da53a96d3c new ioBroker versions 2024-08-01 23:49:33 +00:00
André Germann
56fd73aedf Merge pull request #477 from buanet/dependabot/github_actions/beta/docker/setup-qemu-action-3.2.0
Bump docker/setup-qemu-action from 3.1.0 to 3.2.0
2024-08-01 23:38:31 +02:00
André Germann
4058b4098a Merge pull request #478 from buanet/dependabot/github_actions/beta/docker/login-action-3.3.0
Bump docker/login-action from 3.2.0 to 3.3.0
2024-08-01 23:38:21 +02:00
André Germann
3a22d5e146 Merge pull request #480 from buanet/dependabot/github_actions/beta/docker/build-push-action-6.5.0
Bump docker/build-push-action from 6.3.0 to 6.5.0
2024-08-01 23:37:48 +02:00
André Germann
da56dc48b3 Merge pull request #482 from buanet/dependabot/github_actions/beta/docker/setup-buildx-action-3.6.1
Bump docker/setup-buildx-action from 3.4.0 to 3.6.1
2024-08-01 23:37:31 +02:00
dependabot[bot]
f46849d4dd Bump docker/setup-buildx-action from 3.4.0 to 3.6.1
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.4.0 to 3.6.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.4.0...v3.6.1)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-30 09:12:27 +00:00
dependabot[bot]
f0d8013ff6 Bump docker/build-push-action from 6.3.0 to 6.5.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.3.0 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.3.0...v6.5.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 09:31:40 +00:00
dependabot[bot]
3910a604e1 Bump docker/login-action from 3.2.0 to 3.3.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 09:33:21 +00:00
dependabot[bot]
5a8d251652 Bump docker/setup-qemu-action from 3.1.0 to 3.2.0
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 09:33:18 +00:00
buanet
b934d8bb5c testing 2024-07-15 01:18:32 +02:00
buanet
2416960d6b update ref 2024-07-15 00:06:56 +02:00
buanet
926f5dd88f fix legacy key value format 2024-07-14 23:38:30 +02:00
André Germann
c933164f41 Create build-debian12-beta_ext.yml 2024-07-13 23:08:44 +02:00
buanet
9218a316bb new ioBroker versions 2024-07-09 23:44:26 +00:00
buanet
c5194b9701 new ioBroker versions 2024-06-25 23:44:19 +00:00
buanet
5247639a66 new ioBroker versions 2024-06-12 23:44:36 +00:00
buanet
320a92dff4 new ioBroker versions 2024-05-21 23:44:28 +00:00
buanet
3bc1952219 new ioBroker versions 2024-04-15 23:44:33 +00:00
buanet
c6b49e4979 new ioBroker versions 2024-04-10 23:44:32 +00:00
buanet
1dc2a7e57e fix typo 2024-04-06 00:55:47 +02:00
André Germann
e0f403c62e Merge pull request #436 from wolque/typos
insignificant typo fixes
2024-04-06 00:53:54 +02:00
buanet
7249d9e585 update docs 2024-04-05 09:13:34 +02:00
André Germann
b7465c5665 Merge pull request #453 from buanet/beta
Merge Hotfix v9.1.2 into main
2024-04-05 09:10:50 +02:00
buanet
74e3789edd new ioBroker versions 2024-04-04 14:47:55 +00:00
buanet
2b3421bb7a update version check for nodejs 2024-04-04 16:47:04 +02:00
buanet
7f6bc5052f new ioBroker versions 2024-03-14 23:44:25 +00:00
buanet
89cd94b0b8 new ioBroker versions 2024-02-21 23:44:37 +00:00
buanet
5c2a6e42dd new ioBroker versions 2024-02-20 23:44:27 +00:00
buanet
649fd1e300 new ioBroker versions 2024-02-04 23:44:18 +00:00
Wolfram Quester
bb12dd4b7b insignificant typo fixes
Sorry, due to lack of experience with ioBroker I can only nit-pick
2024-02-04 15:27:58 +01:00
buanet
21b82c4053 new ioBroker versions 2024-01-30 23:44:27 +00:00
André Germann
7f66aad03f Merge pull request #434 from buanet/beta
Reactivate arm/v7 in build process
2024-01-26 13:14:14 +01:00
buanet
75e77d51e4 update docker hub readme 2024-01-25 20:52:18 +01:00
25 changed files with 1612 additions and 829 deletions

View File

@@ -1 +1 @@
v10.0.0-beta.1
v11.0.0

View File

@@ -5,4 +5,4 @@ updates:
directory: "/"
schedule:
interval: "daily"
target-branch: "beta"
target-branch: "main"

View File

@@ -1 +1 @@
6.12.0
7.6.17

View File

@@ -1 +1 @@
2.9.8
3.3.5

View File

@@ -1 +1 @@
4.2.0
5.0.0

View File

@@ -1 +1 @@
5.0.17
7.0.6

1
.github/dependencies/.latest-build vendored Normal file
View File

@@ -0,0 +1 @@
20250716.234705

View File

@@ -1 +1 @@
18.17.1
v20.19.4

View File

@@ -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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.2.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.3.0
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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.2.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.3.0
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)

View File

@@ -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: refs/heads/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 release
uses: benc-uk/workflow-dispatch@v1.2
with:
ref: refs/heads/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 }}

View 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 }}

View File

@@ -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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.2.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.3.0
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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.2.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.3.0
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 }}

View 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 }}

View File

@@ -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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub (buanet)
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.2.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.3.0
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.1.0
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3.4.0
- name: Login to DockerHub (buanet)
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKER_USER_IOB }}
password: ${{ secrets.DOCKER_PASS_IOB }}
- name: Build and push Docker image
uses: docker/build-push-action@v6.3.0
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)

View 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

View File

@@ -11,11 +11,11 @@ jobs:
- name: Testing with docker run
run: |
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 ' '
echo "[LOG] Waiting for Startup Script..."
sleep 30
sleep 60
echo "[LOG] Done."
echo ' '
echo "[LOG] Writing Logs..."
@@ -23,11 +23,11 @@ jobs:
echo "[LOG] Done."
echo ' '
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 ' '
echo "[LOG] Output testrun.log:"
cat testrun.log
echo ' '
echo "[LOG] Test sucesssful."
echo "[LOG] Test successful."
echo ' '

View File

@@ -12,22 +12,22 @@ jobs:
update-docker-readme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v4.2.2
- name: Update Docker Hub Readme (buanet)
uses: peter-evans/dockerhub-description@v4.0.0
uses: peter-evans/dockerhub-description@v4.0.2
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
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
- name: Update Docker Hub Readme (iobroker)
uses: peter-evans/dockerhub-description@v4.0.0
uses: peter-evans/dockerhub-description@v4.0.2
with:
username: ${{ secrets.DOCKER_USER_IOB }}
password: ${{ secrets.DOCKER_PASS_IOB }}
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

View File

@@ -10,24 +10,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
with:
repository: 'buanet/ioBroker.docker'
token: ${{ secrets.ACTIONS_PAT }}
- name: Get and write version
id: version
run: |
LATESTRELEASE="$(curl -sL https://api.github.com/repos/buanet/ioBroker.docker/releases/latest | jq -r '.tag_name')"
echo "iobroker=iobroker/iobroker:$LATESTRELEASE" >> $GITHUB_ENV
echo "baseimage=library/debian:bookworm-slim" >> $GITHUB_ENV
- name: Docker Baseimage Checker
id: baseimage
uses: mkumatag/container-image-updater-action@v1.0.6
- name: Docker baseimage check
id: baseimage-check
uses: lucacome/docker-image-update-checker@v2.0.0
with:
base-image: '${{ env.baseimage }}'
image: '${{ env.iobroker }}'
base-image: debian:bookworm-slim
image: buanet/iobroker:latest
- name: Fetch ioBroker and nodejs versions
run: |
@@ -43,8 +36,8 @@ jobs:
curl -sL https://repo.iobroker.live/sources-dist.json | \
jq -r '."discovery".version' > .github/dependencies/.discovery-version
echo "[LOG] Fetched discovery version is $(cat .github/dependencies/.discovery-version)"
curl -sL "https://deb.nodesource.com/node_18.x/dists/bullseye/main/binary-amd64/Packages" | \
awk -F ': ' '/^Version:/ {split($2,a,"-"); print a[1]}' > .github/dependencies/.nodejs-version
curl -sL https://nodejs.org/dist/index.json | \
jq -r 'map(select(.version | startswith("v20."))) | .[0].version' > .github/dependencies/.nodejs-version
echo "[LOG] Fetched nodejs version is $(cat .github/dependencies/.nodejs-version)"
- name: Check for modified files
@@ -59,10 +52,16 @@ jobs:
git commit -am "new ioBroker versions"
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)
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
with:
workflow: Build Debian 12 Image (latest)
repo: buanet/ioBroker.docker
ref: 'main'
workflow: 'Build Debian 12 Image (latest)'
repo: 'buanet/iobroker.docker'
token: ${{ secrets.ACTIONS_PAT }}

View File

@@ -1,10 +1,24 @@
## Changelog
### v10.0.0-beta.1 (13.07.2024)
* upgrade node version to recommended node20
* remove dedicated node setup from dockerfile
* improve logging for failed database check ([#411](https://github.com/buanet/ioBroker.docker/issues/411))
* rework build process due to problems with github actions
### 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-beta.2 (07.08.2024)
* add build date to image
* cleanup dockerfile
* test new build process
* v10.0.0-beta.1 (13.07.2024)
* upgrade node version to recommended node20
* remove dedicated node setup from dockerfile
* improve logging for failed database check ([#411](https://github.com/buanet/ioBroker.docker/issues/411))
* rework build process due to problems with github actions
### v9.1.2 (05.04.2024)
* fix build process by updating npm to latest

View File

@@ -1,6 +1,6 @@
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
of this software and associated documentation files (the "Software"), to deal

View File

@@ -4,7 +4,7 @@
[![Release](https://img.shields.io/github/v/release/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/releases)
[![Pre-Release)](https://img.shields.io/github/v/tag/buanet/ioBroker.docker?include_prereleases&label=pre-release)](https://github.com/buanet/ioBroker.docker/releases)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest.yml)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest_sep.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.yml)
[![Github Issues](https://img.shields.io/github/issues/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/issues)
[![Github Pull Requests](https://img.shields.io/github/issues-pr/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/pulls)
[![GitHub Discussions](https://img.shields.io/github/discussions/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/discussions)<br>
@@ -32,7 +32,7 @@ Looking for documentation? :arrow_right: [docs.buanet.de](https://docs.buanet.de
### How to run the image?
You can find some basic information about the image amd how to run it on the [Docker Hub page](https://hub.docker.com/r/buanet/iobroker) or [here](https://github.com/buanet/ioBroker.docker/blob/main/docs/README_docker_hub_buanet.md).
You can find some basic information about the image and how to run it on the [Docker Hub page](https://hub.docker.com/r/buanet/iobroker) or [here](https://github.com/buanet/ioBroker.docker/blob/main/docs/README_docker_hub_buanet.md).
### Is there a more detailed documentation?
@@ -61,11 +61,11 @@ Please do not use the issues for support questions. Not every error message is w
### Beta testing
If you want to get the newest features and changes feel free to use/ test the beta version of the Docker image. For more details and beta support join us at "beta testing & feedback" > "docker-image" at the [ioBroker Discord channel](https://discord.gg/5jGWNKnpZ8).
If you want to get the newest features and changes feel free to use/test the beta version of the Docker image. For more details and beta support join us at "beta testing & feedback" > "docker-image" at the [ioBroker Discord channel](https://discord.gg/5jGWNKnpZ8).
### Support the project
The easiest way to support this project is to leave me some likes/ stars on Github and Docker hub!<br>
The easiest way to support this project is to leave me some likes/stars on Github and Docker hub!<br>
If you want to give something back to the community, feel free to take a look into the [open issues](https://github.com/buanet/ioBroker.docker/issues) or the [ioBroker forum thread](http://forum.iobroker.net/viewtopic.php?f=17&t=5089) and help me answering questions, fixing bugs or adding new features!<br>
If that doesn't work for you and you want to buy me a pizza instead, you can do this here: <a href="https://www.paypal.me/buanet" target="_blank"><img src="https://github.com/buanet/ioBroker.docker/raw/main/docs/img/pp_logo.png" height="15" width="15"></a><br>
Thank you!
@@ -78,7 +78,7 @@ Moved to [CHANGELOG.md](CHANGELOG.md).
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
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,4 +1,6 @@
FROM debian:bookworm-slim
# FROM node:20.12-bookworm-slim
LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
org.opencontainers.image.description="Official Docker image for ioBroker smarthome software (https://www.iobroker.net)" \
@@ -10,7 +12,7 @@ LABEL org.opencontainers.image.title="Official ioBroker Docker Image" \
org.opencontainers.image.version="${VERSION}" \
org.opencontainers.image.created="${DATI}"
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND="noninteractive"
# Copy files
COPY scripts /opt/scripts
@@ -38,18 +40,6 @@ RUN apt-get update && apt-get upgrade -y \
tzdata \
udev \
wget \
# Install node
#&& mkdir -p /etc/apt/keyrings \
#&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \
#&& echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE}.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
#&& printf "Package: *\nPin: origin deb.nodesource.com\nPin-Priority: 1001\n" > /etc/apt/preferences.d/nodesource \
#&& apt-get update && apt-get install -q -y --no-install-recommends nodejs \
# Temp Fix (check/log npm version, update npm to latest)
#&& npm -v \
#&& npm install -g npm@latest \
#&& npm -v \
# Install node-gyp
#&& npm install --production -g node-gyp \
# Generating locales
&& sed -i 's/^# *\(de_DE.UTF-8\)/\1/' /etc/locale.gen \
&& sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
@@ -58,13 +48,12 @@ RUN apt-get update && apt-get upgrade -y \
&& mkdir /opt/.docker_config \
&& echo "starting" > /opt/.docker_config/.healthcheck \
&& echo "${VERSION}" > /opt/.docker_config/.thisisdocker \
&& echo "${DATI}" > /opt/.docker_config/.build \
&& echo "true" > /opt/.docker_config/.first_run \
# Prepare old .docker_config (needed until changed in iobroker)
&& mkdir /opt/scripts/.docker_config \
&& echo "${VERSION}" > /opt/scripts/.docker_config/.thisisdocker \
# Run iobroker installer
#&& curl -sL https://iobroker.net/install.sh | bash - \
# Temp Testing
&& curl -sL https://iobroker.net/install.sh -o install.sh \
&& sed -i 's/NODE_MAJOR=[0-9]\+/NODE_MAJOR=${NODE}/' install.sh \
&& sed -i 's|NODE_JS_BREW_URL=.*|NODE_JS_BREW_URL="https://nodejs.org"|' install.sh \
@@ -97,7 +86,8 @@ RUN apt-get update && apt-get upgrade -y \
&& rm -rf /tmp/* /var/tmp/* /root/.cache/* /root/.npm/* /var/lib/apt/lists/*
# Default environment variables
ENV DEBIAN_FRONTEND="teletype" \
ENV BUILD="${BUILD}" \
DEBIAN_FRONTEND="teletype" \
LANG="de_DE.UTF-8" \
LANGUAGE="de_DE:de" \
LC_ALL="de_DE.UTF-8" \

View File

@@ -29,7 +29,6 @@ display_help() {
echo " off > switches mantenance mode OFF and stops or restarts the container"
echo " upgrade > puts the container to maintenance mode and upgrades ioBroker"
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 " "
echo "OPTIONS"
@@ -214,148 +213,10 @@ restart_container() {
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() {
echo "You are now going to perform a restore of your iobroker."
echo "During the restore process, the container will automatically switch into maintenance mode and stop ioBroker."
echo "Depending on the restart policy, your container will be stopped or restarted automatically after the restore."
# 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
echo "Due to changes in ioBroker backup structure, restoring is no longer supported by this script."
echo "Please use the original ioBroker commands or the graphical ui of backitup adapter."
}
# parsing commands and options

View File

@@ -2,7 +2,7 @@
[![Release](https://img.shields.io/github/v/release/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/releases)
[![Pre-Release)](https://img.shields.io/github/v/tag/buanet/ioBroker.docker?include_prereleases&label=pre-release)](https://github.com/buanet/ioBroker.docker/releases)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest.yml)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest_sep.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.yml)
[![Github Issues](https://img.shields.io/github/issues/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/issues)
[![Github Pull Requests](https://img.shields.io/github/issues-pr/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/pulls)
[![GitHub Discussions](https://img.shields.io/github/discussions/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/discussions)<br>
@@ -11,8 +11,8 @@
[![Docker Pulls](https://img.shields.io/docker/pulls/buanet/iobroker?style=flat)](https://hub.docker.com/repository/docker/buanet/iobroker)
[![Docker Stars](https://img.shields.io/docker/stars/buanet/iobroker?style=flat)](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
[![Source](https://img.shields.io/badge/source-github-blue?style=flat)](https://github.com/buanet/ioBroker.docker)
[![GitHub forks](https://img.shields.io/github/forks/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/network)
[![GitHub stars](https://img.shields.io/github/stars/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/network)
[![GitHub stars](https://img.shields.io/github/stars/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/stargazers)
[![License](https://img.shields.io/github/license/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
[![Donate](https://img.shields.io/badge/donate-paypal-blue?style=flat)](https://paypal.me/buanet)
@@ -34,41 +34,36 @@ 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.
### Node 18 versions
* [`v9.1.0`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile), [`latest`](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)
### 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 16 versions
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
### Node 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)
# What is ioBroker?
IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome components from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.<br>
IoBroker is 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>
All data is stored in a central database that all adapters can access. With this it is very easy to build up logical connections, automation scripts and beautiful visualizations.<br>
For further details please check out [iobroker.net](https://www.iobroker.net).
# 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
```
## 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
```
version: '2'
For a persistent and production-ready setup, use Docker Compose and mount a volume for your data:
```yaml
services:
iobroker:
container_name: iobroker
@@ -77,70 +72,82 @@ services:
restart: always
ports:
- "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
```
On docker-compose add
```
volumes:
- iobrokerdata:/opt/iobroker
**Docker Compose:**
```yaml
volumes:
- 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_BACKITUP_EXTDB` (optional) Set `true` for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs 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_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
* `IOB_STATESDB_PASS` (optional, default: 9000) Set authentication for Redis db connection
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
- `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker admin port on startup
- `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 to "master" or "slave" for multihost support (requires additional config for objectsdb and statesdb)
- `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Type of objects DB: "jsonl", "file" (deprecated), or "redis"
- `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Host for objects DB (comma-separated for Redis Sentinel)
- `IOB_OBJECTSDB_PORT` (optional, default: 9001) Port for objects DB (comma-separated for Redis Sentinel)
- `IOB_OBJECTSDB_PASS` (optional) Password for Redis DB
- `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Redis Sentinel DB name
- `IOB_STATESDB_TYPE` (optional, default: jsonl) Type of states DB: "jsonl", "file" (deprecated), or "redis"
- `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Host for states DB (comma-separated for Redis Sentinel)
- `IOB_STATESDB_PORT` (optional, default: 9000) Port for states DB (comma-separated for Redis Sentinel)
- `IOB_STATESDB_PASS` (optional) Password for Redis 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
* `LANG` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `LANGUAGE` (optional, default: de_DE:de) The following locales are pre-generated: de_DE:de, en_US:en
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
* `SETGID` (default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host
* `SETUID` (default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
- `DEBUG` (optional) Set `true` for extended logging on container startup
- `LANG` (optional, default: de_DE.UTF-8) Pre-generated: de_DE.UTF-8, en_US.UTF-8
- `LANGUAGE` (optional, default: de_DE:de) Pre-generated: de_DE:de, en_US:en
- `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
- `PACKAGES` (optional) Install additional Linux packages (space-separated list)
- `PACKAGES_UPDATE` (optional) Set `true` to update Linux packages on first start
- `PERMISSION_CHECK` (optional, default: true) Set "false" to skip permission checks/corrections (use at your own risk)
- `SETGID` (default: 1000) Set the GID for the iobroker user (to match a group on the host)
- `SETUID` (default: 1000) Set the UID for the iobroker user (to match a user on the host)
- `TZ` (optional, default: Europe/Berlin) Set the timezone (any valid Linux timezone)
- `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>
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>
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.
A bridge network works for most adapters if you map all required ports.
However, some adapters require [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for device discovery.
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

View File

@@ -4,7 +4,7 @@
[![Release](https://img.shields.io/github/v/release/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/releases)
[![Pre-Release)](https://img.shields.io/github/v/tag/buanet/ioBroker.docker?include_prereleases&label=pre-release)](https://github.com/buanet/ioBroker.docker/releases)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest.yml)
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/buanet/ioBroker.docker/build-debian12-latest_sep.yml?branch=main)](https://github.com/buanet/ioBroker.docker/actions/workflows/build-debian12-latest_sep.yml)
[![Github Issues](https://img.shields.io/github/issues/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/issues)
[![Github Pull Requests](https://img.shields.io/github/issues-pr/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/pulls)
[![GitHub Discussions](https://img.shields.io/github/discussions/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/discussions)<br>
@@ -13,8 +13,8 @@
[![Docker Pulls](https://img.shields.io/docker/pulls/buanet/iobroker?style=flat)](https://hub.docker.com/repository/docker/buanet/iobroker)
[![Docker Stars](https://img.shields.io/docker/stars/buanet/iobroker?style=flat)](https://hub.docker.com/repository/docker/buanet/iobroker)<br>
[![Source](https://img.shields.io/badge/source-github-blue?style=flat)](https://github.com/buanet/ioBroker.docker)
[![GitHub forks](https://img.shields.io/github/forks/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/network)
[![GitHub stars](https://img.shields.io/github/stars/buanet/ioBroker.docker)](https://github.com/buanet/ioBroker.docker/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/network)
[![GitHub stars](https://img.shields.io/github/stars/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/stargazers)
[![License](https://img.shields.io/github/license/buanet/ioBroker.docker?style=flat)](https://github.com/buanet/ioBroker.docker/blob/master/LICENSE.md)
[![Donate](https://img.shields.io/badge/donate-paypal-blue?style=flat)](https://paypal.me/buanet)
@@ -36,42 +36,36 @@ 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.
### Node 18 versions
* [`v9.1.0`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile), [`latest-v9`](https://github.com/buanet/ioBroker.docker/blob/v9.1.0/debian12/Dockerfile), [`latest`](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)
* [`v9.0.0`](https://github.com/buanet/ioBroker.docker/blob/v9.0.0/debian12/Dockerfile)
* [`v8.1.0`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile), [`latest-v8`](https://github.com/buanet/ioBroker.docker/blob/v8.1.0/debian/node18/Dockerfile),
* [`v8.0.1`](https://github.com/buanet/ioBroker.docker/blob/v8.0.1/debian/node18/Dockerfile)
* [`v8.0.0`](https://github.com/buanet/ioBroker.docker/blob/v8.0.0/debian/node18/Dockerfile)
### 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 16 versions
* [`v7.2.0`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile), [`latest-v7`](https://github.com/buanet/ioBroker.docker/blob/v7.2.0/debian/node16/Dockerfile)
* [`v7.1.2`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile), [`v7.1.2-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.1.2/debian/node16/Dockerfile)
* [`v7.0.1`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-amd64`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm32v7`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile), [`v7.0.1-arm64v8`](https://github.com/buanet/ioBroker.docker/blob/v7.0.1/debian/node16/Dockerfile)
### Node 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)
# What is ioBroker?
IoBroker is a open source IoT platform written in JavaScript that easily connects smarthome components from different manufactures. With the help of plugins (called: "adapters") ioBroker is able to communicate with a big variety of IoT hardware and services using different protocols and APIs.<br>
IoBroker is 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>
All data is stored in a central database that all adapters can access. With this it is very easy to build up logical connections, automation scripts and beautiful visualizations.<br>
For further details please check out [iobroker.net](https://www.iobroker.net).
# 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
```
## 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
```
version: '2'
For a persistent and production-ready setup, use Docker Compose and mount a volume for your data:
```yaml
services:
iobroker:
container_name: iobroker
@@ -80,72 +74,84 @@ services:
restart: always
ports:
- "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
```
On docker-compose add
```
volumes:
- iobrokerdata:/opt/iobroker
**Docker Compose:**
```yaml
volumes:
- 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_BACKITUP_EXTDB` (optional) Set `true` for backing up external databases in ioBroker backitup adapter (Make sure your have read the [docs](https://docs.buanet.de/iobroker-docker-image/docs/#backup))
* `IOB_MULTIHOST` (optional) Set "master" or "slave" for multihost support (needs 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_HOST` (optional, default: 127.0.0.1) Set host for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
* `IOB_OBJECTSDB_PORT` (optional, default: 9001) Set port for ioBroker objects db, supports comma separated list for Redis Sentinel Cluster
* `IOB_OBJECTSDB_PASS` (optional) Set authentication for Redis db connection
* `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel CLuster db
* `IOB_STATESDB_TYPE` (optional, default: jsonl) Set type of ioBroker states db, could be "jsonl", "file" (deprecated) or "redis"
* `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Set host for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
* `IOB_STATESDB_PORT` (optional, default: 9000) Set port for ioBroker states db, supports comma separated list for Redis Sentinel Cluster
* `IOB_STATESDB_PASS` (optional, default: 9000) Set authentication for Redis db connection
* `IOB_STATESDB_NAME` (optional, default: mymaster) Set name for Redis Sentinel cluster db
- `IOB_ADMINPORT` (optional, default: 8081) Set ioBroker admin port on startup
- `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 to "master" or "slave" for multihost support (requires additional config for objectsdb and statesdb)
- `IOB_OBJECTSDB_TYPE` (optional, default: jsonl) Type of objects DB: "jsonl", "file" (deprecated), or "redis"
- `IOB_OBJECTSDB_HOST` (optional, default: 127.0.0.1) Host for objects DB (comma-separated for Redis Sentinel)
- `IOB_OBJECTSDB_PORT` (optional, default: 9001) Port for objects DB (comma-separated for Redis Sentinel)
- `IOB_OBJECTSDB_PASS` (optional) Password for Redis DB
- `IOB_OBJECTSDB_NAME` (optional, default: mymaster) Redis Sentinel DB name
- `IOB_STATESDB_TYPE` (optional, default: jsonl) Type of states DB: "jsonl", "file" (deprecated), or "redis"
- `IOB_STATESDB_HOST` (optional, default: 127.0.0.1) Host for states DB (comma-separated for Redis Sentinel)
- `IOB_STATESDB_PORT` (optional, default: 9000) Port for states DB (comma-separated for Redis Sentinel)
- `IOB_STATESDB_PASS` (optional) Password for Redis 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
* `LANG` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `LANGUAGE` (optional, default: de_DE:de) The following locales are pre-generated: de_DE:de, en_US:en
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
* `SETGID` (default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host
* `SETUID` (default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host
* `TZ` (optional, default: Europe/Berlin) Specifies the time zone, could be all valid Linux timezones
* `USBDEVICES` (optional) Set relevant permissions on mounted devices like `/dev/ttyACM0` (inside the container), for more than one device separate with ";"
- `DEBUG` (optional) Set `true` for extended logging on container startup
- `LANG` (optional, default: de_DE.UTF-8) Pre-generated: de_DE.UTF-8, en_US.UTF-8
- `LANGUAGE` (optional, default: de_DE:de) Pre-generated: de_DE:de, en_US:en
- `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
- `PACKAGES` (optional) Install additional Linux packages (space-separated list)
- `PACKAGES_UPDATE` (optional) Set `true` to update Linux packages on first start
- `PERMISSION_CHECK` (optional, default: true) Set "false" to skip permission checks/corrections (use at your own risk)
- `SETGID` (default: 1000) Set the GID for the iobroker user (to match a group on the host)
- `SETUID` (default: 1000) Set the UID for the iobroker user (to match a user on the host)
- `TZ` (optional, default: Europe/Berlin) Set the timezone (any valid Linux timezone)
- `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>
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>
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.
A bridge network works for most adapters if you map all required ports.
However, some adapters require [Multicast](https://en.wikipedia.org/wiki/Multicast) or [Broadcast](https://en.wikipedia.org/wiki/Broadcasting_(networking)) for device discovery.
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
If you like what you see please leave us stars and likes on our repos and join our growing community.
If you like what you see please leave us stars and likes on our repos and join our growing community.<br>
See you soon. :)