Skip to content

solectrus/helios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

940 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HELIOS

Web-based control panel for SOLECTRUS. HELIOS installs the SOLECTRUS stack on your Docker host and lets you configure and operate it through a browser, replacing manual edits to compose.yaml / .env and docker compose commands.

Warning

Pre-1.0 — early release, test environments only

HELIOS is usable but unfinished. Expect rough edges, missing end-user documentation, and breaking changes between 0.x releases without migration paths. There is no stability guarantee yet.

Do not use in production. Run HELIOS only against test or evaluation stacks where data loss or downtime is acceptable. If you want to try it, you should be comfortable inspecting compose.yaml / .env yourself in case something goes wrong. For production stacks, wait for 1.0.

Screenshots

Configuration Services
HELIOS configuration HELIOS services

Features

  • Service dashboard — live status, versions, health for every container; start / stop / restart / recreate per service or in batch.
  • Survey-based configuration — guided forms cover every documented SOLECTRUS environment variable (devices, data sources, forecasts, reverse proxy, backup).
  • Sensor mapping — registry of ~40 SOLECTRUS sensors with live readings from InfluxDB.
  • Live logs — tail and search container logs with ANSI colors directly in the UI.
  • Auto-import — detects existing SOLECTRUS installations, reverse-maps the configuration, and preserves anything it does not understand.
  • Auto-updates — Watchtower keeps all images (including HELIOS itself) current.
  • Real-time UI — status updates via Turbo Streams + Action Cable, driven by the Docker events API. No polling.
  • Support bundle — download a ZIP of the current configuration, container logs, and host snapshot for troubleshooting; secrets are redacted with placeholder values so the bundle can be shared publicly.
  • Localized — German and English.

Requirements

  • Docker and Docker Compose (v2)
  • Architecture: AMD64 or ARM64 (Raspberry Pi 3/4/5, NAS, VPS, any Linux host)
  • Port 3999 available on the host
  • ~384 MB RAM for the HELIOS container
  • ≥ 1 GB free disk for the HELIOS Docker image and local data
  • A directory of your choice on the host with writable compose.yaml and .env for the SOLECTRUS stack (HELIOS regenerates both)

Supported setups and limitations

HELIOS manages the SOLECTRUS stack as a plain docker compose project on one Docker host, through that host's local Docker socket. It controls only the containers on that host, keeps all data in bind mounts there (ADR-0003), and performs backups, restores, and database upgrades by exec-ing into the local containers. Everything HELIOS manages therefore lives on a single host.

Because of this, HELIOS cannot:

  • Spread services across multiple hosts or nodes. The dashboard and its databases (PostgreSQL, Redis, InfluxDB) are an inseparable single-host unit. To distribute load, run the parts you want elsewhere outside HELIOS.
  • Deploy to Docker Swarm. HELIOS uses docker compose, not docker stack deploy; deploy / placement / replicas and Swarm labels are dropped from managed services. HELIOS can run next to a Swarm as a plain-compose project on one node, but it does not orchestrate the Swarm itself.
  • Run on Kubernetes, Nomad, or other orchestrators. Not supported.
  • Use external or managed databases (e.g. AWS RDS, or a PostgreSQL / Redis on another host). The dashboard always connects to a local postgresql, redis, and influxdb. The only exception is a remote InfluxDB, and only on a collectors-only host (no dashboard).
  • Control a remote Docker daemon. It needs a local docker.sock; pointing it at a Docker host over TCP is not supported.
  • Use named volumes or network storage as the data layer. HELIOS writes bind mounts; a node-portable storage strategy is not generated.
  • Manage arbitrary images. On import every service image must be on the HELIOS allowlist, otherwise the import is refused. Unrecognized services are preserved verbatim but stay unmanaged.

Note

Mixed setups are fine. Need any of the above? Run that part outside HELIOS and let HELIOS manage the rest. HELIOS only needs full control over the SOLECTRUS stack's compose.yaml and .env, so that stack must not be managed by another tool. Take it out of the other tool and run it as a local directory containing compose.yaml and .env. Portainer, for example, will still list it, but mark it as "This stack was created outside of Portainer. Control over this stack is limited." — exactly what you need.

Installation

HELIOS runs as one service inside your SOLECTRUS Docker Compose stack. The bootstrap script handles everything — whether you're setting up SOLECTRUS for the first time or adding HELIOS to a host that already runs it.

Pick the case that matches your setup:

a) New install — pick a permanent location on a disk with enough free space (the databases will live here long-term, e.g. /opt/solectrus or ~/solectrus), create the directory and cd into it:

mkdir -p /opt/solectrus && cd /opt/solectrus

b) Existing SOLECTRUS stackcd into the directory that holds your current compose.yaml and .env:

cd /path/to/your/solectrus

Then run the bootstrap script:

curl -fsSL https://raw.githubusercontent.com/solectrus/helios/develop/bootstrap/install.sh | bash

When it finishes, HELIOS is available at http://<your-host>:3999.

Prefer not to pipe curl | bash? Download bootstrap/install.sh, review it, and run it locally.

First run

On the first visit to http://<your-host>:3999:

  1. Login. Use the ADMIN_PASSWORD from .env (printed by the bootstrap script on a fresh install, or your existing one when adding HELIOS to a running stack).
  2. Existing installations only. HELIOS shows a consent screen and auto-imports compose.yaml and .env into its internal configuration, pre-filling sensor mappings from existing env variables.
  3. Configuration wizard. Walk through the surveys (system, devices, data sources, forecasts, reverse proxy, backup). HELIOS regenerates compose.yaml and .env after every change.
  4. Apply changes. Services are not restarted automatically — the dashboard shows which services are affected and lets you restart them explicitly.

Documentation

Document Description
Product overview Scenarios, features, technical constraints
Architecture System diagram, internal storage
Docker Integration Compose, volumes, health checks
ADRs Architecture Decision Records
Development Guide Local setup, testing
Open TODOs Work items still ahead

License

Copyright © 2026 Georg Ledermann. All rights reserved.

HELIOS is proprietary source-available software — not open source. The official Docker image may be pulled and operated free of charge for non-commercial, personal use; commercial use requires prior written permission. The source code is published for transparency, reference, and review only. See LICENSE.md for the full terms and docs/legal/THIRD_PARTY_LICENSES.md for bundled third-party components.

These terms apply to HELIOS only. SOLECTRUS itself remains open source under the GNU AGPL-3.0 license.

About

HELIOS — knows your SOLECTRUS configuration better than you do

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors