Some time ago, I’ve described how I’ve installed hass.io in a virtual machine. Since then development hasn’t stop and hassOS has come to te world. While hass.io was mainly targeting the Raspberry 3, it’s future replacemain hassOS aims to run on as many devices as possible. HassOS can only run in a virtual machine natively. I prefer running this buildroot based OS in a VM over the docker aproach used for hass.io. While docker is a great system for running applications, the hass.io installation was kind of a docker on docker in virtual machine setup. The lower docker system also got quite crowded as each update downloaded a new docker image without deleting the old one. A task to remember – or run out of disk space and have hoe automation disabled. That happend more the once to me, so I’m pretty happy to avoid this now. While hassOS officially only supports HyperV, VirtualBox and VMware as supervisors, it also runs very well under qemu/libvirt with some minor adjustments.
There are lots of ways how to edit and manage the configuration files of home assistant. You can mount the filesystem on your PC and use your favorite text editor or use the configurator addon to edit the files online. I’ve tried quite a lot of these options and found my favorite: the atom editor with the remote sync plugin. That way I edit the files locally and the plugin takes care of syncing them to my home assistant instance. Bonus: in case anything happens to the home assistant server I always have a local copy.
Dockerized serviced just as “normal” services tend to write quite a lot of information to their log files. So many that one day the disk will be completely filled. To avoid this, log files should be rotated regularly, ie old information has to be removed. Actually docker itself is able to rotate the logs. But as far as I know docker is rotating based on file size and not on time. To comply with the European General Data Privacy Regulations (GDPR) however I’m only allowed to keep IP adresses of visitors of my webpages for 7 days. So I need time based log rotation. Here a classic linux server tool comes to the rescue:
Usually the host server has only one fixed IP. So all domains of all your dockerized services get resolved to the same IP. Somehow the server needs to know, how to route all the requests and responses to correct app. On a “normal” webserver you would be using virtual hosts to direct the traffic to the correct page. On a docker host things are a bit more complex, as each dockerized app is using it’s own webserver. So we’ll need a reverse proxy to route the traffic.
A server offering many webapps and services dealing with private data shoul be as secure as possible. An important step to achieve this, is to harden the host system.
Docker is a system to run applications in independent containers. This makes apps easier to deploy, update and migrate. I’m using it on several docker host servers, all of them are set up in the same way. They are all using debian as operating system, docker community edition and ldap based user login. In this post I’ll describe my standard setup of a docker host system.
Secure Wifi passwords tend to be quite long and are a pain to type on smartphones. A lot of places and people use qr-codes to share access data to their wireless networks. I’m also using one to offer guests a wireless connection to the internet without giving them access to my private network.
Fortunately those codes are pretty easy to create.
I’ve been using home assistant in a virtual machine on my home server for almost a year now. It rellay is a great piece of software for home automation with almost limitless possibilities. However I’ve decided to move it to hass.io on a raspberry pi mainly because of some additional features. On the rapberry I can directly use the bluetooth module needed for some sensors. And hass.io offers some need add ons like a server to control Amazon’s FireTV stick or my USV. Except the more limited CPU I couldn’t find any drawbacks so far. Hass.io is basically a very slim linux running home assistant and some other useful tools in docker containers which you can control from home assistant’s gui.
Texdoc is a fast way to find and open package documentation. I write quite a lot of school related documents in . There are tons of great packages and I use quite a few of them. Most I don’t use regularly so often forget how things work and need to look at the documentation. I used to open the documentation from terminal by a quick