Advertisement
pmfernandes

Docker - HA Server

Sep 18th, 2024
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 7.51 KB | None | 0 0
  1. services:
  2.   esphome:
  3.     container_name: esphome
  4.     image: esphome/esphome
  5.     restart: unless-stopped
  6.     environment:
  7.      - TZ=${TIME_ZONE}
  8.       - VIRTUAL_HOST=addonsserver.pmf.local
  9.     ports:
  10.      - 6052:6052
  11.     volumes:
  12.      - ${CONFIG_FOLDER}/esphome/config:/config
  13.       - /etc/localtime:/etc/localtime:ro
  14.     privileged: true
  15.   grafana:
  16.     image: grafana/grafana-oss:latest
  17.     container_name: grafana
  18.     restart: unless-stopped
  19.     environment:
  20.      - TZ=${TIME_ZONE}
  21.       - GF_SERVER_ROOT_URL=${GF_SERVER_ROOT_URL_GRAFANA}
  22.       - GF_AUTH_PROXY_ENABLED=false
  23.       - GF_AUTH_ANONYMOUS_ENABLED=true
  24.       - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
  25.       - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
  26.       - GF_USERS_ALLOW_SIGN_UP=false
  27.       - GF_AUTH_GENERIC_OAUTH_ENABLED=${GF_AUTH_GENERIC_OAUTH_ENABLED}
  28.       - GF_AUTH_GENERIC_OAUTH_NAME=${GF_AUTH_GENERIC_OAUTH_NAME}
  29.       - GF_AUTH_GENERIC_OAUTH_CLIENT_ID=${GF_AUTH_GENERIC_OAUTH_CLIENT_ID_GRAFANA}
  30.       - GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=${GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET_GRAFANA}
  31.       - GF_AUTH_GENERIC_OAUTH_SCOPES=${GF_AUTH_GENERIC_OAUTH_SCOPES}
  32.       - GF_AUTH_GENERIC_OAUTH_EMPTY_SCOPES=${GF_AUTH_GENERIC_OAUTH_EMPTY_SCOPES}
  33.       - GF_AUTH_GENERIC_OAUTH_AUTH_URL=${GF_AUTH_GENERIC_OAUTH_AUTH_URL}
  34.       - GF_AUTH_GENERIC_OAUTH_TOKEN_URL=${GF_AUTH_GENERIC_OAUTH_TOKEN_URL}
  35.       - GF_AUTH_GENERIC_OAUTH_API_URL=${GF_AUTH_GENERIC_OAUTH_API_URL}
  36.       - GF_AUTH_GENERIC_OAUTH_LOGIN_ATTRIBUTE_PATH=${GF_AUTH_GENERIC_OAUTH_LOGIN_ATTRIBUTE_PATH}
  37.       - GF_AUTH_GENERIC_OAUTH_GROUPS_ATTRIBUTE_PATH=${GF_AUTH_GENERIC_OAUTH_GROUPS_ATTRIBUTE_PATH}
  38.       - GF_AUTH_GENERIC_OAUTH_NAME_ATTRIBUTE_PATH=${GF_AUTH_GENERIC_OAUTH_NAME_ATTRIBUTE_PATH}
  39.       - GF_AUTH_GENERIC_OAUTH_USE_PKCE=${GF_AUTH_GENERIC_OAUTH_USE_PKCE}
  40.     ports:
  41.      - 3001:3000
  42.     volumes:
  43.      - ${CONFIG_FOLDER}/grafana:/var/lib/grafana
  44.   hikvisionoorbell:
  45.     image: pergolafabio/hikvision-doorbell:latest
  46.     container_name: hikvisionoorbell
  47.     restart: unless-stopped
  48.     env_file:
  49.      - .env
  50.     environment:
  51.      - TZ=${TIME_ZONE}
  52.     tty: true   # To read stdin commands
  53.   homeassistant:
  54.     container_name: homeassistant
  55.     hostname: homeassistant
  56.     image: "ghcr.io/home-assistant/home-assistant:stable"
  57.     restart: unless-stopped
  58.     network_mode: "host"
  59.     privileged: true
  60.     environment:
  61.      - TZ=${TIME_ZONE}
  62.     volumes:
  63.      - ${CONFIG_FOLDER}/homeassistant:/config
  64.       - ${TEMP_FOLDER}/homeassistant:/mnt/temp
  65.       - /etc/localtime:/etc/localtime:ro
  66.       - /run/dbus:/run/dbus:ro
  67.   influxdb:
  68.     image: influxdb:latest
  69.     container_name: influxdb
  70.     restart: unless-stopped
  71.     ports:
  72.      - 8086:8086
  73.     volumes:
  74.      - ${CONFIG_FOLDER}/influxdb:/var/lib/influxdb2
  75.       - ${DATA_FOLDER}/influxdb/engine:/influxdb2/engine
  76.     environment:
  77.      - TZ=${TIME_ZONE}
  78.       - INFLUXD_ENGINE_PATH=/influxdb2/engine
  79.   mariadb:
  80.     container_name: mariadb
  81.     image: mariadb:latest
  82.     restart: unless-stopped
  83.     environment:
  84.      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
  85.       - TZ=${TIME_ZONE}
  86.     ports:
  87.      - 3306:3306
  88.     volumes:
  89.      - ${CONFIG_FOLDER}/mariadb/data:/var/lib/mysql
  90.       - ${TEMP_FOLDER}/mysqldump:/tmp/mysqldump
  91.     labels:
  92.      - "com.centurylinklabs.watchtower.monitor-only=true"
  93.   mdns-repeater:
  94.     image: monstrenyatko/mdns-repeater
  95.     container_name: mdns-repeater
  96.     restart: unless-stopped
  97.     command: mdns-repeater-app -f eth0 br-c62806394e19
  98.     network_mode: "host"
  99.     environment:
  100.      - TZ=${TIME_ZONE}
  101.   mqtt-explorer:
  102.     image: smeagolworms4/mqtt-explorer
  103.     container_name: mqtt-explorer
  104.     restart: unless-stopped
  105.     environment:
  106.      - TZ=${TIME_ZONE}
  107.     ports:
  108.      - 4001:4000
  109.     volumes:
  110.      - ${CONFIG_FOLDER}/mqtt-explorer:/mqtt-explorer/config
  111.   mosquitto:
  112.     image: eclipse-mosquitto:latest
  113.     container_name: mosquitto
  114.     restart: unless-stopped
  115.     environment:
  116.      - TZ=${TIME_ZONE}
  117.     ports:
  118.      - 1883:1883
  119.       - 1884:1884
  120.       - 9001:9001
  121.     volumes:
  122.      - ${CONFIG_FOLDER}/mosquitto/config:/mosquitto/config
  123.       - ${CONFIG_FOLDER}/mosquitto/data:/mosquitto/data
  124.       - ${CONFIG_FOLDER}/mosquitto/log:/mosquitto/log
  125.   node-red:
  126.     container_name: node-red
  127.     image: nodered/node-red
  128.     environment:
  129.      - TZ=${TIME_ZONE}
  130.     volumes:
  131.      - ${CONFIG_FOLDER}/node-red:/data
  132.       - ${TEMP_FOLDER}/homeassistant:/mnt/temp
  133.     ports:
  134.      - "1880:1880"
  135.       - 80:80
  136.       - 3456:3456
  137.     expose:
  138.      - 80
  139.     restart: unless-stopped
  140.   socket-proxy:
  141.     container_name: socket-proxy
  142.     image: tecnativa/docker-socket-proxy
  143.     restart: always
  144.     # networks:
  145.     #   - socket_proxy
  146.     # privileged: true # true for VM. False for unprivileged LXC container.
  147.     ports:
  148.    #  - "127.0.0.1:2375:2375" # Port 2375 should only ever get exposed to the internal network. When possible use this line.
  149.     # I use the next line instead, as I want portainer to manage multiple docker endpoints within my home network.
  150.      - "2375:2375"
  151.     volumes:
  152.      - "/var/run/docker.sock:/var/run/docker.sock:ro"
  153.     environment:
  154.      - LOG_LEVEL=info # debug,info,notice,warning,err,crit,alert,emerg
  155.       ## Variables match the URL prefix (i.e. AUTH blocks access to /auth/* parts of the API, etc.).
  156.       # 0 to revoke access.
  157.       # 1 to grant access.
  158.       ## Granted by Default
  159.       - EVENTS=1
  160.       - PING=1
  161.       - VERSION=1
  162.       ## Revoked by Default
  163.       # Security critical
  164.       - AUTH=0
  165.       - SECRETS=0
  166.       - POST=1 # Watchtower
  167.       # Not always needed
  168.       - BUILD=0
  169.       - COMMIT=0
  170.       - CONFIGS=0
  171.       - CONTAINERS=1 # Traefik, portainer, etc.
  172.       - DISTRIBUTION=0
  173.       - EXEC=0
  174.       - IMAGES=1 # Portainer
  175.       - INFO=1 # Portainer
  176.       - NETWORKS=1 # Portainer
  177.       - NODES=0
  178.       - PLUGINS=0
  179.       - SERVICES=1 # Portainer
  180.       - SESSION=0
  181.       - SWARM=0
  182.       - SYSTEM=0
  183.       - TASKS=1 # Portainer
  184.       - VOLUMES=1 # Portainer
  185.   watchtower:
  186.     container_name: watchtower
  187.     image: containrrr/watchtower
  188.     restart: unless-stopped
  189.     volumes:
  190.      - /var/run/docker.sock:/var/run/docker.sock
  191.     command: --debug --cleanup --schedule "0 0 21 * * *"
  192.     environment:
  193.       TZ: ${TIME_ZONE}
  194.       WATCHTOWER_NO_STARTUP_MESSAGE: true
  195.       WATCHTOWER_NOTIFICATIONS_HOSTNAME: "AddonsServer"
  196.       WATCHTOWER_NOTIFICATION_REPORT: "true"
  197.       WATCHTOWER_NOTIFICATION_URL: ${TELEGRAM_URL}
  198.       WATCHTOWER_NOTIFICATION_TEMPLATE: |
  199.        {{- if .Report -}}
  200.           {{- with .Report -}}
  201.         {{len .Scanned}} Scanned, {{len .Updated}} Updated, {{len .Failed}} Failed
  202.               {{- range .Updated}}
  203.         - {{.Name}}: {{.CurrentImageID.ShortID}} updated to {{.LatestImageID.ShortID}}
  204.               {{- end -}}
  205.               {{- range .Fresh}}
  206.         - {{.Name}}: {{.State}}
  207.             {{- end -}}
  208.             {{- range .Skipped}}
  209.         - {{.Name}}: {{.State}}: {{.Error}}
  210.             {{- end -}}
  211.             {{- range .Failed}}
  212.         - {{.Name}}: {{.State}}: {{.Error}}
  213.             {{- end -}}
  214.           {{- end -}}
  215.         {{- else -}}
  216.           {{range .Entries -}}{{.Message}}{{"\n"}}{{- end -}}
  217.         {{- end -}}
  218.   zigbee2mqtt:
  219.     container_name: zigbee2mqtt
  220.     image: koenkk/zigbee2mqtt
  221.     restart: unless-stopped
  222.     volumes:
  223.      - ${CONFIG_FOLDER}/zigbee2mqtt/data:/app/data
  224.       - /run/udev:/run/udev:ro
  225.     ports:
  226.      - 8080:8080
  227.     environment:
  228.      - TZ=${TIME_ZONE}
  229.     devices:
  230.      - ${SONOFF_ZIGBEE}:/dev/ttyACM0
  231.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement