Closed jd172 closed 2 months ago
Ja, standardmäßig erlaubt SOLECTRUS keine Einbettung in ein iframe
. Du musst den Host (also deinen ioBroker) explizit freigeben, siehe hier:
https://github.com/solectrus/hosting/blob/main/guide/raspberry-pi/.env#L26-L27
Nicht vergessen: Nach jeder Änderung in der .env
alles neu starten mit docker compose up -d
Vielen Dank für de schnelle Antwort. Komme leider nicht weiter. Ich habe die .env angepasst:
FRAME_ANCESTORS=http://192.168.1.120
Der Befehl: docker compose up -d funktioniert auf der Diskstation nicht. Ich habe die Container im Docker daher einzeln neu gestartet. Reicht das aus? Erfolg hatte ich leider nicht.
Gesendet: Mittwoch, 19. Juni 2024 um 13:08 Uhr Von: "Georg Ledermann" @.> An: "solectrus/hosting" @.> Cc: "jd172" @.>, "Author" @.> Betreff: Re: [solectrus/hosting] Intigration iobroker VIS (Issue #49)
Ja, standardmäßig erlaubt SOLECTRUS keine Einbettung in ein iframe. Du musst den Host (also deinen ioBroker) explizit freigeben, siehe hier:
https://github.com/solectrus/hosting/blob/main/guide/raspberry-pi/.env#L26-L27
Nicht vergessen: Nach jeder Änderung in der .env alles neu starten mit docker compose up -d
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
Es muss zwingend ein docker compose up -d
erfolgen, denn damit werden die Container ganz neu erstellt. Ein einfacher Neustart eines laufenden Containers (z.B. durch "docker container restart") genügt nicht), weil dadurch die Umgebungsvariablen nicht neu gelesen werden.
Auf Synology heißt es wegen alter Docker-Version vermutlich docker-compose up -d
, also mit Bindestrich.
Es hat jetzt ein paar mal funktioniert, aber komischerweise wird die Verbindung jetzt wieder blockiert. Gibt es noch eine Möglichkeit die Porteinstellung im Vorfeld zu ändern. Die 3000 ist bei mir schon für Grafana belegt.
Wenn es erst funktioniert, später dann aber nicht mehr (mit "hat Verbindung abgelehnt"), dann kann es eigentlich nur am falschen Eintrag für FRAME_ANCESTORS
liegen. Dieser muss wirklich genau dem Host entsprechen. Du kannst aber auch einfach http:
in der .env
eintragen, dann ist die Einbettung in alle Hosts erlaubt (die über http
arbeiten). Also so:
# Optional: Allow iframe embedding
FRAME_ANCESTORS=http:
Details dazu hier: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
Zum Port: Ja, den kann man ändern. Trage einfach bei den Ports der App in der docker-compose.yml
den gewünschten Port ein, z.B. so:
ports:
- 3333:3000
Dann lässt sich SOLECTRUS über Port 3333
aufrufen (während der Container intern weiterhin auf 3000
läuft, aber das stört nicht).
Und nicht vergessen, nach jeder Änderung an der Config: docker-compose up -d
Komischerweise läufts jetzt wieder. Das mit dem Port hat auch funktioniert. Vielen Dank.
Ok, dann schließe ich das hier
Hallo- Ich würde das App gerne in meine iobroker VIS Anzeige intigrieren. Ich erhalte jedoch vom Browser die Meldung, dass die Verbindung von der IP abgelehnt wurde. Wahrscheinlich ist das einbetten nicht zugelassen. Kann man da was machen?