
7 May 2024
Home automation and service hosting
For two years, I set up several self-hosted services for home automation, media and file storage. The goal was simple: keep control over my data and automate certain everyday uses, while maintaining an acceptable level of security despite sometimes complicated network constraints.
Hosted services
Home automation with Home Assistant
I deployed two Home Assistant servers in two different locations. They manage a total of over 150 connected devices using several protocols: Zigbee, Z-Wave, Wi-Fi, Bluetooth, Thread, as well as 433 MHz and 868 MHz radio communications.

Media with Jellyfin
For the media server, I used Jellyfin in Docker. This solution allowed me to centralise films, series, music and photos without depending on an external streaming service. The main constraint came mostly from the performance of the Raspberry Pi, especially whenever transcoding was required.
Files with Nextcloud
I also hosted Nextcloud to synchronise and share files. The service ran in Docker on a Raspberry Pi, with the limitations that entails, but it allowed me to better understand volume management, backups and user access.

Network constraints
The trickiest part was remote access. One of the sites only allowed a variable IPv6 address. To get around this issue, I developed an integration with the OVH API to automatically update AAAA records.
This work also forced me to delve deeper into how firewalls, NAT, certificates and exposure rules work. The challenge was to make services accessible without opening more ports than necessary.
Automation and security
I automated several recurring tasks: SSL certificate renewal, updates for certain Docker containers, dynamic DNS and basic monitoring. To keep emergency access, I also used Tailscale in some cases.
- Nginx reverse proxy to centralise web access.
- Automatic certificate renewal.
- Dynamic DNS scripts, including a specific integration for IPv6 on OVH.
Maintenance
Not all services require the same maintenance. Home Assistant sometimes requires caution with updates, especially when many devices depend on the setup. Docker services are easier to redeploy, provided you properly separate volumes, configuration files and backups.
Conclusion
This project gave me a good foundation in self-hosting: networking, Docker, certificates, backups and monitoring. It also showed the limits of an infrastructure that is too scattered across Raspberry Pis, which subsequently pushed me towards a more centralised architecture with Proxmox and then a dedicated NAS.