Skip to content

Installation en

EnerOS Bot edited this page Jul 5, 2026 · 1 revision

中文 | English

Installation

Maintained version: v0.51.2 | Last updated: 2026-07-06

EnerOS offers three install methods. This page is a quick reference; for full deployment see Deployment Guide and main repo docs/deployment.md §2.

System Requirements

Item Minimum Recommended
OS Linux Ubuntu 22.04+ / Debian 12+ or Docker Same
Rust 1.75+ (source build only)
Memory 512 MB 2 GB+
Disk 1 GB (incl. timeseries) 10 GB+
Network 8080 (API) + 16686 (Jaeger) / 9090 (Prometheus) / 3000 (Grafana)

Method 1: Source Build

git clone https://github.com/Gawg-AI/EnerOS.git eneros && cd eneros
cargo build --workspace --exclude eneros-installer
cargo run --package eneros-api -- run --config eneros.toml

Production build:

./deploy/scripts/build.sh v0.51.2
./target/release/eneros-api run --config eneros.toml

Windows users: use cargo run --package eneros-api -- run --config eneros.toml instead of .sh scripts.

Method 2: Docker Compose (Recommended)

git clone https://github.com/Gawg-AI/EnerOS.git eneros && cd eneros
cp eneros.toml eneros.toml.local
# Edit eneros.toml.local ...

docker compose -f deploy/docker/docker-compose.yml up -d
docker compose -f deploy/docker/docker-compose.yml logs -f eneros
curl http://localhost:8080/health

With monitoring + tracing:

docker compose -f deploy/docker/docker-compose.yml --profile monitoring --profile tracing up -d

Method 3: OS Image (Embedded/Edge)

The os/ directory provides a complete OS image build toolchain:

Subdir Purpose
os/boot/ Boot config (U-Boot / GRUB)
os/kernel/ Linux kernel config + patches (PREEMPT_RT / isolcpus / mlockall)
os/kernel/patches/ Kernel patches
os/rootfs/ Root filesystem (init.toml / config / binaries)
os/image-builder/ Image build scripts (generates .img / .iso)
os/tests/ OS boot tests

See os/*/README.md for each subdirectory.

OTA Update (v0.22.0+)

A/B partition OTA with Ed25519 signature verification:

enerosctl ota pack --version 0.51.2 --output update.pkg
enerosctl ota sign update.pkg /etc/eneros/keys/private.key
enerosctl ota apply update.pkg

See Deployment Guide for A/B partition layout and rollback mechanism.

Related Docs

Clone this wiki locally