Guide · Docker from the command line

Install TED from the command line

For Docker users: NAS (Synology over SSH, QNAP…), mini-PC, Raspberry Pi 4 or 5, Linux server. The public tedenergy/ted image exists for Intel / AMD and ARM64: Docker picks the right one.

  1. 1

    Create TED's folder

    It keeps settings, license, history and logs from one version to the next. Example for a Synology; on a PC or a Raspberry Pi, ~/ted is fine.

    TED's folder
    sudo mkdir -p /volume1/docker/ted
  2. 2

    Start TED

    One port and one folder are enough: no variable to set.

    Start TED
    sudo docker run -d \
      --name ted-bot \
      --restart unless-stopped \
      -p 5002:5000 \
      -v /volume1/docker/ted:/data \
      tedenergy/ted:latest
  3. 3

    Open TED

    http://MACHINE-IP:5002: the setup wizard asks for the free license, then the Home Assistant address and a long-lived access token (Home Assistant › your profile › Security › Long-lived access tokens). Then getting started.

With Docker Compose

docker-compose.yml
services:
  ted:
    image: tedenergy/ted:latest
    container_name: ted-bot
    restart: unless-stopped
    ports:
      - "5002:5000"
    volumes:
      - ./ted:/data
Start
sudo docker compose up -d

Update

Updating TED

Pull the image, then recreate the container with the same command: your data stays in the folder mounted on /data.

docker run
sudo docker pull tedenergy/ted:latest
sudo docker rm -f ted-bot
# then run the step 2 command again
Docker Compose
sudo docker compose pull && sudo docker compose up -d

Without Docker Hub

Offline installation

For a machine without access to Docker Hub: download the image archive from the download page, ted-bot-v3.5.tar.gz (52 Mo) for Intel / AMD or ted-bot-v3.5-arm64.tar.gz for ARM64.

Load the image and start TED
gunzip -c ted-bot-v3.5.tar.gz | sudo docker load
sudo docker run -d --name ted-bot --restart unless-stopped \
  -p 5002:5000 -v /volume1/docker/ted:/data ted-bot:latest

Both archives load as ted-bot:latest. The install_ted_prebuilt.sh script from the download page does these steps in one go (it also asks for the Home Assistant token). To update: load the new archive, then recreate the container.

Troubleshooting

Something wrong?

Is TED running?
sudo docker ps --filter name=ted-bot
sudo docker logs --tail 80 ted-bot
“Home Assistant injoignable” (unreachable) in the wizard

Use the Home Assistant IP address with its port (http://192.168.1.50:8123): homeassistant.local is not always known inside a container.

Port 5002 is already in use

Replace -p 5002:5000 with another free port (preferably between 5003 and 5009) and open TED on that port.

Access from outside

Never expose TED's interface on the Internet: prefer a VPN. For the mobile app away from home, enable remote access in TED (Paramètres › Application mobile et accès à distance): TED then only accepts requests signed by the app, and shows the procedure.

TED is running? Move on to getting started.

The setup wizard, then your first inverters: everything is explained.

Download for free