diff --git a/.env.example b/.env.example
index dbd15e9..fda84e4 100644
--- a/.env.example
+++ b/.env.example
@@ -10,6 +10,7 @@ PIA_USER=
PIA_PASS=
PIA_LOCAL_NETWORK="192.168.0.0/16"
HOSTNAME=localhost
+HOMEASSISTANT_HOSTNAME=
ADGUARD_HOSTNAME=
ADGUARD_USERNAME=
ADGUARD_PASSWORD=
@@ -29,6 +30,7 @@ PROWLARR_API_KEY=
JELLYFIN_API_KEY=
JELLYSEERR_API_KEY=
SABNZBD_API_KEY=
+HOMEASSISTANT_ACCESS_TOKEN=
HOMEPAGE_VAR_TITLE="Docker-Compose NAS"
HOMEPAGE_VAR_SEARCH_PROVIDER=google
HOMEPAGE_VAR_HEADER_STYLE=boxed
diff --git a/.gitignore b/.gitignore
index 4bb0d45..fc96e73 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,7 +17,6 @@ docker-compose.override.yml
/jellyseerr
/adguardhome/certs
/adguardhome/conf
-!/adguardhome/conf/.gitkeep
/adguardhome/work
-!/adguardhome/work/.gitkeep
/sabnzbd
+/homeassistant
diff --git a/README.md b/README.md
index fb9a4ae..f00c606 100644
--- a/README.md
+++ b/README.md
@@ -74,6 +74,7 @@ I am running it in Ubuntu Server 22.04; I also tested this setup on a [Synology
| [AdGuard Home](https://adguard.com/en/adguard-home/overview.html) | Optional - Network-wide software for blocking ads & tracking
Enable with `COMPOSE_PROFILES=adguardhome` | [adguard/adguardhome](https://hub.docker.com/r/adguard/adguardhome) | |
| [Tandoor](https://tandoor.dev) | Optional - Smart recipe management
Enable with `COMPOSE_PROFILES=tandoor` | [vabene1111/recipes](https://hub.docker.com/r/vabene1111/recipes) | /recipes |
| [Joplin](https://joplinapp.org/) | Optional - Note taking application
Enable with `COMPOSE_PROFILES=joplin` | [joplin/server](https://hub.docker.com/r/joplin/server) | /joplin |
+| [Home Assistant](https://www.home-assistant.io//) | Optional - Open source home automation that puts local control and privacy first
Enable with `COMPOSE_PROFILES=homeassistant` | [home-assistant/home-assistant:stable](https://ghcr.io/home-assistant/home-assistant) | |
Optional containers are not enabled by default, they need to be enabled,
see [Optional Services](#optional-services) for more information.
@@ -378,6 +379,16 @@ See [here](./tandoor/README.md).
See [here](./joplin/README.md).
+### Home Assistant
+
+Enable AdGuard Home by setting `COMPOSE_PROFILES=homeassistant`.
+
+Set the `HOMEASSISTANT_HOSTNAME`, since it does not support
+[running in a subfolder](https://github.com/home-assistant/architecture/issues/156).
+Add the necessary DNS records in your domain.
+
+Set the `HOMEASSISTANT_ACCESS_TOKEN` for homepage support.
+
## Customization
You can override the configuration of a service or add new services by creating a new `docker-compose.override.yml` file,
diff --git a/adguardhome/certs/.gitkeep b/adguardhome/certs/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/adguardhome/conf/.gitkeep b/adguardhome/conf/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/adguardhome/work/.gitkeep b/adguardhome/work/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/docker-compose.yml b/docker-compose.yml
index 7c8a390..a4a3e3d 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -401,6 +401,41 @@ services:
- homepage.widget.type=jellyfin
- homepage.widget.url=http://jellyfin:8096/jellyfin
- homepage.widget.key=${JELLYFIN_API_KEY}
+ homeassistant:
+ image: ghcr.io/home-assistant/home-assistant:stable
+ container_name: homeassistant
+ network_mode: host
+ environment:
+ - HOMEPAGE_VAR_TITLE=${HOMEPAGE_VAR_TITLE}
+ - HOMEPAGE_VAR_SEARCH_PROVIDER=${HOMEPAGE_VAR_SEARCH_PROVIDER}
+ - HOMEPAGE_VAR_HEADER_STYLE=${HOMEPAGE_VAR_HEADER_STYLE}
+ - HOMEPAGE_VAR_WEATHER_CITY=${HOMEPAGE_VAR_WEATHER_CITY}
+ - HOMEPAGE_VAR_WEATHER_LAT=${HOMEPAGE_VAR_WEATHER_LAT}
+ - HOMEPAGE_VAR_WEATHER_LONG=${HOMEPAGE_VAR_WEATHER_LONG}
+ - HOMEPAGE_VAR_WEATHER_TIME=${TIMEZONE}
+ - HOMEPAGE_VAR_WEATHER_UNIT=${HOMEPAGE_VAR_WEATHER_UNIT}
+ volumes:
+ - ./homeassistant:/config
+ - /etc/localtime:/etc/localtime:ro
+ - /run/dbus:/run/dbus:ro
+ restart: always
+ labels:
+ - traefik.enable=true
+ - traefik.http.routers.homeassistant.rule=(Host(`${HOMEASSISTANT_HOSTNAME}`))
+ - traefik.http.routers.homeassistant.tls=true
+ - traefik.http.routers.homeassistant.tls.certresolver=myresolver
+ - traefik.http.services.homeassistant.loadbalancer.server.port=8123
+ - homepage.group=Apps
+ - homepage.name=homeassistant
+ - homepage.icon=homeassistant.png
+ - homepage.href=${HOMEASSISTANT_HOSTNAME}
+ - homepage.description=Open source home automation that puts local control and privacy first
+ - homepage.weight=3
+ - homepage.widget.type=homeassistant
+ - homepage.widget.url=http://homeassistant:8123
+ - homepage.widget.key=${HOMEASSISTANT_ACCESS_TOKEN}
+ profiles:
+ - homeassistant
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage