Hass.io is Home-Assistant instance running inside docker containers and has included Hass.io add-on store what brings nice easy way to extend Home-Assistent functionality.
Hardware – board
The list of supported
I’ll show you steps for two of them that I physically own.
1. Orange Pi Zero Plus 2
First board in very small – dimension only 50x50mm and for many
Main technical specifications
Where to buy
2. NanoPi M4
Second board is still small – approx as credit card, but more powerful. It has double CPU with 6 cores together and memory could be 4 GB of RAM.
It’s good option when you need more powerfull device for longer term.
Main technical specifications
Where to buy
Let me know in comment if you have different board supported by
Armbian OS
Armbian OS is Linux based operating system focusing ARM development boards.
1. Download image
Visit Armbian website and go to the download section where you have to click on your board and then you usually have two versions available for download:
It’s up to you what version you prefer – I am usually select Ubuntu Bionic, because have more experiences with Ubuntu then Debian – but they are very similar.
2. Burn image to SD card
I recommend using Ether.io as it is easy to use and works on all major operating systems.
The burning process consists of three steps:
- Selecting disk image – find image you downloaded
- Selecting drive with SD card
- Flash it into SD card
3. Run Armbian OS
The last step to make
You will be asked to root
/ 1234
(it’s default root user and password for
If you want create your own user or only change password for root and then I recommend to do update for all packages:
sudo apt update && sudo apt upgrade
I recommend to set up remove connection via SSH. You can do it in armbian-config
tool.
Docker CE
Docker is a kind of virtualization to make service reusable and manageable via. prepared Docker images.
1. Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
2. Setup correct repository
According to architecture version we will need to setup correct Docker repository. Both mentioned boards have same architecture aarch64
. If you are not sure what architecture is used on your computer use command:
uname -m
For our case we will use the command to add a repository:
sudo add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
3. Install Docker CE
sudo apt-get install docker-ce docker-ce-cli containerd.io
4. Verify Docker is installed correctly
We will use hello-world
image.
sudo docker run hello-world
If everything is installed correctly then we should see the following on the screen:
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.
Hass.io
1. Install prerequisites
Actually list of prerequisites is short – three items, so let’s install it:
sudo apt install jq avahi-daemon apparmor
2. Download installation script
From HomeAssistant repository we need to get installation script. We could save file itself directly by entering command:
curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install > hassio_install
And make the script runnable:
chmod 775 ./hassio_install
3. Run installation
As with Docker, you will need to set up the installation according to your computer’s architecture. We have to setup -m
parameter to one of these values:
For our case we will use value qemuarm-64
, so command for installation will be:
./hassio_install -m qemuarm-64
And on your screen you should see:
[Info] Install supervisor Docker container
[Info] Install supervisor startup scripts
Created symlink /etc/systemd/system/multi-user.target.wants/hassio-supervisor.service → /etc/systemd/system/hassio-supervisor.service.
[Info] Install AppArmor scripts
Created symlink /etc/systemd/system/multi-user.target.wants/hassio-apparmor.service → /etc/systemd/system/hassio-apparmor.service.
[Info] Run Hass.io
4. Finishing installation
After a few minutes after installation script is finished – docker have to start all images – enter this address in your browser: http://<YourBoardMachineIP>:8123
and you should see preparing screen.
… and after creating account and login you will see welcome screen. I already have a couple of items automatically because using ESPHome and it’s automatically added to all HomeAssistents in local network.
That’s all. Let me know if you wll stuck anywhere.
Great walk through. Only my docker listens to 172.17.0.1 and Hassio to 172.30.32.1
Both are outside my local network (192.168.31.x). Need to figure out how to correct docker (have tried several options already, but so far no go). If you know of a quick fix, that would be great.
I loosely followed the instructions to install Hass.io on a Orange Pi PC Plus and it worked!
Main changes were the architecture (‘arm32’ instead of arm64), machine type (‘qemuarm’) and the installation script from the new repo!
how do you start it up at boot? if my machine loses power and reboot I have to manually ssh into it and boot Hass.io .. which is a little inconvenient.
thanks!
It should be automatically started by hassio-supervisor. Try to check the status and log for this service:
systemctl status hassio-supervisor.service
hi,
Home assistant repository link changed.
curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | bash -s — -m MY_MACHINE