Install with Docker
Overview
SolarAssistant can run as a Docker container on a Linux PC, server or NAS instead of on a Raspberry or Orange Pi. Each container is one site, with its own history and licence, exactly like a device. You need:
- A 64-bit Linux machine (x86-64 or ARM64) with Docker Engine and Docker Compose v2 installed.
- The machine connected to your inverter and batteries: the USB or RS485 adapter plugged into it, or a network path to the inverter's dongle.
- A SolarAssistant account. The installation files are made for your account and identify the container as your site, so keep them private.
Step 1 - Prepare the site
Open the Install with Docker page, linked from the SD card download page, and choose what the container is for:
- New site creates a site when the container first connects. You give it a name on the sites page afterwards, as you would a new device.
- Existing site moves one of your sites to Docker. It keeps its name, history and licence. Shut the unit running it down first, or the two would fight over the connection.
Step 2 - Install on the machine
The page gives you two ways to install. Both end with the same running container.
Quick install. Copy the command and run it in a terminal on the machine. It downloads the Docker Compose file into a
solar-assistant folder, writes your site's identity into its .env file, pulls our public image
and starts the container.
Download and install. If you would rather see what runs before it runs, download solar-assistant-docker.zip,
look through the Compose file and install script, then start it from the unzipped folder:
unzip solar-assistant-docker.zip
cd solar-assistant
sh install.shStep 3 - Open SolarAssistant
When the script finishes it prints the address of the container's web page, http://<machine>/ by default.
Open it in a browser on the same network. A new site appears on your sites page once
the container has connected; an existing site continues where the unit left off.
Upgrading
Run sh install.sh again in the solar-assistant folder, or the install command from the page. The
.env file with your site's identity is kept, so the container comes back as the same site.