Accès externe Home Assistant Container (Docker)

Mon problème

Bonjour,

J’ai un souci pour paramétrer l’accès externe de mon HA sous Docker.

J’ai suivi ce tuto pour y arriver :

Et il se trouve que j’ai bien accès à l’adresse :
https://homeassistant.mon_domaine.duckdns.org/
Mais que depuis mon réseau local ! Lorsque je me connecte depuis la connexion de mon tel ça ne fonctionne plus.

J’ai forwardé le port 443 sur ma box, j’ai essayé d’ajouter le port 80 et le port 8123 en désespoir de cause mais ça ne change rien.

Extrait de mon configuration.yaml :

http:
    ip_ban_enabled: true
    login_attempts_threshold: 3
    use_x_forwarded_for: true
    trusted_proxies:
    - 192.168.1.0/24  # Local Lan
    - 172.19.0.0/24  # Docker network

    base_url: homeassistant.mon_domaine.duckdns.org

duckdns: 
  domain: mon_domaine
  access_token: mon_token

J’essaie plein de choses depuis une semaine mais là je sèche, quelqu’un aurait une idée ? :sweat_smile:

Merci !

Ma configuration


[center]## System Information

version core-2023.10.5
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.0-rpi4-rpi-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4848
Installed Version 1.33.0
Stage running
Available Repositories 1316
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 2
resources 0
views 2
mode storage
Recorder
oldest_recorder_run 19 octobre 2023 à 19:27
current_recorder_run 28 octobre 2023 à 15:12
estimated_db_size 14.73 MiB
database_engine sqlite
database_version 3.41.2
[/center]

Bonjour.

Vers quoi as-tu forwardé le port 443 ?

Merci.

Merci pour ta réponse, j’ai fais ça :

Hello

Tu as essayé de forwarder le port externe 443 vers le 8123 en interne ?

Il y a un proxy swag entre la box et HA. C’est swag qui fait le passage de 443 vers 8123.

Il doit y avoir des logs dans swag (nginx). C’est là qu’il faudrait commencer à regarder.

1 « J'aime »

En effet dans mes essais précédents j’ai essayé mais ça rend l’accès via duckdns impossible même depuis mon réseau local

Ci-dessous mes logs swag :

swag  |
swag  |       ██╗     ███████╗██╗ ██████╗
swag  |       ██║     ██╔════╝██║██╔═══██╗
swag  |       ██║     ███████╗██║██║   ██║
swag  |       ██║     ╚════██║██║██║   ██║
swag  |       ███████╗███████║██║╚██████╔╝
swag  |       ╚══════╝╚══════╝╚═╝ ╚═════╝
swag  |
swag  |    Brought to you by linuxserver.io
swag  | ───────────────────────────────────────
swag  |
swag  | To support the app dev(s) visit:
swag  | Certbot: https://supporters.eff.org/donate/support-work-on-certbot
swag  |
swag  | To support LSIO projects visit:
swag  | https://www.linuxserver.io/donate/
swag  |
swag  | ───────────────────────────────────────
swag  | GID/UID
swag  | ───────────────────────────────────────
swag  |
swag  | User UID:    1000
swag  | User GID:    1000
swag  | ───────────────────────────────────────
swag  |
swag  | using keys found in /config/keys
swag  | Variables set:
swag  | PUID=1000
swag  | PGID=1000
swag  | TZ=Europe/Paris
swag  | URL=mon_domaine.duckdns.org
swag  | SUBDOMAINS=wildcard
swag  | EXTRA_DOMAINS=
swag  | ONLY_SUBDOMAINS=false
swag  | VALIDATION=duckdns
swag  | CERTPROVIDER=
swag  | DNSPLUGIN=
swag  | EMAIL=
swag  | STAGING=
swag  |
swag  | the resulting certificate will only cover the subdomains due to a limita                                                                                                             tion of duckdns, so it is advised to set the root location to use www.subdomain.                                                                                                             duckdns.org
swag  | Using Let's Encrypt as the cert provider
swag  | SUBDOMAINS entered, processing
swag  | Wildcard cert for mon_domaine.duckdns.org will be requested
swag  | No e-mail address entered or address invalid
swag  | dns validation via duckdns plugin is selected
swag  | Certificate exists; parameters unchanged; starting nginx
swag  | The cert does not expire within the next day. Letting the cron script ha                                                                                                             ndle the renewal attempts overnight (2:08am).
swag  | [custom-init] No custom files found, skipping...
swag  | [ls.io-init] done.
swag  | Server ready

Et également le fichier homeassistant.subdomain.conf pour paramétrer swag :

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name homeassistant.*;

    include /config/nginx/ssl.conf;

    client_max_body_size 0;

    # enable for ldap auth (requires ldap-location.conf in the location block)
    #include /config/nginx/ldap-server.conf;

    # enable for Authelia (requires authelia-location.conf in the location block)
    #include /config/nginx/authelia-server.conf;

    # enable for Authentik (requires authentik-location.conf in the location block)
    #include /config/nginx/authentik-server.conf;

    location / {
        # enable the next two lines for http auth
        #auth_basic "Restricted";
        #auth_basic_user_file /config/nginx/.htpasswd;

        # enable for ldap auth (requires ldap-server.conf in the server block)
        #include /config/nginx/ldap-location.conf;

        # enable for Authelia (requires authelia-server.conf in the server block)
        #include /config/nginx/authelia-location.conf;

        # enable for Authentik (requires authentik-server.conf in the server block)
        #include /config/nginx/authentik-location.conf;

        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.25;
        set $upstream_port 8123;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;

    }

    location ~ ^/(api|local|media)/ {
        include /config/nginx/proxy.conf;
        include /config/nginx/resolver.conf;
        set $upstream_app 192.168.1.25;
        set $upstream_port 8123;
        set $upstream_proto http;
        proxy_pass $upstream_proto://$upstream_app:$upstream_port;
    }
}

Ca, ce n’est que le démarrage… Je suppose (je n’utilise pas swag) qu’il doit y avoir des logs d’accès et d’erreur comme avec nginx. C’est ce morceau là qui pourrait dire des trucs.

En effet j’ai trouvé les logs d’accès et d’erreurs nginx, ci-dessous les dernières lignes (après tentative de me co depuis mon tel) :

accès :

92.184.X.X - - [28/Oct/2023:21:57:28 +0200] "GET /auth/authorize?response_type=code&redirect_uri=https%3A%2F%2Fhomeassistant.mon_domaine.duckdns.org%2F%3Fauth_callback%3D1&client_id=https%3A%2F%2Fhomeassistant.mon_domaine.duckdns.org%2F&state=eyJoYXNzVXJsIjoiaHR0cHM6Ly9ob21lYXNzaXN0YW50LmdsZWl6ZXRvdG8uZHVja2Rucy5vcmciLCJjbGllbnRJZCI6Imh0dHBzOi8vaG9tZWFzc2lzdGFudC5nbGVpemV0b3RvLmR1Y2tkbnMub3JnLyJ9 HTTP/2.0" 304 0 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
92.184.X.X - - [28/Oct/2023:21:57:28 +0200] "GET /auth/providers HTTP/2.0" 200 65 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
92.184.X.X - - [28/Oct/2023:21:57:28 +0200] "GET /manifest.json HTTP/2.0" 200 1663 "-" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
92.184.X.X - - [28/Oct/2023:21:57:28 +0200] "POST /auth/login_flow HTTP/2.0" 200 197 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
92.184.X.X - - [28/Oct/2023:21:57:30 +0200] "GET /service_worker.js HTTP/2.0" 304 0 "https://homeassistant.mon_domaine.duckdns.org/service_worker.js" "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Mobile Safari/537.36"
92.184.X.X - - [28/Oct/2023:21:57:49 +0200] "POST /api/webhook/0ff2b5f8845ea28b192d6b946169e463812b71984ca183a050bf2d818b91c5a6 HTTP/2.0" 200 5721 "-" "Home Assistant/2023.10.2-11484 (Android 13; SM-G781B)"

Erreur : pas de nouvelle entrée, seulement cette ligne qui a été répétée :

2023/10/28 15:12:05 [error] 415#415: *35 connect() failed (111: Connection refused) while connecting to upstream, client: 92.184.X.X, server: homeassistant.*, request: "GET /api/websocket HTTP/1.1", upstream: "http://192.168.1.25:8123/api/websocket", host: "homeassistant.mon_domaine.duckdns.org"

Ca suffit pour que ça ne marche pas !
Quelle est l’adresse IP du réseau docker ou est swag ?

- 172.19.0.0/24 # Docker network

est autorisé. Mais, est-ce le bon ?

C’est 172.19.0.4
Extrait de mon portainer :

D’ailleurs j’ai essayé de modifier cette ligne pour une autre ip (erronée) et je n’arrive plus à y accéder même pas depuis mon réseau local

Je pense quand même le problème d’accès est lié à un truc autour du réseau…
Ton swag est dans un réseau bridge particulier ?
Si tu ouvres une console dans swag et que tu fais un curl ou wget vers http://192.168.1.25:8123 (je crois que c’est l’adresse de HA), ça répond ?
Le réseau 172.19.0.0 est déclaré avec quel subnet dans docker ?
Apparemment ça pourrait coincer si ta config de trusted_proxies et la définition du subnet ne sont pas identiques. /24 d’un côté et /16 de l’autre par exemple.

Et pendant les tests, vire le fail2ban… Si ça se déclenchait durant tes essais, ça pourrait coincer un truc qui marche après X échecs.

Alors je suis désolé mais étant débutant j’ai besoin de plus de précision sur les commandes que je dois envoyer dans la console pour faire un curl ou un wget dans swag :stuck_out_tongue: Tu peux être plus précis ?

Concernant le réseau du swag, il est dans le réseau default créé quand j’ai run le container via docker compose. J’ai essayé en le passant sur le réseau « bridge » (172.17.0.X) et en modifiant le configuration.yaml en conséquence mais ça ne change rien

Subnet : 172.19.0.0/16

Donc effectivement j’ai corrigé le configuration.yaml avec 0/16 à la place de 0/24 mais sans succès

OK j’ai passé le fail2ban en false

J’ajoute que dans le log erreur de nginx j’ai ces 2 nouvelles lignes :

2023/10/29 00:01:04 [error] 419#419: r3.o.lencr.org could not be resolved (110: Operation timed out) while requesting certificate status, responder: r3.o.lencr.org, certificate: "/config/keys/cert.crt"
2023/10/29 00:05:32 [error] 416#416: send() failed (111: Connection refused) while resolving, resolver: 127.0.0.11:53

La réponse ne va pas être celle que tu attends…
Mais, si tu ne sais pas te connecter à un container et passer une commande en shell dedans, c’est que le mode d’installation que tu as choisi ne va pas te convenir.

Pour maitriser le mode HA container (HA dans un container docker que l’on gère à la et sans add-on), il faut comprendre le fonctionnement de Linux, de Docker, d’aspects réseaux sous-jacents.

L’intérêt de HA OS c’est de masquer toute cette complexité.
L’intérêt de HA container (le mode docker) c’est de pouvoir maitriser de A à Z son environnement.

Voir les diverses options : Installation - Home Assistant

L’histoire ne dit pas pourquoi tu as choisi cette méthode. Il n’est peut-être pas trop tard pour passer à HA OS, si c’est faisable chez toi.

Sinon, dans l’interface portainer et pour le container que tu veux « visiter » cliquer sur >_ choisir /bin/sh dans le menu et cliquer connect. Là, tu as une fenêtre linux classique et tu peux passer des commandes comme curl http://192.168.1.25:8123 ou wget.

1 « J'aime »

En fait je tournais sur HAOS depuis un moment

Puis j’ai voulu me servir de mon pi pour installer teslamate, d’où l’installation via docker etc. Depuis j’essaie de reconfigurer HA ^^

Donc je découvre Docker de cette façon, en effet, je savais envoyer un curl ou wget sur mon pi via putty, mais pas à l’interieur d’un container docker, mais maintenant je sais :slight_smile:

Je précise aussi que je demande de l’aide sur le forum car j’ai l’impression d’avoir épuisé toutes les possibilités ^^ et je te remercie pour ton aide

Enfin, concernant les commandes, voilà ce que ça donne :

root@30457ed2909a:/# wget 192.168.1.25:8123
Connecting to 192.168.1.25:8123 (192.168.1.25:8123)
wget: can't open 'index.html': File exists
root@30457ed2909a:/# curl 192.168.1.25:8123
<!DOCTYPE html><html><head><title>Home Assistant</title><meta charset="utf-8"><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="icon" href="/static/icons/favicon.ico"><link rel="modulepreload" href="/frontend_latest/core-9DbaAPsPyXQ.js" crossorigin="use-credentials"><link rel="modulepreload" href="/frontend_latest/app-RHnFPWv3eEE.js" crossorigin="use-credentials"><link rel="mask-icon" href="/static/icons/mask-icon.svg" color="#18bcf2"><link rel="apple-touch-icon" href="/static/icons/favicon-apple-180x180.png"><meta name="apple-itunes-app" content="app-id=1099568401"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Home Assistant"><meta name="msapplication-config" content="/static/icons/browserconfig.xml"><meta name="mobile-web-app-capable" content="yes"><meta name="application-name" content="Home Assistant"><meta name="referrer" content="same-origin"><meta name="theme-color" content="#03A9F4"><meta name="color-scheme" content="dark light"><meta name="viewport" content="width=device-width,user-scalable=no,viewport-fit=cover,initial-scale=1"><style>body{font-family:Roboto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:400;margin:0;padding:0;height:100%}</style><style>html{background-color:var(--primary-background-color,#fafafa);color:var(--primary-text-color,#212121)}@media (prefers-color-scheme:dark){html{background-color:var(--primary-background-color,#111);color:var(--primary-text-color,#e1e1e1)}}body{font-family:Roboto,Noto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:400;height:100vh;margin:0;padding:0}#ha-launch-screen{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}#ha-launch-screen svg{width:170px;flex-shrink:0}#ha-launch-screen .ha-launch-screen-spacer{flex:1}</style></head><body><div id="ha-launch-screen"><div class="ha-launch-screen-spacer"></div><svg viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M240 224.762C240 233.012 233.25 239.762 225 239.762H15C6.75 239.762 0 233.012 0 224.762V134.762C0 126.512 4.77 114.993 10.61 109.153L109.39 10.3725C115.22 4.5425 124.77 4.5425 130.6 10.3725L229.39 109.162C235.22 114.992 240 126.522 240 134.772V224.772V224.762Z" fill="#F2F4F9"/><path d="M229.39 109.153L130.61 10.3725C124.78 4.5425 115.23 4.5425 109.4 10.3725L10.61 109.153C4.78 114.983 0 126.512 0 134.762V224.762C0 233.012 6.75 239.762 15 239.762H107.27L66.64 199.132C64.55 199.852 62.32 200.262 60 200.262C48.7 200.262 39.5 191.062 39.5 179.762C39.5 168.462 48.7 159.262 60 159.262C71.3 159.262 80.5 168.462 80.5 179.762C80.5 182.092 80.09 184.322 79.37 186.412L111 218.042V102.162C104.2 98.8225 99.5 91.8425 99.5 83.7725C99.5 72.4725 108.7 63.2725 120 63.2725C131.3 63.2725 140.5 72.4725 140.5 83.7725C140.5 91.8425 135.8 98.8225 129 102.162V183.432L160.46 151.972C159.84 150.012 159.5 147.932 159.5 145.772C159.5 134.472 168.7 125.272 180 125.272C191.3 125.272 200.5 134.472 200.5 145.772C200.5 157.072 191.3 166.272 180 166.272C177.5 166.272 175.12 165.802 172.91 164.982L129 208.892V239.772H225C233.25 239.772 240 233.022 240 224.772V134.772C240 126.522 235.23 115.002 229.39 109.162V109.153Z" fill="#18BCF2"/></svg><div id="ha-launch-screen-info-box" class="ha-launch-screen-spacer"></div></div><home-assistant></home-assistant><script>function _ls(e,n){var t=document.createElement("script");return n&&(t.async=!1),t.src=e,document.head.appendChild(t)}window.polymerSkipLoadingFontRoboto=!0,"customElements"in window&&"content"in document.createElement("template")||_ls("/static/polyfills/webcomponents-bundle.js",!0);var isS11_12=/(?:.*(?:iPhone|iPad).*OS (?:11|12)_\d)|(?:.*Version\/(?:11|12)(?:\.\d+)*.*Safari\/)/.test(navigator.userAgent)</script><script>if(-1===navigator.userAgent.indexOf("Android")&&-1===navigator.userAgent.indexOf("CrOS")){function _pf(o,t){var n=document.createElement("link");n.rel="preload",n.as="font",n.type="font/woff2",n.href=o,n.crossOrigin="anonymous",document.head.appendChild(n)}_pf("/static/fonts/roboto/Roboto-Regular.woff2"),_pf("/static/fonts/roboto/Roboto-Medium.woff2")}</script><script crossorigin="use-credentials">isS11_12||(import("/frontend_latest/core-9DbaAPsPyXQ.js"),import("/frontend_latest/app-RHnFPWv3eEE.js"),window.customPanelJS="/frontend_latest/custom-panel-ckHlI3n11OU.js",window.latestJS=!0)</script><script>import("/hacsfiles/iconset.js");</script><script>window.latestJS||(window.customPanelJS="/frontend_es5/custom-panel-L_aZaQCSe98.js",_ls("/frontend_es5/core-IVVuK4hwXt8.js",!0),_ls("/frontend_es5/app-62PBW9OVJjs.js",!0))</script><script>if (!window.latestJS) {}</script></body></html>root@30457ed2909a:/# 

Salut,
Manque le protocol dans tes commandes : http://

Perso j’aime pas les combinaisons de fonctions

Voici les commandes avec le protocole :

root@30457ed2909a:/# wget http://192.168.1.25:8123
Connecting to 192.168.1.25:8123 (192.168.1.25:8123)
wget: can't open 'index.html': File exists
root@30457ed2909a:/# curl http://192.168.1.25:8123
<!DOCTYPE html><html><head><title>Home Assistant</title><meta charset="utf-8"><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="icon" href="/static/icons/favicon.ico"><link rel="modulepreload" href="/frontend_latest/core-9DbaAPsPyXQ.js" crossorigin="use-credentials"><link rel="modulepreload" href="/frontend_latest/app-RHnFPWv3eEE.js" crossorigin="use-credentials"><link rel="mask-icon" href="/static/icons/mask-icon.svg" color="#18bcf2"><link rel="apple-touch-icon" href="/static/icons/favicon-apple-180x180.png"><meta name="apple-itunes-app" content="app-id=1099568401"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Home Assistant"><meta name="msapplication-config" content="/static/icons/browserconfig.xml"><meta name="mobile-web-app-capable" content="yes"><meta name="application-name" content="Home Assistant"><meta name="referrer" content="same-origin"><meta name="theme-color" content="#03A9F4"><meta name="color-scheme" content="dark light"><meta name="viewport" content="width=device-width,user-scalable=no,viewport-fit=cover,initial-scale=1"><style>body{font-family:Roboto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:400;margin:0;padding:0;height:100%}</style><style>html{background-color:var(--primary-background-color,#fafafa);color:var(--primary-text-color,#212121)}@media (prefers-color-scheme:dark){html{background-color:var(--primary-background-color,#111);color:var(--primary-text-color,#e1e1e1)}}body{font-family:Roboto,Noto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-weight:400;height:100vh;margin:0;padding:0}#ha-launch-screen{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}#ha-launch-screen svg{width:170px;flex-shrink:0}#ha-launch-screen .ha-launch-screen-spacer{flex:1}</style></head><body><div id="ha-launch-screen"><div class="ha-launch-screen-spacer"></div><svg viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M240 224.762C240 233.012 233.25 239.762 225 239.762H15C6.75 239.762 0 233.012 0 224.762V134.762C0 126.512 4.77 114.993 10.61 109.153L109.39 10.3725C115.22 4.5425 124.77 4.5425 130.6 10.3725L229.39 109.162C235.22 114.992 240 126.522 240 134.772V224.772V224.762Z" fill="#F2F4F9"/><path d="M229.39 109.153L130.61 10.3725C124.78 4.5425 115.23 4.5425 109.4 10.3725L10.61 109.153C4.78 114.983 0 126.512 0 134.762V224.762C0 233.012 6.75 239.762 15 239.762H107.27L66.64 199.132C64.55 199.852 62.32 200.262 60 200.262C48.7 200.262 39.5 191.062 39.5 179.762C39.5 168.462 48.7 159.262 60 159.262C71.3 159.262 80.5 168.462 80.5 179.762C80.5 182.092 80.09 184.322 79.37 186.412L111 218.042V102.162C104.2 98.8225 99.5 91.8425 99.5 83.7725C99.5 72.4725 108.7 63.2725 120 63.2725C131.3 63.2725 140.5 72.4725 140.5 83.7725C140.5 91.8425 135.8 98.8225 129 102.162V183.432L160.46 151.972C159.84 150.012 159.5 147.932 159.5 145.772C159.5 134.472 168.7 125.272 180 125.272C191.3 125.272 200.5 134.472 200.5 145.772C200.5 157.072 191.3 166.272 180 166.272C177.5 166.272 175.12 165.802 172.91 164.982L129 208.892V239.772H225C233.25 239.772 240 233.022 240 224.772V134.772C240 126.522 235.23 115.002 229.39 109.162V109.153Z" fill="#18BCF2"/></svg><div id="ha-launch-screen-info-box" class="ha-launch-screen-spacer"></div></div><home-assistant></home-assistant><script>function _ls(e,n){var t=document.createElement("script");return n&&(t.async=!1),t.src=e,document.head.appendChild(t)}window.polymerSkipLoadingFontRoboto=!0,"customElements"in window&&"content"in document.createElement("template")||_ls("/static/polyfills/webcomponents-bundle.js",!0);var isS11_12=/(?:.*(?:iPhone|iPad).*OS (?:11|12)_\d)|(?:.*Version\/(?:11|12)(?:\.\d+)*.*Safari\/)/.test(navigator.userAgent)</script><script>if(-1===navigator.userAgent.indexOf("Android")&&-1===navigator.userAgent.indexOf("CrOS")){function _pf(o,t){var n=document.createElement("link");n.rel="preload",n.as="font",n.type="font/woff2",n.href=o,n.crossOrigin="anonymous",document.head.appendChild(n)}_pf("/static/fonts/roboto/Roboto-Regular.woff2"),_pf("/static/fonts/roboto/Roboto-Medium.woff2")}</script><script crossorigin="use-credentials">isS11_12||(import("/frontend_latest/core-9DbaAPsPyXQ.js"),import("/frontend_latest/app-RHnFPWv3eEE.js"),window.customPanelJS="/frontend_latest/custom-panel-ckHlI3n11OU.js",window.latestJS=!0)</script><script>import("/hacsfiles/iconset.js");</script><script>window.latestJS||(window.customPanelJS="/frontend_es5/custom-panel-L_aZaQCSe98.js",_ls("/frontend_es5/core-IVVuK4hwXt8.js",!0),_ls("/frontend_es5/app-62PBW9OVJjs.js",!0))</script><script>if (!window.latestJS) {}</script></body></html>

Quel est le risque de combiner les fonctions selon toi ? Avoir un Pi avec HAOS + un autre avec teslamate (et les quelques autres containers dont il a besoin) ce serait pas un peu overkill ? En plus d’être couteux pour moi :sweat_smile:
C’est vrai qu’en soit cette installation fonctionnerait mais ça me parait quand même dommage

Quel est pour toi la plus-value d’utiliser swag ?

Cependant, je confirme, ce n’est sans doute pas la méthode la plus adaptée pour toi.

En tout cas, je ne pourrai pas aider, je ne connais pas swag et pas envie de connaître. :joy:

La réponse ne va pas être celle que tu attends…
Mais, si tu ne sais pas te connecter à un container et passer une commande en shell dedans, c’est que le mode d’installation que tu as choisi ne va pas te convenir.

Tu multiplies les risques que l’un plante l’autre ! pas de ressources, fausse manip, incompatibilité à venir etc
Sachant qu’il existe une intégration Tesla sur HA, est-ce que ça vaut le coup de gérer teslamate à part

C’est l’équivalent de Nginx Proxy Manager. Sans add-on, swag facilite, normalement, la mise en place d’un tel proxy.

C’est plutôt bon signe. SWAG a accès à HA.
Redémarre le RPi. Et vérifie à la loupe, la config de SWAG. Il doit y avoir un détail qui coince. Quoi ? Je ne sais pas trop…

Ca, c’est ennuyeux…
Si tu utilises portainer avec des stacks met une ligne comme ça dans la config de swag:

  dns:
      - 192.168.1.254

Si 1.254 est l’adresse IP de ton routeur, qui doit aussi faire office de serveur DNS.