Lieber ein Add-On nutzen oder weitere LXC Container?

carsten_h

Well-known member
Moin!

Vor kurzem bin ich vom Pi 4 mit Home Assistant auf eine VM in Proxmox umgestiegen (das hat ganze 10 Minuten gedauert).
Jetzt überlege ich mir, ob ich manche Sachen weiterhin als Add-On laufen lasse, oder ob mich für jedes davon einen eigenen LXC-Container erstelle.
Es geht dabei um:
AdGuard Home
Nginx Proxy Manager
TasmoAdmin
TasmoBackup
Vaultwarden

Alles also Add-Ons, die mit HomeAssistant so gar nichts zu tun haben.

Vorteil als Home Assistant Add-On ist natürlich, daß Updates komplett automatisch laufen und man sich eigentlich um nichts kümmern muß.
Ich könnte mir auch denken, daß es innerhalb von Home Assistant weniger Strom verbraucht, da der Overhead nicht so groß ist. Gut ist eben Docker innerhalb von Home Assistant OS und das andere wäre ein LXC-Container.
Bei Adguard Home wäre eine Trennung ganz schön, da solange z.B. ein Home Assistant OS Update läuft oder man die Home Assistant VM aus anderem Grund heruntergefahren hat, keinerlei Verbindung nach draußen funktioniert, da kein DNS mehr geht.

Wie haltet Ihr das?
 
Also ich bin durchaus ein Freund von "getrennten" Dingen, je nach Abhängigkeiten. Wenn alles aufgelistete als HA-Addon läuft, würde ich da durchaus einiges rausnehmen.

Adguard z.B. hat erstmal "garnichts" mit HomeAssistant zu tun, sondern dient als Resolver für die Namensauflösung für vermutlich alle Geräte im Netz. NPM ist halt fraglich, kommt darauf an, ob darüber nur HomeAssistant-Dinge angesprochen werden, oder ggf. auch anderweitiges im lokalen Netz. Passwort-Manager hat mit HA auch nix zu tun, also auch extra laufne lassen. Die Tasmo-Geschichten kenne ich nicht, aber wenn es das ist, wofür ich es halte, hat es mit HA auch erstmal nix an der Mütze, sondern dient vermutlich eher der Verwaltung/Sicherung der Tasmota-Geräte.

So eine Trennung macht etwagige Produktwechsel im Nachgang auch deutlich einfacher und Du hast nicht das Problem, dass wenn HA abschmiert, dass dann direkt alles flach liegt.

EDIT: Essentielle Dienste (DNS z.B.) sollten sowieso niemals von irgendwas anderem abhängig sein (mal abgesehen vom Gateway und so).
 
Ok.
Na gut, vom Proxmox Server sind die dann immer noch abhängig.

Ich habe jetzt angefangen und in 10 Minuten war AdGuard als LXC-Container lauffähig (dieselbe Version wie in Home Assistant).

Was aber gar nicht funktioniert ist seltsamerweise der Aufruf der Webseite für Adguard Home in Home Assistant in der Seitenleiste.
Eingetragen habe ich folgendes in der configuration.yaml:
YAML:
panel_iframe:
  adguard:
    title: AdGuard Home
    icon: mdi:lightbulb-on
    url: http://adguard

Das Icon ist ersteinmal egal. Der alte Eintrag, der vom Add-On oder von der Integration erzeugt wurde, funktioniert einwandfrei.
Was nicht funktioniert ist das Anmelden. Ich gabe Name und Passwort ein und ohne irgendeine Fehlermeldung lande ich wieder auf der Anmeldeseite.
Dabei ist es egal von wo ich die Home Assistant Seite aufrufe (iOS/iPad/macOS App oder aus einem Browser heraus), es geht einfach nicht. Rufe ich die Seite direkt auf, funktioniert es völlig problemlos.
Es ist auch egal, ob dort als Adresse der Name oder die IP-Adresse steht.

Seltsam!

... Jetzt habe ich auf die Schnelle noch einen LXC-Container mit Nginx Proxy Manager erstellt und in Home Assistant in die Seitenleiste eingebunden. Was soll ich schreiben? Dort funktioniert das Anmelden völlig problemlos.
Was kann denn das für ein dämliches Problem bei AdGuard sein?
 
Zuletzt bearbeitet:
In /var/log/AdGuardHome.err läßt sich zu dem Zeitpunkt, an dem ich mich anmelde, folgendes finden:

Code:
2024/03/26 16:02:45.437928 [info] auth: user "carsten" successfully logged in from ip 192.168.178.191
Die 191 ist die IP von meinem Mac, auf dem ich die Home Assistant Webapp gestartet habe.

Eine andere Logdatei wurde zu dem Zeitpunkt nicht geschrieben. In Home Assistant finde ich auch nichts weiter.
 
Naja, das ganze wird doch wohl u.a. über einen Webserver bereitgestellt (Apache/Nginx/etc.), ist da nichts in den Logs zu finden?
 
Das sieht nicht so aus, als würde das hier zutreffen.
Es ist ja von Home Assistant aus nur eine Webseite, die innerhalb eines iframes aufgerufen wird. Im Browser rufe ich ja genau die gleiche Adresse auf, nur in dem iframe funktioniert das nicht. Es ist auch nur http im Spiel.
Der login klappt ja auch, nur es wird von Adguard dann nicht die Konfigurationsseite gezeigt, sondern wieder die leere Loginseite.
 
Was sagen denn die Webserver-Logs von der AdGuard-Installation dazu? Irgendwo "muss" sich ja etwas finden lassen... 🙃
 
Was sagen denn die Webserver-Logs von der AdGuard-Installation dazu
Wenn ich wüßte wo die zu finden sind, wüßte ich mehr. :)
Aber ich weiß auch nicht, ob sich der Aufwand lohnt, denn ich habe gestern Abend festgestellt, daß AdGuard als LXC-Container irgendwie viel langsamer DNS Anfragen zurücksendet als vorher als Add-On in Home Assistant. Von daher könnte es gut sein, daß ich wieder zurückkehre, auch wenn es eigentlich blöd ist.

Der Stromverbrauch vom Proxmox Server ist durch den zusätzlichen Container und das heruntergefahrene Add-On übrigens nicht höher geworden. Nur der RAM-Verbrauch ist minimal (512MB, also Peanuts) höher.
 
Nur mal so nebenbei: https://github.com/AdguardTeam/AdGuardHome/issues/5111 (sowie etliche anderen Seiten, die genau das Problem beschreiben, nur hat niemand eine Lösung). Ich gehe mal davon aus, dass Du den Browser-Cache schon geleert hast, als auch die komplette HA-VM mal neugestartet hast?

daß AdGuard als LXC-Container irgendwie viel langsamer DNS Anfragen zurücksendet als vorher als Add-On in Home Assistant.
Schwer vorstellbar, denn:

LXC = Container auf dem Host
vs.
Addon = Container in einer VM auf dem Host

Da liegt also noch eine Ebene mehr dazwischen, von daher macht das erstmal nicht den Eindruck, als wäre es in einem Container in einer VM auf dem Host schneller, als direkt in einem Container auf dem Host :unsure:

Von daher könnte es gut sein, daß ich wieder zurückkehre, auch wenn es eigentlich blöd ist.
Musst Du selbst wissen, ich persönlich würde es nicht machen, aber ich kann hier auch groß Reden schwingen, wobei ich eigentlich auch mal ganz gepflegt die Klappe halten müsste, da mein Resolver auf einer Syno läuft 😅 Ist allerdings auch nur div. Zonentransfers geschuldet und der Tatsache, dass ich alles in Richtung VMs/Container ausgelagert habe und hier Zuhause somit garnichts mehr in diese Richtung läuft.

Mal so als persönliche Anmerkung/Meinung:

Auf der anderen Seite ist das Ding ja eigentlich "nur"(!), dass es ein externes Webinterface innerhalb von HA nicht korrekt funktioniert, wobei sich mir da direkt die Frage stellt, warum man sowas überhaupt braucht. Du wirst sicherlich Deine Gründe haben, dass Du da "öfters" drauf willst, aber "muss" das zwingend via HA sein, reicht da nicht auch ein direkter Zugriff? Ich habe hier und dort schon etliches laufen, aber nichts von alledem ist irgendwo anders auf diese Art und Weise "eingebunden", das ist alles eigenständiges Zeugs und wird auch alles eigenständig angesprochen. Wenn einem das via FQDNs zu nervig ist, kann man sich ja notfalls auch noch eines dieser unzähligen "Dashboards" hinstellen, wo man dann eben sein Link-Sammlung direkt per Klick erreichen kann.
 
sowie etliche anderen Seiten, die genau das Problem beschreiben,
Ah, die hatte ich noch nicht gefunden. Danke!

nur hat niemand eine Lösung
Ok, dann werde ich wohl die Seite immer getrennt pflegen. Das geht ja auch. So oft muß man da nicht heran.

Schwer vorstellbar
Ich weiß. Ich muß mir das heute noch einmal genau ansehen.

Mal so als persönliche Anmerkung/Meinung:
Das scheint meiner zweiten Antwort zu entsprechen.
Ich werde mir einfach eine Webapp davon auf das iPhone, das iPad und den Mac legen und schon klappt das mit dem Einstellen schön wie in einer App. Es hat ja auch nichts mit HA zu tun.

Von extern hat das mit der Home Assistant Companion App ja auch nie funktioniert, da dort ja eine http-Adresse aufgerufen wird und das geht aus dem https Kontext heraus nicht.
 
Ich werde mir einfach eine Webapp davon auf das iPhone, das iPad und den Mac legen und schon klappt das mit dem Einstellen schön wie in einer App. Es hat ja auch nichts mit HA zu tun.
Ich mach sowas generell immer nur vom Rechner aus, die Mobilgeräte dürfen eh kaum an irgendwas internes, hängt aber auch immer von der Netzgestaltung ab.
So oft muß man da nicht heran.
Sehe ich auch so, das letzte mal an meinem DNS war ich vor einem Jahr oder so, um da mal kurz eine Zone zu Testzwecken anzulegen, seitdem auch nie wieder... 😅
 
hängt aber auch immer von der Netzgestaltung ab.
Oder von den Wohnverhältnissen.
Wenn ich im Ergeschoss merke, daß ich eine Seite sperren/freigeben möchte, dann möchte ich dafür nicht extra auf den Dachboden zum Rechner laufen, den Rechner anwerfen, einstellen, den Rechner wieder herunterfahren und wieder ins Erdgeschoss gehen.
Gut, es wäre für die Fitness gar nicht schlecht, zumindest der Weg über die Treppen.
 
Schwer vorstellbar
Jetzt habe ich eine Test gemacht und kann das „Schwer vorstellbar“ untermauern und ein „es ist nicht so“ daraus machen.
Ich habe wieder das Add-On in Betrieb genommen und den gleichen Test noch einmal gemacht und es gab auch die Verzögerungen. Dann habe ich gesehen, daß es von der betroffenen App eine neue Version gibt und habe die installiert. Schon waren die Verzögerungen weg. Die App war vor ein paar Tagen schon einmal upgedatet worden.

Also spricht jetzt nichts mehr gegen den Container. Auch wenn natürlich der gesamte Netzverkehr sowieso durch die eine Netzwerkschnittstelle vom Lenovo M720q muß. Aber vielleicht schließe ich an die verbliebene USB 3 Schnittstelle noch einen USB Ethernet Adapter an. Aber eigentlich läuft ja sowieso alles im selben Netz.
 
Auch wenn natürlich der gesamte Netzverkehr sowieso durch die eine Netzwerkschnittstelle vom Lenovo M720q muß.
Naja, ist aber auch immer eine Frage der Übertragungsmengen... Ich hab hier z.B. eine Firewall hinter dem Router, die nur 2 Interfaces hat. LAN-seitig sind etliche VLANs abgebildet, da muss auch alles über die eine NIC, aber in Summe tut sich da eigentlich sogut wie nix auf der NIC. Mag sicherlich mal Spitzen geben, aber wenn man nicht ständig grössere Datenmengen durch die Gegend schiebt, sollte das eigentlich schon passen :)
 
Um das Thema jetzt abzuschließen.
Jetzt habe ich auch die Konfiguration vom Nginx Proxy Manager auf den neuen LXC-Container übertragen, in der Fritz!Box die Portweiterleitung auf den Container umgestellt und es läuft alles.
Für AdGuard und Nginx Proxy Manager habe ich mir auf dem Mac noch zwei Webapps mit Safari erstellt. Läuft.

Jetzt nutze ich sieben von den verfügbaren sechs Cores des i5-8400T. Das sollte aber ausreichen. Ein i7-8700T mit seinen 6 Cores und 12 Threads wäre wohl etwas übertrieben, denn das ist die einzige Alternative, die für 35 W TDP gehen würde.
 
Ein gewisser Grad an Overcommitment ist völlig normal, ansonsten wäre es auch weggeschmissene Leistung. Schaut man sich die Ressourcenverbräuche der VMs im regulären Betrieb an, wird man das auch ziemlich schnell feststellen. Man muss halt nur ein wenig darauf achten, ab wann es dann doch ggf. etwas eng wird, aber i.d.R. dümpeln die meisten VMs sowieso nur mit unter 10% CPU-Last vor sich hin ☺️
 
dümpeln die meisten VMs sowieso nur mit unter 10% CPU-Last vor sich hin
An laufenden VM habe ich nur Home Assiatnt, alles andere sind Container. Und da habe ich bisher nur beim Logitech Media Server sowohl das RAM als auch den einen Core an den Anschlag bekommen, wenn ich die Musikdaten lösche und neu einlese. Mehr als einen Core kann der LMS aber auch gar nicht benutzen. Aber er ist so in einem Bruchteil der Zeit fertig, die der Pi 4 dafür gebraucht hat, obwohl Datenbank (das ist das was am meisten bremst) und Daten auf USB 3 Geräten waren.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.546
Beiträge
46.541
Mitglieder
4.182
Neuestes Mitglied
DSanders
Zurück
Oben