Gå til indhold
smart opladning

Docker

evcc kan installeres som Docker-image. Der findes images til AMD64, armv6 og arm64. Typiske anvendelser er NAS-systemer som Synology, QNAP, Unraid og TrueNAS.

Før du opretter containeren, skal du beslutte, hvordan den forbindes til dit netværk. Vi anbefaler host-netværk. Containeren deler så værtens netværk og opfører sig som et direkte installeret program. Det har flere fordele:

  • Når du tilføjer en enhed, foreslår feltet IP-adresse eller værtsnavn de enheder, der findes i dit netværk.
  • Funktioner baseret på mDNS virker, f.eks. EEBUS, SMA Sunny Home Manager og automatisk registrering via evcc-appen.
  • Enheder, der kommunikerer via UDP, f.eks. KEBA-opladere og SMA-enheder, kan nås uden yderligere opsætning.
  • Der er ingen portliste at vedligeholde. Indgående forbindelser, f.eks. fra OCPP-opladere, virker med det samme.

Med bridge-netværk kører containeren i et separat Docker-netværk. Det er fint, hvis du ikke har brug for funktionerne ovenfor eller foretrækker at isolere containeren. Du skal så selv eksponere hver nødvendig port. Enheder i dit netværk bliver ikke foreslået, så du indtaster deres adresser manuelt.

Host-netværk kræver en Linux-vært, hvilket omfatter de almindelige NAS-systemer. Med Docker Desktop på macOS og Windows kører containeren i en virtuel maskine uden direkte adgang til dit netværk. Brug i så fald installationen til macOS eller Windows i stedet.

Containeren kan sættes op via Docker Compose, Docker CLI eller dit systems Docker-brugerflade. Alle tre bruger samme image og samme volumes.

Der findes to image-tags: evcc/evcc:latest (anbefalet) og evcc/evcc:nightly (udviklingsversion).

Sti på værtenSti i containerenBeskrivelsePåkrævet
/home/user/.evcc/root/.evccMappe til databasenja
/home/user/evcc.yaml/etc/evcc.yamlKonfigurationsfil (kun hvis du bruger en)nej

Databasen indeholder dine opladningssessioner og alt, hvad du har sat op i webgrænsefladen. Opret mappen på dit værtssystem før første start. Denne vejledning bruger /home/user/.evcc som eksempel.

Volumet til evcc.yaml er kun nødvendigt, hvis du konfigurerer din evcc-installation via en konfigurationsfil i stedet for webgrænsefladen. Fjern linjen fra eksemplerne nedenfor, hvis du ikke bruger en.

Docker Compose er den anbefalede metode, fordi alle parametre gemmes i én fil. Opret en fil med navnet compose.yml med en af følgende konfigurationer:

services:
evcc:
container_name: evcc
image: evcc/evcc:latest
network_mode: host
volumes:
- /home/user/.evcc:/root/.evcc
- /home/user/evcc.yaml:/etc/evcc.yaml # optional
restart: unless-stopped

Start containeren med:

Terminal window
sudo docker compose up -d

Om du har brug for sudo, afhænger af dit system.

Alternativt kan du oprette og starte containeren med en enkelt kommando:

Terminal window
sudo docker run -d --name evcc \
--network host \
-v /home/user/.evcc:/root/.evcc \
-v /home/user/evcc.yaml:/etc/evcc.yaml \
--restart unless-stopped \
evcc/evcc:latest

Hvis dit system har en Docker-brugerflade (f.eks. Synology, QNAP, Portainer, Unraid), kan du oprette containeren der. Angiv image og volumes fra ovenfor, og sæt netværkstilstanden til host. Hvis du i stedet vælger bridge-netværk, skal du tilføje de porte, du har brug for.

De præcise feltnavne varierer fra system til system. Begreberne netværkstilstand, porte og volumes finder du dog i dem alle.

Det er kun nødvendigt at eksponere porte med bridge-netværk. Med host-netværk er disse porte tilgængelige direkte på værten.

Port på værtenPort i containerenBeskrivelsePåkrævet
70707070/tcpWebgrænseflade, APIja
88878887/tcpOCPP-servernej
95229522/udpSMA Sunny Home Managernej
70907090/udpKEBA-opladerenej
2837628376/udpEVSE Master-opladerenej
53535353/udpmDNSnej
47124712/tcpEEBUSnej
88998899/udpModbus UDPnej

Når containeren er startet, kan du åbne webgrænsefladen på http://<host>:7070. <host> er IP-adressen eller værtsnavnet på den computer, der kører containeren.

Ved første brug bliver du bedt om at angive en administratoradgangskode. Derefter kan du sætte dine enheder op som beskrevet under Konfiguration.

Hvis du ikke kan oprette forbindelse, så tjek containerens log. Du kan finde mere hjælp i GitHub Discussions.

Gå til mappen med filen compose.yml, og hent det nyeste image:

Terminal window
sudo docker compose pull

Hvis der er et nyt image, genopretter følgende kommando containeren. Ellers fortsætter den eksisterende med at køre.

Terminal window
sudo docker compose up -d

Her finder du vejledninger, som brugere har lavet til bestemte systemer. Vi kan ikke garantere, at de er korrekte eller opdaterede.

Du kan installere evcc via Docker på Synology NAS-systemer med den grafiske brugerflade, uden at bruge kommandolinjen. Denne vejledning bruger det anbefalede host-netværk: Anleitung: Synology Docker (PDF / DE)

En vejledning til bridge-netværk finder du her: Anleitung: Synology Docker 2 (PDF / DE) af at4hawo1

Installationen af evcc på QNAP-systemer via Container Station minder meget om Synology-vejledningen ovenfor. QNAP-specifikke instruktioner finder du her: Anleitung: QNAP (PDF / DE)

Dette er en avanceret mulighed for kontrollerede Docker-miljøer, hvor bridge-netværk er bevidst valgt, og enhederne ligger fast. Miljøvariablen EVCC_DISCOVERY_HOSTS angiver en statisk liste over enheder. Listen bruges så til forslagene i feltet IP-adresse eller værtsnavn i stedet for at søge i netværket.

Værdien er en JSON-liste. Hver post skal have en ip. hostname og mac er valgfrie. De bruges til at vise producenten og til at vise enheder, der passer til den valgte enhedstype, under Matcher.

services:
evcc:
environment:
EVCC_DISCOVERY_HOSTS: >-
[
{"ip": "192.168.1.10", "hostname": "sma3009876543", "mac": "00:15:BB:12:34:56"},
{"ip": "192.168.1.20", "hostname": "go-echarger_123456"}
]

En tom liste [] slår forslagene fra.