Home Assistant Supervised (previously known as Hass.io) on Synology DSM as native package (not supported or working atm)

It’s been updated and is available now.

The upgrade path is just to install the Beta package over the one I provided via DropBox before. (The Beta is just an indicator on SynoPackages.)

2 Likes

Hi

This was partially asked here, but without real answer.

I want to move hass.io from RPI3, but I’m using SSL. I don’t use DUCKDNS as I have static IP so no need for it. on RPI I’m using Let’s Encrypt, but it can’t start here at all and there is nothing what I can see in logs… Any ideas?

Great! Thank you so much for your efforts!
As I have issues with docker host networking on my system, is there a way to start the homeassistant container in bridged mode?

What type of problems are you having with host networking? I seem to be having similar issues with docker host networking running on a Synology DS 918+.

I’m running Docker on a Synology DS218+. Bridge networking works fine with both IPv4 and IPv6, however containers with host network mode are not able to connect to and are not reachable from the internet, local network or other containers. This is not specific for the home assistant container so I think this must be a malfunction of the DSM Docker implementation.
Have you tried to fix that already?

I’m also using Let’s Encrypt, via the Synology settings have mapped via Synology so https://hassio.myname.home mapps to Hass.io.

Hi
Thank you for help :slight_smile:
However, I’m no idea how you made it.
When I’m in Control Panel > Application Portal > Application there is NOTHING related to HASS.IO, at all…
I presume you are talking about domain mapping?

Is the source to the Hass.io Synology DSM package available online somewhere?

Yes, that can be configured trough the Synology interface (virtual hosts).

Again, there have been several discussions in this thread regarding network issues. We have however not found any solution. As you see in the startup code I had to manually specify routing to get networking working. Is is a bug in the Synology port of Docker and I really think we should try to raise a support ticket with Synology but I don’t have much time to drive this right now.

For those that are following this thread (if any) perhaps we should write together a wiki with lessons learned and suggestion of tweaks (I’ve tried to add most to post #2 but I’ve probably missed alot).

Thank you, I did finally find the source and the PR myself. I’m looking through the code right now trying to get my head around it. I would like to get this working, so I’m going to try to do some troubleshooting on my own. I know that not everyone has the same setup as me, but if I can help in any way, I’d like to do so.

So far, what I’ve done is remove all trace of the Hass.io synology package, remove all configs, docker images, containers, etc. so that I’m at a clean starting point. For good measure, I then rebooted my synology. I then reinstalled the Hass.io package from the package manager.

I do see where you’re checking for the 172.30.32.0 route, and if it doesn’t exist, add it. When I start the package, it’s starting the hassio_supervisor container. This is where my setup breaks apart.

In the logs for hassio_supervisor, I get messages that it can’t connect to host.
In the container /etc/resolv.conf sets the nameserver to 127.0.0.11 (the container’s IP)
There is nothing in the container listening on port 53.

Later in the logs, I see that there is no CoreDNS plugin Docker image, so then it tries to fetch update data, but it can’t reach out to the internet.

For me, this sounds like a chicken and the egg problem. No DNS, try to set it up, can’t because we don’t have DNS.

I see you mentioned a bug in the Synology port of Docker. What’s the bug? I’ll dig around after I finish this post, but if there’s some way I could help push that along, I’d be happy to help.

As for a wiki, I’d be happy to contribute my findings if there’s a place for me to put them.

I don’t have much time left today, heading out shortly, but I would like to get this working, and I would love to finally give back to the community. Let me know how I can help. I’ll try to read over these posts to get some more information.

Finally, thanks for the work you’re doing here. I appreciate it!

Look at these:

And so on…

I think that this might be the solution (42) but I have not had time to test it.
The thing is that the gui might do other things than the cli/api of docker exactly how to test this is not clear.

It would be great if you could get it to work from cli so we can update the package to setup the networking.

Hi @fredrike

Uff…
Are you able to explain this a bit more? I’m looking into this, but it seems I can’t understand how this should be setup. Documentation on Synology page doesn’t give me enough info :confused:

I mean, if I’m looking here:
https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/AdminCenter/application_appportalias
then I don’t know which part should I use, esspecially as I wrote, I can’t select HASS.IO as application so non fits.

If I go to
https://www.synology.com/en-global/knowledgebase/DSM/help/WebStation/application_webserv_virtualhost

this also doesn’t tell me too much :confused:

So, to further document what’s going on, and maybe someone else can help me with this later. Originally, I had installed Synology’s Active Directory (which I believe is just samba under the covers). That required DNS, which I was fine with. When docker sets up hassio_supervisor, it’s telling the container to use 127.0.0.11 as it’s DNS server. That isn’t listening to DNS. I stopped AD and DNS and started the hassio service, and now it appears to be starting up. I do use DNS for other things internally, so I would like to recover that in the future, but I can live with it for now.

I have to run, but I suspect that I’ll pick this up again either tonight (around midnight US Eastern) or tomorrow morning.

Sure, go to Control PanelApplication PortalReverse Proxy and fill like this:

1 Like

Let’s start with scratching down notes in the Gdoc document below and I’ll compile it to a wiki page on

https://docs.google.com/document/d/1GvOX4zTPJinXNJ4WqtHcQUSiQ0HVdRMg2tHVkmJh60k/edit?usp=sharing

1 Like

Hi

Thank you. I’ve added this as you showed (except of course hostname.
All port forwarding of course moved to Synology (433,80,8123, 3218).
However, this still don’t work :confused:

When I’m starting this from HassIO then it can’t start (stops after 1 second).
When I want to start container, I have this error message:

Start container addon_core_letsencrypt failed: {“message”:“driver failed programming external connectivity on endpoint addon_core_letsencrypt (73564e0d57267bfa1a66c68a09c2b6bf31aaa9d891bf7b7f81b091a3f3b4f0ae): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use”}.

You should use the Let’s Encrypt functionality of Synology (I believe I’ve already sent you a link for it).

Hi
I have cert from Synology directly, but I was pretty sure I need second one. Wrong?
I’m just not sure how to setup then HTTPS, but let me check later and I will write my findings :slight_smile:

Thank you :slight_smile:

Ok, I have no idea how to proceed…
I found out that certificates should be located here:
/usr/syno/etc/certificate/_archive

but if I want to get into with WinSCP or putty, I have “permission denided”
If I add this to config, I have following message:

Invalid config for [http]: not a file for dictionary value @ data[‘http’][‘ssl_certificate’]. Got ‘/usr/syno/etc/certificate/_archive/fullchain.pem’
not a file for dictionary value @ data[‘http’][‘ssl_key’]. Got ‘/usr/syno/etc/certificate/_archive/privkey.pem’. (See /config/configuration.yaml, line 6).

Ideas?
UPDATE:
I copied with root permissions certifiates to /config/CERT/ and added full path:

/volume1/HassIO/HassIOFred/homeassistant/CERT/fullchain.pem (and priv)
and
/CERT/fullchain.pem

but nothing works…

UPDATE2:
Works :slight_smile:

I added to config following:

  ssl_certificate: /config/CERT/fullchain.pem
  ssl_key: /config/CERT/privkey.pem

CONFIG OK :slight_smile:

I’m just wondering how to NOT copy manually certificates every 3 months to different folder. Any ideas?

1 Like

H! This is really helpful… I would love to hear more more detailed / summarized info on how you made it