github.com/Open-LEG-ch/openleg
Freie Energieinfrastruktur, die man prüfen und selbst betreiben kann.
OpenLEG ist das öffentliche App-Repo für Schweizer Lokale Elektrizitätsgemeinschaften. Der Code ist offen, die Datenquellen sind nachvollziehbar, und produktive Secrets bleiben ausserhalb des öffentlichen Repos.
Daten
Eigentum bleibt lokal
Smart-Meter-Daten bleiben innerhalb jeder LEG. Sie werden nicht verkauft und nicht für Dritte aggregiert.
Lizenz
AGPL-3.0-or-later
Wer eine veränderte Version über ein Netzwerk anbietet, muss den Nutzenden den entsprechenden Quellcode gemäss Lizenz zugänglich machen.
Betrieb
Zwei Modelle
Selbst betreiben auf eigener Infrastruktur oder Gehostet auf openleg.ch ohne eigenen technischen Betrieb.
OpenLEG in einer Zeile selbst betreiben.
Installieren Sie OpenLEG direkt, wenn Sie wissen, was Sie tun. Der Installer erstellt lokale Zugangsschlüssel und startet App, PostgreSQL und Redis mit Docker. Ihre Messdaten bleiben in Ihrer lokalen PostgreSQL-Datenbank.
Für macOS und Linux mit Docker Compose, curl und OpenSSL.
curl -fsSL https://openleg.ch/install.sh | bash
Laden Sie das Skript zuerst herunter, lesen Sie es und starten Sie es danach selbst.
curl -fsSL https://openleg.ch/install.sh -o install-openleg.sh
less install-openleg.sh
bash install-openleg.sh
Für einen festen Checkout, den Sie vor Installation und Updates selbst prüfen.
git clone https://github.com/Open-LEG-ch/openleg.git
cd openleg
./scripts/openleg install
Öffentliches App-Repo
Hier liegen Produktcode, Tests, Templates, öffentliche Datenmodelle, API und CI. Das Repo soll lesbar, prüfbar und einfach zu forken sein.
- Flask-App und öffentliche API
- PostgreSQL-Schema und idempotente Migrationen
- Templates, statische Assets und Tests
- AGPL-3.0-or-later Lizenz
Privates Ops-Repo
Produktionsbetrieb, Host-Inventar, Secrets, Incident-Notizen und interne Strategie bleiben privat. So bleibt der App-Code offen, ohne produktive Infrastruktur offenzulegen.
- Deployment-Runbooks und Hostnamen
- Secret-Handling und Rotation
- Incident-Notizen und interne Planung
- Keine Bürgerdaten im öffentlichen Repo
Architektur
Flask
Routen, Formulare, Gemeindeprofile, Rangliste und JSON-API.
PostgreSQL
Gemeindedaten, PV-Anlagen, Tarife, Registrierungen und Audit-Daten.
Redis
Cache und kurzfristige technische Zustände.
Caddy
TLS, Domains und Reverse Proxy vor der Flask-App.
Datenpipeline
OpenLEG verbindet öffentliche Energiedaten mit nachvollziehbarer Logik. Die Solarnutzungs-Rangliste nutzt einen deterministischen Export aus BFE Anlagenregister, BFE Sonnendach und BFS Regionalporträts.
- ElCom Tarife für H4 und weitere Kategorien
- BFE Sonnendach für geschätztes Dachpotenzial
- BFS Regionalporträts für Bevölkerung, Fläche und Dichte
- CSV Seeds in
data/public, Import überscripts/load_pv_data.py
Selbst betreiben
Ein Befehl auf Ihrer eigenen Hardware. Docker genügt, ein Raspberry Pi reicht für den Anfang.
curl -fsSL https://openleg.ch/install.sh | bash
Danach verwalten Sie die Box mit einem Befehl, importieren Ihre Messdaten lokal und verbinden Nachbarn über ein privates Netzwerk ohne offene Ports.
Oder manuell aus dem Quellcode:
git clone https://github.com/Open-LEG-ch/openleg.git
cd openleg
cp .env.example .env
docker compose up -d
Warum offen?
Lokale Stromgemeinschaften brauchen Vertrauen. Gemeinden, Bewohner und Entwickler sollen prüfen können, welche Daten genutzt werden, welche Annahmen in Berechnungen stecken und wie die Plattform betrieben werden kann. OpenLEG verkauft keine Bürgerdaten.
OpenLEG bindet sich nicht an einzelne Netzbetreiber. Code und Datenmodell sind neutrale Infrastruktur, nutzbar unabhängig davon, welcher Verteilnetzbetreiber eine Gemeinde bedient.