Just some snippets so I remember what I did..
RPi OS
Raspberry Pi OS - 64bit, lite, installed from Imager 1.7.3.Installed to a SD card, configured user pi pass, and wifi credentials
sudo apt-get update
Since I got an error:
N: Repository 'http://deb.debian.org/debian bullseye InRelease' changed its 'Version' value from '11.5' to '11.6'
I had to:
sudo apt-get update --allow-releaseinfo-change then the regular sudo apt-get upgrade
docker
Using loosely the instructions from Raspi-docker
Download the right script and install Docker on the Raspberry Pi environment.
curl -fsSL https://get.docker.com -o get-docker.sh
Then run the script with the help of the below command:
sudo sh get-docker.sh
after an odd error, and a restart (iptables was not running because of a kernel upgrade, and docker-ce was failing configuration stage), running it again made it work
add user pi to the group docker: sudo usermod -aG docker pi
then log in again and check docker is running: docker version, docker info and docker run hello-world
Output
pi@rpi4:~ $ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
7050e35b49f5: Pull complete
Digest: sha256:c77be1d3a47d0caf71a82dd893ee61ce01f32fc758031a6ec4cf1389248bb833
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
portainer
First install portainer, to admin dockers via GUI
pi@rpi4:~ $ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/docker_data/portainer_data:/data portainer/portainer-ce
then connect to ip:9000, and setup admin user with password > 12 chars
iobroker
follow the instruction from buanet
However, there are some caveats:
- Create new docker container / Portainer/Containers/Add container
- Name: "iobroker", Image: "buanet/iobroker:latest", Map additional port: 8081/8081, Advanced/Volumes - container: "/opt/iobroker", Bind, host: "/opt/docker_data/iobroker_data", Capabilities: enable SYS_ADMIN, enable DAC_READ_SEARCH
- + copy a backup manually into /opt/iobroker
- Deploy the container - this will restore the data from the backup if existing
- Takes a while to install and start, check the log
- Access "http://ip:8081". For me this failed, because the backup had a different IP. Had to stop the container, edit the config .js by hand, and restart the container
upgrades
- Iobroker updates: via webpage
- JS controller updates, via command line:
- start container cmd (via portainer)
- pkill -u iobroker
- iobroker update
- iobroker upgrade self
- restart container