WARN[0000] The "he" variable is not set. Defaulting to a blank string

Hi guys. I’m using docker-compose to run Home Assistant ecosystem, docker-compose.yaml provided at the end of the post.
This is my second stack with Home Assistant and additional containers. First one was run successfully for about 2 years. Few weeks ago I decided to start fresh from beginning (for some known to me reason, but it is irrelevant for this question here), and in new stack I have only 4 containers in summary. However, in both cases I had below message when executing docker-compose pull or docker-compose up -d (I’m executing mentioned commands from the directory where docker-compose.yaml file is):

WARN[0000] The "he" variable is not set. Defaulting to a blank string.

It is not a problem. all containers are working as expected, and everything is good, but I am just curious and want to learn what producing this message, since I didn’t defined any “he” variable in my docker-compose.yaml
Didn’t found answer by google-foo.

docker-compose.yaml:

version: '3'

services:

  homeassistant:
    container_name: hass
    image: homeassistant/home-assistant
    volumes:
      - ./hass:/config
      - /etc/localtime:/etc/localtime:ro
#      - ./config/media:/media
#      - /var/log/fail2ban.log:/config/fail2ban-log/fail2ban.log
    devices:
      - /dev/ttyACM0:/dev/ttyACM0
    restart: unless-stopped
    network_mode: host
    depends_on:
      - mariadb
      - mosquitto

  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: "${ROOT_PASSWORD}"
      MYSQL_DATABASE: ha_db
      MYSQL_USER: homeassistant
      MYSQL_PASSWORD: "${PASSWORD}"
      PUID: 0
      PGID: 0
    volumes:
      - ./mariadb:/config
    ports:
      - "3306:3306"

  mosquitto:
    image: eclipse-mosquitto
    container_name: mosquitto
    restart: unless-stopped
    ports:
      - "1883:1883"
      - "1884:1884"
    volumes:
      - "./mosquitto/config:/mosquitto/config"
      - "./mosquitto/data:/mosquitto/data"
      - "./mosquitto/log:/mosquitto/log"
      - "./mosquitto/mosquitto-no-auth.conf:/mosquitto-no-auth.conf"
    environment:
      - TZ=Europe/Belgrade
    user: "${PUID}:${PGID}"

  esphome:
    container_name: esphome
    image: esphome/esphome
    volumes:
      - "./esphome:/config"
      - "/etc/localtime:/etc/localtime:ro"
    restart: unless-stopped
    privileged: true
    network_mode: host

  vscode:
    container_name: vscode
    restart: unless-stopped
    image: linuxserver/code-server:latest
    environment:
      PASSWORD: "${PASSWORD}"
      SUDO_PASSWORD: "${PASSWORD}"
      TZ: "Europe/Belgrade"
    ports:
      - "8443:8443"
    volumes:
      - "./vscode:/config"
      - "./hass:/config/workspace"
      - "/root/docker-compose-hass-old/config:/config/workspace/hass-old"

.env file (obfuscated, sitting in same directory as docker-compose.yaml):

ROOT_PASSWORD=******************
PASSWORD=******************
PUID=0
PGID=0

Thanks upfront!

Interesting because that was my first thought and I could get the same error message just by using a .env file like this:

test=${he}

My guess is that your password contains a dollar sign follwed by “he” and it is interpreted as a variable

PASSWORD=yourpassword$he

If you want to use dollar in the password in a .env file, you can use double dollars:

PASSWORD=yourpassword$$he

or probably the more familiar solution is using apostrophes as you would in bash:

PASSWORD='yourpassword$he'
1 Like

Hehe, you are right, one of my passwords was something like:

*******$he|*********

so it took the part from dollar sign to pipe character.
Put the password into the single quotes, topic solved, thank you very much.

(It seems that we have no “mark post as solution” as on some other forums :unamused:, or I’m not see it.)