Inleiding
Truenas Scale is sinds begin dit jaar uit beta. Dit lid uit de Truenas familie is ontworpen op Debian 11, in tegenstelling tot FreeBSD wat bij Truenas Core is gebruikt. Het voordeel van deze Truenas Scale te gebruiken is het gebruik van “apps”, aangezien deze achterliggend werkt op Docker. Concreter gezegd worden de containers door Kubernetes aangestuurd.

Standaard zijn er niet veel apps beschikbaar in de catalogus van Truenas Scale, maar gelukkig kan je wel extra catalogussen toevoegen om meer apps te verkrijgen. Truecharts is een van de actiefste en grootste catalogussen die je momenteel kan vinden en toevoegen aan je Truenas Scale.In deze catalogus kan je onder andere Home Assistant Container installeren. Update 10.07.2022: Het is sinds kort mogelijk om Home Assistant via de standaard catalogus te installeren, deze moeten we dus nu niet meer via Truecharts downloaden (maar het blijft nog altijd mogelijk). Deze app bevat enkel de Core functies van Home Assistant, en is het dus niet mogelijk om hierin de add-ons te installeren en de andere voordelen van de supervisor te gebruiken.
Je kan nu misschien wel zitten denken: “Truenas Scale draait op Debian 11, dus kan je toch gewoon de Supervised installatie uitvoeren, en kan je toch al de voordelen gebruiken?” In theorie zou het inderdaad kunnen, maar dat is niet de bedoeling, aangezien bestanden aanpassen buiten de Truenas Scale omgeving ten alle tijden kunnen (en zullen) overschreven worden bij het installeren van updates.
We gaan er voor deze tutorial van uit dat je net een propere installatie hebt gedaan van Truenas Scale en nog geen pools of mappen hebt aangemaakt.
Opslagruimte
In onze server voor deze tutorial hebben we 2 schijven van 80GB zitten. Het kan zijn dat je meerdere schijven hebt, maar in deze uitleg gaan we het houden op het aanmaken van een raid1, wat een mirror maakt tussen de 2 schijven.
Pool aanmaken
Klik in het menu op Storage, en daar op de knop “create pool” als je dat nog niet hebt. Als je dit wel al gedaan hebt, ga je naar de stap Dataset aanmaken.

Geef je pool een naam, kies de schijven die je wil toevoegen aan deze pool, of klik op de “Suggest Layout” knop om de schijven en de indeling automatisch te laten bepalen, wat hier in ons geval best een mirror is.

Dataset aanmaken
Na het initialiseren van deze pool zie je deze nu staan, maar er moeten nog datasets worden aangemaakt. Hoe je deze indeling opzet kan je volledig zelf gaan kiezen, maar in dit voorbeeld gaan we een map maken waar alle bestanden in zitten van de apps die we gaan installeren. Zo is het gemakkelijk om deze map (dataset) in het geheel te delen, zodat je de configuratie bestanden eenvoudig kan aanpassen vanaf je eigen pc, maar dat volgt in een latere stap.
Klik op de 3 puntjes naast je storage pool, en klik op “Add Dataset” om je eerste ‘map’ aan te maken.

Geef een naam voor deze dataset en eventueel een commentaar, verder laten we alle opties standaard staan, dat gaat buiten het bereik van deze tutorial 😄 en klik op “save”.

Home Assistant dataset aanmaken
Binnen deze dataset gaan we per app een map aanmaken, waarin we de mappen uit de app (containers) gaan koppelen. We gaan hier al een map aanmaken voor Home Assistant.
Binnen de dataset Containers klikken we hier op de 3 puntjes en kiezen terug “Add Dataset” en geef een naam op voor de map. Ook hier laten we de overige opties standaard staan.

Rechten aanpassen
De rechten op de aangemaakte datasets staan ingesteld op de gebruiker en groep ‘root’. De apps die we gaan installeren, worden uitgevoerd onder de ‘apps’ gebruiker met ID 568, welke ook een groep is. Je zal deze gebruiker niet zien als je naar de gebruikers gaat kijken in de Truenas Scale web interface, omdat de “systeemusers” verborgen staan. We kunnen deze groep wel kiezen als we rechten gaan toekennen op datasets.

We kunnen deze rechten handmatig aanpassen, maar dit gebeurd ook automatisch indien nodig na de installatie van de Home Assistant app. De dataset “homeassistant” zal dus na de installatie zowel voor gebruiker als groep op “apps” staan.
Home Assistant
Installatie container
Update 10.06.2022: Home Assistant is vanaf nu beschikbaar in de standaard apps catalogus van Truenas Scale. De versies van Home Assistant zijn zeer up-to-date, aangezien versie 2022.7.2 op het moment van schrijven gisteren pas is uitgebracht. Klik op de knop Install om deze te installeren.

In de eerste stap geef je de installatie een naam. Veel maakt dit niet uit, dit is vooral handig als je meerdere keren dezelfde app installeert naast elkaar. En bij versie kiezen we laatste versie van deze app. Let op, dit is niet de versienummer van Home Assistant, maar van de app zelf.

Bij stap 2 kiezen we onze tijdzonde (standaard gaat de systeem tijdzone overgenomen worden die je hebt ingesteld in Truenas), en standaard staat bij user en group ID 568 ingevuld, welke de ‘apps” gebruiker en groep is. Onder deze user zullen de apps (containers) worden uitgevoerd.

In de volgende stap kunnen we onze mappen gaan koppelen voor de config bestanden. Nieuw in deze app ten opzichte van de versie via Truecharts is dat je hier ook een aparte map kan aanduiden waar je media staat. Standaard staat deze binnen de config map, maar hier kan je eventueel je dataset toevoegen met je media collectie 😎.

Daarna krijgen we de stap voor het netwerk aan te passen. Er is hier maar 1 optie belangrijk, namelijk de Web Port. Dit is de poort waar Home Assistant op moet draaien. Standaard gebruikt Home Assistant altijd poort 8123, maar door een beperking van Truenas is het enkel mogelijk om deze apps te draaien op een poort tussen 9000 en 65535. We gaan hier de standaard ingevulde poort gebruiken, aangezien deze nog niet in gebruik is door een andere app op service op de Truenas server. In een latere stap/tutorial gaan we deze installatie nog beveiligen met een reverse proxy en SSL certificaten, en hoeven we deze poort dus ook niet te onthouden.


De volgende stappen over DNS en resources gaan we standaard laten zoals ze zijn. Als laatste stap krijg je nog een overzicht van de gekozen opties en nadat je op ‘Save’ klikt, zal de app geïnstalleerd worden. Van zodra de status van de app groen is en op active staat, is alles correct geïnstalleerd en kan je verder naar de Home Assistant Onboarding. Let op dat de interface op poort 20810 draait, en dus niet op poort 8123.

Home Assistant onboarding
Als de app Active is, is de installatie van Home Assistant gelukt, en kan je nu Home Assistant openen in je browser. Je kan de web interface openen door op de knop te klikken zoals in de vorige stap, of ga naar http://IP_VAN_TRUENAS:20810 en daar krijg je de Onboarding te zien. Je mag deze volledig doorlopen.

Toegang tot config bestanden
Nadat Home Assistant volledig gestart is, gaan we terug naar de Truenas Scale interface om er voor te zorgen dat we toegang kunnen krijgen tot onder YAML bestanden. We gaan gebruik maken van een SMB share, welke zowel op Windows, Linux als Apple werkt.
Gebruiker aanmaken
Het standaard ‘root’ account van de server kan niet inloggen via SMB. Hiervoor moet je dus zeker een eigen account aanmaken
Als je een gebruiker aanmaakt, moet je aangeven of je het account ook Samba Authentication mag uitvoeren, om te kunnen inloggen via het Samba protocol vanaf je pc.
Om gebruikers aan te passen of aan te maken, ga je naar “Credentials” en kiezen dan “Users”.
Bij het aanmaken of aanpassen van het account moet je er dus voor zorgen dat de optie “Samba Authentication” ingeschakeld is.

Verder gaan we deze gebruiker ook toevoegen aan de groep ‘apps’, die we daarstraks als groep eigenaar op de dataset hebben gezet met schrijfrechten.

Samba service activeren
Je kan via het menu item “Shares” alle shares gaan instellen. Als je nog geen shares aangemaakt hebt, staat de “Windows (SMB) shares” standaard uit. Je moet eerst een share hier in aanmaken, alvorens je deze service kan starten. Hiervoor klik je op de Add knop naast de SMB shares.

Als Path kiezen we hier voor de map “Containers”, zodat we later ook direct aan de andere apps hun mappen kunnen via dezelfde share. Geef de share een naam en eventueel een beschrijving, en klik op Save.

Na de share opgeslagen te hebben, krijg je een pop-up met de vraag om de service in te schaken, dit mag je uiteraard toestaan. Mocht je deze pop-up gemist hebben, kan je op de 3 puntjes klikken naast de Add knop en daar kiezen voor “Turn On Service”.
De share openen vanaf je pc
In dit voorbeeld werken we in Windows, maar kan dus in elk besturingssysteem gebruikt worden. Als je de Windows verkenner opent, enter je in de balk bovenaan het IP adres in van je Truenas Scale server zoals in dit voorbeeld:
\\10.0.0.107
Daarna gaat er gevraagd worden om de login gegevens van je account in te geven. Je gaat direct de melding krijgen dat de gebruikersnaam of wachtwoord foutief zijn. Dit komt omdat Windows eerst probeert in te loggen met het account wat je momenteel op je pc gebruikt.

Log in met de gebruiker die je hebt aangemaakt in de stap Gebruiker aanmaken.
Als het inloggen goed gelukt is, zie je nu de share “Containers” staan. We gaan deze share vast koppelen in Windows, zodat je hier snel aan kan. Klik rechts op de gedeelde map, en kies “Netwerkverbinding maken”.

In het volgende venster kan je eventueel een andere schijfletter kiezen, en klik op voltooien. Je gaat nu deze schijf telkens terugvinden in je verkenner. In deze netwerkschijf ga je nu de map homeassistant vinden, waar de config.yaml en andere bestanden staan. Aangezien je gebruiker ook in de groep ‘apps’ zit, kan je hierin de bestanden ook bewerken.

Mooi stuk echter helaas is de map waarin homeassistant zit, niet toegankelijk (vanaf mijn Mac mini) ik had overigens al eerder Plex geinstalleerd, en die werkte schijnbaar met root ook gewoon, ik had voor homeassistant gewoon mijn naam als user ingezet, enige verschil is dat id 1000 al vergeven was voor Plex. Klik ik op de map home-assistant (expres streep tussen gezet omdat mijn huidige Homeassistant op een hp620 nog werkzaam is). de map home-assistant heeft ook geen uitwerpteken, en zodra je op de map drukt krijg je:
De bewerking kan niet worden voltooid omdat het originele onderdeel van ‘homeassistant’ onvindbaar is.
Dit werkt. Goed dat u ook even de melding maakt van Hostpath, daar had ik nooit op gekomen, wij nitwits gaan er simpel vanuit dat de plugin installeren meteen goed werkt. Het is jammer dat voor al deze plugins geen handleiding te vinden is op internet en nog beter youtube. Ja je hebt handleidingen hoe zigbee2mqtt en broker in Home Asssitant (supervised) te installeren, helaas niet voor al die op zichzelf staande plugins op Truenas (Freenas), ik hoop dat daar nog wat beschrijvingen voor gaan komen. In ieder geval is dit weer een geweldig stuk. Bedankt.