initial plugins
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
homeassistant:
|
||||
container_name: mistborn_production_home_assistant
|
||||
image: homeassistant/home-assistant:stable
|
||||
volumes:
|
||||
- ../../mistborn_volumes/extra/homeassistant/config:/config
|
||||
environment:
|
||||
- TZ=America/New_York
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.homeassistant-http.rule=Host(`homeassistant.mistborn`)"
|
||||
- "traefik.http.routers.homeassistant-http.entrypoints=web"
|
||||
- "traefik.http.routers.homeassistant-http.middlewares=mistborn_auth@file"
|
||||
- "traefik.http.routers.homeassistant-https.rule=Host(`homeassistant.mistborn`)"
|
||||
- "traefik.http.routers.homeassistant-https.entrypoints=websecure"
|
||||
- "traefik.http.routers.homeassistant-https.middlewares=mistborn_auth@file"
|
||||
- "traefik.http.routers.homeassistant-https.tls.certresolver=basic"
|
||||
- "traefik.http.services.homeassistant-service.loadbalancer.server.port=8123"
|
||||
restart: unless-stopped
|
||||
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: mistborn_default
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -0,0 +1,9 @@
|
||||
[DEFAULT]
|
||||
name = homeassistant
|
||||
subdomain = homeassistant
|
||||
desc = Home Assistant is an Open source home automation software that puts local control and privacy first.
|
||||
img = img/homeassistant.png
|
||||
compose = compose/docker-compose.yml
|
||||
service = service/plugin.service
|
||||
resources = resources
|
||||
|
||||
Executable
+54
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
HASS_CONFIG="/opt/mistborn_volumes/extra/homeassistant/config/configuration.yaml"
|
||||
|
||||
if [[ -f "$HASS_CONFIG" ]]; then
|
||||
# configuration.yaml exists
|
||||
|
||||
if [[ ! -z $(grep "use_x_forwarded_for: true" "$HASS_CONFIG") ]]; then
|
||||
# FOUND
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
# add the proxy config
|
||||
# write the trusted proxies config
|
||||
cat >> ${HASS_CONFIG}<< EOF
|
||||
|
||||
http:
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies:
|
||||
- 172.16.0.0/12
|
||||
|
||||
EOF
|
||||
|
||||
exit 0;
|
||||
|
||||
fi
|
||||
|
||||
# create parent directory if needed
|
||||
PARENTDIR="$(dirname $HASS_CONFIG)"
|
||||
if [[ ! -d "$PARENTDIR" ]]; then
|
||||
mkdir -p $PARENTDIR
|
||||
fi
|
||||
|
||||
# write the trusted proxies config
|
||||
cat >> ${HASS_CONFIG}<< EOF
|
||||
|
||||
# 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
|
||||
|
||||
http:
|
||||
use_x_forwarded_for: true
|
||||
trusted_proxies:
|
||||
- 172.16.0.0/12
|
||||
|
||||
EOF
|
||||
@@ -0,0 +1,23 @@
|
||||
[Unit]
|
||||
Description=Mistborn Home Assistant
|
||||
Requires=Mistborn-base.service
|
||||
After=Mistborn-base.service
|
||||
PartOf=Mistborn-base.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
RestartSec=15
|
||||
User=root
|
||||
Group=docker
|
||||
PermissionsStartOnly=true
|
||||
# Shutdown container (if running) when unit is stopped
|
||||
ExecStartPre=/opt/mistborn/scripts/wrappers/mistborn_docker.sh homeassistant docker-compose -f /opt/mistborn/extra/homeassistant.yml down
|
||||
|
||||
# Start container when unit is started
|
||||
ExecStart=/opt/mistborn/scripts/wrappers/mistborn_docker.sh homeassistant docker-compose -f /opt/mistborn/extra/homeassistant.yml up --build
|
||||
# Stop container when unit is stopped
|
||||
ExecStop=/opt/mistborn/scripts/wrappers/mistborn_docker.sh homeassistant docker-compose -f /opt/mistborn/extra/homeassistant.yml down
|
||||
# Post stop
|
||||
|
||||
[Install]
|
||||
WantedBy=Mistborn-base.service
|
||||
Reference in New Issue
Block a user