Skip to content

Commit

Permalink
feat(homeassistant): Add Mosquitto MQTT broker
Browse files Browse the repository at this point in the history
  • Loading branch information
AdrienPoupa committed Jan 5, 2025
1 parent cc63845 commit ad6951d
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 0 deletions.
2 changes: 2 additions & 0 deletions homeassistant/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
!README.md
!docker-compose.yml
!backup.env.example
!mosquitto.env.example
!mosquitto/config/mosquitto.conf
13 changes: 13 additions & 0 deletions homeassistant/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@ http:
Set the `HOMEASSISTANT_ACCESS_TOKEN` for homepage support.

## MQTT

If you need to use MQTT, you can enable it by setting `COMPOSE_PROFILES=homeassistant,mqtt`.

Copy the Mosquitto environment file to `mosquitto.env` and fill the username and password:
`cp mosquitto.env.exmple mosquitto.env`.

Start the container, create a user in mosquitto with the following command and the credentials defined in the `mosquitto.env` file:

`docker compose exec mosquitto mosquitto_passwd -b /mosquitto/config/pwfile <username> <password>`

Restart the Mosquitto container to apply the changes.

## Backup

### Enable Backups in HomeAssistant
Expand Down
15 changes: 15 additions & 0 deletions homeassistant/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,21 @@ services:
- homepage.widget.key=${HOMEASSISTANT_ACCESS_TOKEN}
profiles:
- homeassistant
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
restart: always
volumes:
- ${CONFIG_ROOT:-.}/homeassistant/mosquitto/config:/mosquitto/config
- ${CONFIG_ROOT:-.}/homeassistant/mosquitto/data:/mosquitto/data
- ${CONFIG_ROOT:-.}/homeassistant/mosquitto/logs:/mosquitto/logs
healthcheck:
test: [ "CMD", "mosquitto_sub", "-u", "$MOSQUITTO_USERNAME", "-P", "$MOSQUITTO_PASSWORD", "-h", "localhost", "-t", "$$SYS/broker/uptime", "-i", "docker_health_check", "-C", "1" ]
interval: 1m
timeout: 10s
retries: 3
profiles:
- mqtt
homeassistant-backup:
image: adrienpoupa/rclone-backup:latest
container_name: homeassistant-backup
Expand Down
2 changes: 2 additions & 0 deletions homeassistant/mosquitto.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
MOSQUITTO_USERNAME=
MOSQUITTO_PASSWORD=
9 changes: 9 additions & 0 deletions homeassistant/mosquitto/config/mosquitto.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
persistence true
persistence_location /mosquitto/data/

password_file /mosquitto/config/pwfile
allow_anonymous false

log_dest file /mosquitto/log/mosquitto.log

listener 1883

0 comments on commit ad6951d

Please sign in to comment.