From 8f82871e68cfe0a42daae1a89b1de7f1d4f87c07 Mon Sep 17 00:00:00 2001 From: Falk Heiland Date: Sun, 11 Feb 2024 14:04:16 +0100 Subject: [PATCH 01/12] added exposable version of home assistant, deprecated current version --- apps/homeassistant-1/config.json | 22 ++++++++++ .../data/config/automations.yaml | 1 + .../data/config/configuration.yaml | 18 ++++++++ apps/homeassistant-1/data/config/scenes.yaml | 0 apps/homeassistant-1/data/config/scripts.yaml | 0 apps/homeassistant-1/docker-compose.yml | 41 ++++++++++++++++++ apps/homeassistant-1/metadata/description.md | 28 ++++++++++++ apps/homeassistant-1/metadata/logo.jpg | Bin 0 -> 45400 bytes apps/homeassistant/config.json | 14 ++++-- 9 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 apps/homeassistant-1/config.json create mode 100644 apps/homeassistant-1/data/config/automations.yaml create mode 100644 apps/homeassistant-1/data/config/configuration.yaml create mode 100644 apps/homeassistant-1/data/config/scenes.yaml create mode 100644 apps/homeassistant-1/data/config/scripts.yaml create mode 100644 apps/homeassistant-1/docker-compose.yml create mode 100644 apps/homeassistant-1/metadata/description.md create mode 100644 apps/homeassistant-1/metadata/logo.jpg diff --git a/apps/homeassistant-1/config.json b/apps/homeassistant-1/config.json new file mode 100644 index 00000000..df1a46c3 --- /dev/null +++ b/apps/homeassistant-1/config.json @@ -0,0 +1,22 @@ +{ + "$schema": "../schema.json", + "name": "Home Assistant", + "port": 8123, + "available": true, + "exposable": true, + "id": "homeassistant", + "tipi_version": 1, + "version": "2024.2.1", + "categories": [ + "automation" + ], + "description": "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.", + "short_desc": "Open source home automation that puts local control and privacy first", + "author": "Home Assistant", + "source": "https://github.com/home-assistant/core", + "form_fields": [], + "supported_architectures": [ + "arm64", + "amd64" + ] +} \ No newline at end of file diff --git a/apps/homeassistant-1/data/config/automations.yaml b/apps/homeassistant-1/data/config/automations.yaml new file mode 100644 index 00000000..0637a088 --- /dev/null +++ b/apps/homeassistant-1/data/config/automations.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/apps/homeassistant-1/data/config/configuration.yaml b/apps/homeassistant-1/data/config/configuration.yaml new file mode 100644 index 00000000..036bbb18 --- /dev/null +++ b/apps/homeassistant-1/data/config/configuration.yaml @@ -0,0 +1,18 @@ + +# Loads default set of integrations. Do not remove. +default_config: + +# Load frontend themes from the themes folder +frontend: + themes: !include_dir_merge_named themes + +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml + +http: + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 172.16.0.0/12 + - ::1 \ No newline at end of file diff --git a/apps/homeassistant-1/data/config/scenes.yaml b/apps/homeassistant-1/data/config/scenes.yaml new file mode 100644 index 00000000..e69de29b diff --git a/apps/homeassistant-1/data/config/scripts.yaml b/apps/homeassistant-1/data/config/scripts.yaml new file mode 100644 index 00000000..e69de29b diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml new file mode 100644 index 00000000..7a73aec7 --- /dev/null +++ b/apps/homeassistant-1/docker-compose.yml @@ -0,0 +1,41 @@ +version: '3' + +services: + homeassistant: + image: "ghcr.io/home-assistant/home-assistant:2024.2.1" + container_name: homeassistant + environment: + - TZ=${TZ} + restart: unless-stopped + ports: + - ${APP_PORT}:8123 + volumes: + - /etc/localtime:/etc/localtime:ro + - ${APP_DATA_DIR}/data/config:/config + networks: + - tipi_main_network + labels: + # Main + traefik.enable: true + traefik.http.middlewares.homeassistant-web-redirect.redirectscheme.scheme: https + traefik.http.services.homeassistant.loadbalancer.server.port: 8123 + # Web + traefik.http.routers.homeassistant-insecure.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.homeassistant-insecure.entrypoints: web + traefik.http.routers.homeassistant-insecure.service: homeassistant + traefik.http.routers.homeassistant-insecure.middlewares: homeassistant-web-redirect + # Websecure + traefik.http.routers.homeassistant.rule: Host(`${APP_DOMAIN}`) + traefik.http.routers.homeassistant.entrypoints: websecure + traefik.http.routers.homeassistant.service: homeassistant + traefik.http.routers.homeassistant.tls.certresolver: myresolver + # Local domain + traefik.http.routers.homeassistant-local-insecure.rule: Host(`homeassistant.${LOCAL_DOMAIN}`) + traefik.http.routers.homeassistant-local-insecure.entrypoints: web + traefik.http.routers.homeassistant-local-insecure.service: homeassistant + traefik.http.routers.homeassistant-local-insecure.middlewares: homeassistant-web-redirect + # Local domain secure + traefik.http.routers.homeassistant-local.rule: Host(`homeassistant.${LOCAL_DOMAIN}`) + traefik.http.routers.homeassistant-local.entrypoints: websecure + traefik.http.routers.homeassistant-local.service: homeassistant + traefik.http.routers.homeassistant-local.tls: true \ No newline at end of file diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md new file mode 100644 index 00000000..2a9f607c --- /dev/null +++ b/apps/homeassistant-1/metadata/description.md @@ -0,0 +1,28 @@ +# Home Assistant + +Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. + +Check out [home-assistant.io](https://home-assistant.io) for a [demo](https://home-assistant.io/demo/), installation [instructions](https://home-assistant.io/getting-started/), [tutorials](https://home-assistant.io/getting-started/automation/) and [documentation](https://home-assistant.io/docs/) + +## Migration + +February 2024 + +This version of Home Assistant can be exposed. To migrate from the previous, non exposable app, follow these steps: + +- stop the previous app +- rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` +- remove the (previous) app +- install the (the current) app +- remove `runtipi/app-data/homeassistant` +- rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant` +- add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` + ``` + http: + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 172.16.0.0/12 + - ::1 + ``` +- start the app \ No newline at end of file diff --git a/apps/homeassistant-1/metadata/logo.jpg b/apps/homeassistant-1/metadata/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f090130e2e73c8edfc751af1fcdb260c997284c0 GIT binary patch literal 45400 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%0A*n73mAVk$L7Znzj|3x@Q}!Cfut*V2C5zds3F(A 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 literal 0 HcmV?d00001 diff --git a/apps/homeassistant/config.json b/apps/homeassistant/config.json index 5e6f0169..84b5a14f 100644 --- a/apps/homeassistant/config.json +++ b/apps/homeassistant/config.json @@ -1,16 +1,22 @@ { "$schema": "../schema.json", - "name": "Home Assistant", + "name": "Home Assistant non exposed", "available": true, + "deprecated": true, "port": 8123, "tipi_version": 2, "version": "stable", "id": "homeassistant", - "categories": ["automation"], + "categories": [ + "automation" + ], "description": "Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.", "short_desc": "Open source home automation that puts local control and privacy first", "author": "ArneNaessens", "source": "https://github.com/home-assistant/core", "form_fields": [], - "supported_architectures": ["arm64", "amd64"] -} + "supported_architectures": [ + "arm64", + "amd64" + ] +} \ No newline at end of file From c881dabd7bd74c15b679a83a2e30e7e0aec8c3d7 Mon Sep 17 00:00:00 2001 From: Falk Heiland Date: Sun, 11 Feb 2024 14:11:06 +0100 Subject: [PATCH 02/12] edited description --- apps/homeassistant-1/metadata/description.md | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 2a9f607c..a2d5cd2d 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -25,4 +25,5 @@ This version of Home Assistant can be exposed. To migrate from the previous, non - 172.16.0.0/12 - ::1 ``` +- change `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant` to `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - start the app \ No newline at end of file From eb11870c28cfcd6d0690a52a804a3d8e416a2bfd Mon Sep 17 00:00:00 2001 From: falkheiland Date: Mon, 12 Feb 2024 09:56:24 +0100 Subject: [PATCH 03/12] edited APP ID and description --- apps/homeassistant-1/config.json | 2 +- apps/homeassistant-1/metadata/description.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/homeassistant-1/config.json b/apps/homeassistant-1/config.json index df1a46c3..c034f3bb 100644 --- a/apps/homeassistant-1/config.json +++ b/apps/homeassistant-1/config.json @@ -4,7 +4,7 @@ "port": 8123, "available": true, "exposable": true, - "id": "homeassistant", + "id": "homeassistant-1", "tipi_version": 1, "version": "2024.2.1", "categories": [ diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index a2d5cd2d..242fee68 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -25,5 +25,6 @@ This version of Home Assistant can be exposed. To migrate from the previous, non - 172.16.0.0/12 - ::1 ``` +- change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - change `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant` to `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - start the app \ No newline at end of file From c39c311b6a211b6b600c9d6ec1962336da383cf9 Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 16:02:01 +0100 Subject: [PATCH 04/12] pushed tipi-version to show deprectation message, edited / added migration description --- apps/homeassistant-1/metadata/description.md | 13 ++++----- apps/homeassistant/config.json | 2 +- apps/homeassistant/metadata/description.md | 28 +++++++++++++++++++- 3 files changed, 35 insertions(+), 8 deletions(-) diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 242fee68..70f9027b 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -8,14 +8,15 @@ Check out [home-assistant.io](https://home-assistant.io) for a [demo](https://ho February 2024 -This version of Home Assistant can be exposed. To migrate from the previous, non exposable app, follow these steps: +This version of Home Assistant can be exposed. To migrate from the non-exposable app, follow these steps: -- stop the previous app +- stop the installed app - rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` -- remove the (previous) app -- install the (the current) app -- remove `runtipi/app-data/homeassistant` -- rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant` +- uninstall the app +- install Home Assiatant from the App Store +- do NOT start the app +- remove `runtipi/app-data/homeassistant-1` +- rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` ``` http: diff --git a/apps/homeassistant/config.json b/apps/homeassistant/config.json index 84b5a14f..0364386b 100644 --- a/apps/homeassistant/config.json +++ b/apps/homeassistant/config.json @@ -4,7 +4,7 @@ "available": true, "deprecated": true, "port": 8123, - "tipi_version": 2, + "tipi_version": 3, "version": "stable", "id": "homeassistant", "categories": [ diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index b7b2a420..6eb8bd35 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -4,4 +4,30 @@ Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Check out [home-assistant.io](https://home-assistant.io) for a [demo](https://home-assistant.io/demo/), installation [instructions](https://home-assistant.io/getting-started/), [tutorials](https://home-assistant.io/getting-started/automation/) and [documentation](https://home-assistant.io/docs/) -![Screenshot](https://raw.githubusercontent.com/home-assistant/core/master/docs/screenshots.png) \ No newline at end of file +![Screenshot](https://raw.githubusercontent.com/home-assistant/core/master/docs/screenshots.png) + +## Migration + +February 2024 + +This version of Home Assistant can not be exposed. To migrate to the exposable app, follow these steps: + +- stop the installed app +- rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` +- uninstall the app +- install Home Assiatant from the App Store +- do NOT start the app +- remove `runtipi/app-data/homeassistant-1` +- rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` +- add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` + ``` + http: + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 172.16.0.0/12 + - ::1 + ``` +- change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` +- change `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant` to `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant-1` in `runtipi/app-data/homeassistant/app.env` +- start the app \ No newline at end of file From 4eeaaf0f93819ef5f2b3d15c78da7aeea962dac3 Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 16:13:36 +0100 Subject: [PATCH 05/12] edited description --- apps/homeassistant-1/metadata/description.md | 4 ++-- apps/homeassistant/metadata/description.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 70f9027b..569793fb 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -13,8 +13,8 @@ This version of Home Assistant can be exposed. To migrate from the non-exposable - stop the installed app - rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` - uninstall the app -- install Home Assiatant from the App Store -- do NOT start the app +- install Home Assistant from the App Store +- do stop the app - remove `runtipi/app-data/homeassistant-1` - rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index 6eb8bd35..703ab3c7 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -15,8 +15,8 @@ This version of Home Assistant can not be exposed. To migrate to the exposable a - stop the installed app - rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` - uninstall the app -- install Home Assiatant from the App Store -- do NOT start the app +- install Home Assistant from the App Store +- do stop the app - remove `runtipi/app-data/homeassistant-1` - rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` From bc7aff49021d1ecb429cdc161227ecd25b319f7f Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 16:32:31 +0100 Subject: [PATCH 06/12] fixed typo in description --- apps/homeassistant-1/metadata/description.md | 2 +- apps/homeassistant/metadata/description.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 569793fb..44130a50 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -14,7 +14,7 @@ This version of Home Assistant can be exposed. To migrate from the non-exposable - rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` - uninstall the app - install Home Assistant from the App Store -- do stop the app +- stop the app - remove `runtipi/app-data/homeassistant-1` - rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index 703ab3c7..1585e00f 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -16,7 +16,7 @@ This version of Home Assistant can not be exposed. To migrate to the exposable a - rename `runtipi/app-data/homeassistant` to `runtipi/app-data/__homeassistant` - uninstall the app - install Home Assistant from the App Store -- do stop the app +- stop the app - remove `runtipi/app-data/homeassistant-1` - rename `runtipi/app-data/__homeassistant` to `runtipi/app-data/homeassistant-1` - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` From 8e55e17c31b44f531887750bd29a1addf5494dc9 Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 17:10:55 +0100 Subject: [PATCH 07/12] edited port for the homeassistant-1 app --- apps/homeassistant-1/config.json | 2 +- apps/homeassistant-1/metadata/description.md | 1 + apps/homeassistant/metadata/description.md | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/homeassistant-1/config.json b/apps/homeassistant-1/config.json index c034f3bb..93fe43e5 100644 --- a/apps/homeassistant-1/config.json +++ b/apps/homeassistant-1/config.json @@ -1,7 +1,7 @@ { "$schema": "../schema.json", "name": "Home Assistant", - "port": 8123, + "port": 8209, "available": true, "exposable": true, "id": "homeassistant-1", diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 44130a50..9cefbb39 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -27,5 +27,6 @@ This version of Home Assistant can be exposed. To migrate from the non-exposable - ::1 ``` - change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` +- change `APP_PORT=8123` to `APP_PORT=8209` in `runtipi/app-data/homeassistant/app.env` - change `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant` to `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - start the app \ No newline at end of file diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index 1585e00f..50e06bff 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -29,5 +29,6 @@ This version of Home Assistant can not be exposed. To migrate to the exposable a - ::1 ``` - change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` +- change `APP_PORT=8123` to `APP_PORT=8209` in `runtipi/app-data/homeassistant/app.env` - change `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant` to `APP_DATA_DIR={{ROOT_FOLDER_HOST}}/app-data/homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - start the app \ No newline at end of file From 3fd1d1cb463a59fec528a2dd96585e5d393b4dd4 Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 17:26:54 +0100 Subject: [PATCH 08/12] changed container_name, image format --- apps/homeassistant-1/docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml index 7a73aec7..116928fc 100644 --- a/apps/homeassistant-1/docker-compose.yml +++ b/apps/homeassistant-1/docker-compose.yml @@ -2,8 +2,8 @@ version: '3' services: homeassistant: - image: "ghcr.io/home-assistant/home-assistant:2024.2.1" - container_name: homeassistant + image: ghcr.io/home-assistant/home-assistant:2024.2.1 + container_name: homeassistant-1 environment: - TZ=${TZ} restart: unless-stopped From 975108508c0372bdd5010813366bab8782e17f5c Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 17:28:15 +0100 Subject: [PATCH 09/12] edited port for the homeassistant-1 app --- apps/homeassistant-1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml index 116928fc..95b973a6 100644 --- a/apps/homeassistant-1/docker-compose.yml +++ b/apps/homeassistant-1/docker-compose.yml @@ -8,7 +8,7 @@ services: - TZ=${TZ} restart: unless-stopped ports: - - ${APP_PORT}:8123 + - ${APP_PORT}:8209 volumes: - /etc/localtime:/etc/localtime:ro - ${APP_DATA_DIR}/data/config:/config From 1e27ea02281830f2ec59818a695262b1bff4bc65 Mon Sep 17 00:00:00 2001 From: falkheiland Date: Tue, 13 Feb 2024 17:38:14 +0100 Subject: [PATCH 10/12] edited service name for the homeassistant-1 app --- apps/homeassistant-1/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml index 95b973a6..013f568c 100644 --- a/apps/homeassistant-1/docker-compose.yml +++ b/apps/homeassistant-1/docker-compose.yml @@ -1,7 +1,7 @@ version: '3' services: - homeassistant: + homeassistant-1: image: ghcr.io/home-assistant/home-assistant:2024.2.1 container_name: homeassistant-1 environment: From 5bc0a7f07da98889e23982df1d4b99420cc382f7 Mon Sep 17 00:00:00 2001 From: Falk Heiland Date: Tue, 13 Feb 2024 21:34:26 +0100 Subject: [PATCH 11/12] edited app server port to 8209 --- apps/homeassistant-1/data/config/configuration.yaml | 4 ++-- apps/homeassistant-1/docker-compose.yml | 2 +- apps/homeassistant-1/metadata/description.md | 11 ++++++----- apps/homeassistant/metadata/description.md | 11 ++++++----- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/homeassistant-1/data/config/configuration.yaml b/apps/homeassistant-1/data/config/configuration.yaml index 036bbb18..1f969024 100644 --- a/apps/homeassistant-1/data/config/configuration.yaml +++ b/apps/homeassistant-1/data/config/configuration.yaml @@ -1,4 +1,3 @@ - # Loads default set of integrations. Do not remove. default_config: @@ -11,8 +10,9 @@ script: !include scripts.yaml scene: !include scenes.yaml http: + server_port: 8209 use_x_forwarded_for: true trusted_proxies: - 127.0.0.1 - 172.16.0.0/12 - - ::1 \ No newline at end of file + - ::1 diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml index 013f568c..64044e90 100644 --- a/apps/homeassistant-1/docker-compose.yml +++ b/apps/homeassistant-1/docker-compose.yml @@ -18,7 +18,7 @@ services: # Main traefik.enable: true traefik.http.middlewares.homeassistant-web-redirect.redirectscheme.scheme: https - traefik.http.services.homeassistant.loadbalancer.server.port: 8123 + traefik.http.services.homeassistant.loadbalancer.server.port: 8209 # Web traefik.http.routers.homeassistant-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.homeassistant-insecure.entrypoints: web diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 9cefbb39..74b0d5ac 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -20,11 +20,12 @@ This version of Home Assistant can be exposed. To migrate from the non-exposable - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` ``` http: - use_x_forwarded_for: true - trusted_proxies: - - 127.0.0.1 - - 172.16.0.0/12 - - ::1 + server_port: 8209 + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 172.16.0.0/12 + - ::1 ``` - change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - change `APP_PORT=8123` to `APP_PORT=8209` in `runtipi/app-data/homeassistant/app.env` diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index 50e06bff..58853014 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -22,11 +22,12 @@ This version of Home Assistant can not be exposed. To migrate to the exposable a - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` ``` http: - use_x_forwarded_for: true - trusted_proxies: - - 127.0.0.1 - - 172.16.0.0/12 - - ::1 + server_port: 8209 + use_x_forwarded_for: true + trusted_proxies: + - 127.0.0.1 + - 172.16.0.0/12 + - ::1 ``` - change `APP_ID=homeassistant` to `APP_ID=homeassistant-1` in `runtipi/app-data/homeassistant/app.env` - change `APP_PORT=8123` to `APP_PORT=8209` in `runtipi/app-data/homeassistant/app.env` From ee049906f630a4f4d53d43b7658a0c110e850117 Mon Sep 17 00:00:00 2001 From: Falk Heiland Date: Tue, 13 Feb 2024 21:58:59 +0100 Subject: [PATCH 12/12] revoked changed app_port --- apps/homeassistant-1/data/config/configuration.yaml | 1 - apps/homeassistant-1/docker-compose.yml | 4 ++-- apps/homeassistant-1/metadata/description.md | 1 - apps/homeassistant/metadata/description.md | 1 - 4 files changed, 2 insertions(+), 5 deletions(-) diff --git a/apps/homeassistant-1/data/config/configuration.yaml b/apps/homeassistant-1/data/config/configuration.yaml index 1f969024..304fe25d 100644 --- a/apps/homeassistant-1/data/config/configuration.yaml +++ b/apps/homeassistant-1/data/config/configuration.yaml @@ -10,7 +10,6 @@ script: !include scripts.yaml scene: !include scenes.yaml http: - server_port: 8209 use_x_forwarded_for: true trusted_proxies: - 127.0.0.1 diff --git a/apps/homeassistant-1/docker-compose.yml b/apps/homeassistant-1/docker-compose.yml index 64044e90..3424ebe5 100644 --- a/apps/homeassistant-1/docker-compose.yml +++ b/apps/homeassistant-1/docker-compose.yml @@ -8,7 +8,7 @@ services: - TZ=${TZ} restart: unless-stopped ports: - - ${APP_PORT}:8209 + - ${APP_PORT}:8123 volumes: - /etc/localtime:/etc/localtime:ro - ${APP_DATA_DIR}/data/config:/config @@ -18,7 +18,7 @@ services: # Main traefik.enable: true traefik.http.middlewares.homeassistant-web-redirect.redirectscheme.scheme: https - traefik.http.services.homeassistant.loadbalancer.server.port: 8209 + traefik.http.services.homeassistant.loadbalancer.server.port: 8123 # Web traefik.http.routers.homeassistant-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.homeassistant-insecure.entrypoints: web diff --git a/apps/homeassistant-1/metadata/description.md b/apps/homeassistant-1/metadata/description.md index 74b0d5ac..62d6b043 100644 --- a/apps/homeassistant-1/metadata/description.md +++ b/apps/homeassistant-1/metadata/description.md @@ -20,7 +20,6 @@ This version of Home Assistant can be exposed. To migrate from the non-exposable - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` ``` http: - server_port: 8209 use_x_forwarded_for: true trusted_proxies: - 127.0.0.1 diff --git a/apps/homeassistant/metadata/description.md b/apps/homeassistant/metadata/description.md index 58853014..34d1a78a 100644 --- a/apps/homeassistant/metadata/description.md +++ b/apps/homeassistant/metadata/description.md @@ -22,7 +22,6 @@ This version of Home Assistant can not be exposed. To migrate to the exposable a - add the following section to `runtipi/app-data/homeassistant/data/config/configuration.yaml` ``` http: - server_port: 8209 use_x_forwarded_for: true trusted_proxies: - 127.0.0.1