Files
app-catalog-felhom.eu/templates/home-assistant/docker-compose.yml
T
admin ba78eb060f home-assistant: add trusted_proxies entrypoint wrapper
HA rejects proxied requests (400 Bad Request) without trusted_proxies
in configuration.yaml. Uses entrypoint wrapper pattern (like romm) to
ensure the http config block exists before HA starts.

Handles both fresh deploys (creates full configuration.yaml) and
existing installs (appends http block if missing).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 19:10:26 +01:00

67 lines
2.1 KiB
YAML

# Home Assistant - Nyílt forráskódú okos otthon központ
# Domain: ${SUBDOMAIN}.${DOMAIN}
# Database: None (file-based)
# RAM: ~256M (mem_limit: 1024M) | Pi-compatible: Yes
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
services:
home-assistant:
image: ghcr.io/home-assistant/home-assistant:2026.2.2
container_name: home-assistant
restart: unless-stopped
entrypoint: ["/bin/sh", "-c"]
command:
- |
# Ensure reverse-proxy (Traefik) trusted_proxies config exists.
# 172.16.0.0/12 covers all Docker bridge networks.
CFG=/config/configuration.yaml
if [ -f "$$CFG" ] && ! grep -q 'trusted_proxies' "$$CFG"; then
printf '\nhttp:\n use_x_forwarded_for: true\n trusted_proxies:\n - 172.16.0.0/12\n' >> "$$CFG"
elif [ ! -f "$$CFG" ]; then
cat > "$$CFG" << 'HACFG'
default_config:
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:
- 172.16.0.0/12
HACFG
fi
exec /init
environment:
- TZ=Europe/Budapest
volumes:
- homeassistant_config:/config
networks:
- traefik-public
deploy:
resources:
limits:
memory: 1024M
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8123/manifest.json"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
labels:
- "traefik.enable=true"
- "traefik.http.routers.home-assistant.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)"
- "traefik.http.routers.home-assistant.entrypoints=websecure"
- "traefik.http.routers.home-assistant.tls=true"
- "traefik.http.routers.home-assistant.tls.certresolver=letsencrypt"
- "traefik.http.services.home-assistant.loadbalancer.server.port=8123"
volumes:
homeassistant_config:
networks:
traefik-public:
external: true