Add home-assistant

This commit is contained in:
Jake Howard 2020-06-27 16:16:52 +01:00
parent e5cbae81f4
commit 93b4bef05d
Signed by: jake
GPG key ID: 57AFB45680EDD477
5 changed files with 86 additions and 0 deletions

View file

@ -29,6 +29,7 @@
- hosts: intersect - hosts: intersect
roles: roles:
- netdata - netdata
- home-assistant
- intersect-docker - intersect-docker
- hosts: grimes - hosts: grimes

View file

@ -0,0 +1,15 @@
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
homeassistant:
auth_mfa_modules:
- type: totp

View file

@ -0,0 +1,17 @@
version: "2.3"
services:
homeassistant:
image: homeassistant/home-assistant:stable
container_name: home-assistant
network_mode: host
volumes:
- ./config:/config
environment:
- TZ=Europe/London
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.http.routers.homeassistant.rule=Host(`homeassistant.jakehoward.tech`)
- traefik.http.routers.homeassistant.tls.certresolver=le
- traefik.http.services.home-assistant-homeassistant.loadbalancer.server.port=8123

View file

@ -0,0 +1,45 @@
- name: Create home-assistant directory
file:
path: /opt/home-assistant
state: directory
owner: "{{ docker_user.name }}"
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Create config directory
file:
path: /opt/home-assistant/config
state: directory
mode: "{{ docker_compose_directory_mask }}"
become: true
- name: Install home-assistant compose file
template:
src: files/docker-compose.yml
dest: /opt/home-assistant/docker-compose.yml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
validate: /usr/bin/docker-compose -f %s config
register: compose_file
become: true
- name: Install config
template:
src: files/configuration.yml
dest: /opt/home-assistant/config/configuration.yaml
mode: "{{ docker_compose_file_mask }}"
owner: "{{ docker_user.name }}"
register: config_file
become: true
- name: Cycle home-assistant container
docker_compose:
project_src: /opt/home-assistant
pull: true
remove_orphans: true
remove_volumes: true
state: "{{ item }}"
when: compose_file.changed or config_file.changed
loop:
- absent
- present

View file

@ -131,3 +131,11 @@ resource "cloudflare_record" "jakehowardtech_calibre" {
type = "A" type = "A"
ttl = 1 ttl = 1
} }
resource "cloudflare_record" "jakehowardtech_homeassistant" {
zone_id = cloudflare_zone.jakehowardtech.id
name = "homeassistant"
value = vultr_server.casey.main_ip
type = "A"
ttl = 1
}