Official Docker image for ioBroker based on Debian Bookworm slim
10M+
New major image versions (e.g. v6, v7, v8) usually include a new major version of node! Although js-controller should handle this kind of upgrade fine, in some cases this still results in problems with some adapters. To avoid having trouble with this major version upgrades, it is always a good move to upgrade your container manually with backup and restore procedure. For more details please see the maintenance part of the ioBroker Docker image docs.
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.
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.
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.
For further details please check out iobroker.net.
To quickly try out ioBroker in Docker, simply run:
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
Note:
All data and settings will be lost when the container is removed or recreated. For production use, always use persistent storage (see below).
For a persistent and production-ready setup, use Docker Compose and mount a volume for your data:
services:
iobroker:
container_name: iobroker
image: buanet/iobroker
hostname: iobroker
restart: always
ports:
- "8081:8081"
volumes:
- iobrokerdata:/opt/iobroker
environment:
- TZ=Europe/Berlin
volumes:
iobrokerdata:
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 for more details.
To keep your ioBroker configuration and data, always mount a volume or path to /opt/iobroker:
Command-line:
-v iobrokerdata:/opt/iobroker
Docker Compose:
volumes:
- iobrokerdata:/opt/iobroker
You can use environment variables to automatically configure your ioBroker container at startup.
IOB_ADMINPORT (optional, default: 8081) – Set ioBroker admin port on startupIOB_BACKITUP_EXTDB (optional) – Set true to enable external database backup in the Backitup adapter (see docs)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 DBIOB_OBJECTSDB_NAME (optional, default: mymaster) – Redis Sentinel DB nameIOB_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 DBIOB_STATESDB_NAME (optional, default: mymaster) – Redis Sentinel DB nameAVAHI (optional) – Set true to install and activate avahi-daemon (for yahka adapter support)DEBUG (optional) – Set true for extended logging on container startupLANG (optional, default: de_DE.UTF-8) – Pre-generated: de_DE.UTF-8, en_US.UTF-8LANGUAGE (optional, default: de_DE:de) – Pre-generated: de_DE:de, en_US:enLC_ALL (optional, default: de_DE.UTF-8) – Pre-generated: de_DE.UTF-8, en_US.UTF-8OFFLINE_MODE (optional) – Set true if your container has no or limited internet connectionPACKAGES (optional) – Install additional Linux packages (space-separated list)PACKAGES_UPDATE (optional) – Set true to update Linux packages on first startPERMISSION_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 ";")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.
A bridge network works for most adapters if you map all required ports.
However, some adapters require Multicast or Broadcast for device discovery.
In these cases, consider using host or MACVLAN networking.
For more information, see the official Docker networking documentation.
If you like what you see please leave us stars and likes on our repos and join our growing community.
See you soon. :)
Content type
Image
Digest
sha256:61b2df102…
Size
492.6 MB
Last updated
3 days ago
docker pull buanet/iobroker:v11.1.0-build.20260715.005524