Docker
evcc kan als Docker-image worden geïnstalleerd. Er zijn images beschikbaar voor AMD64, armv6 en arm64. Veelvoorkomende toepassingen zijn onder meer NAS-systemen zoals Synology, QNAP, Unraid en TrueNAS.
Netwerkmodus
Section titled “Netwerkmodus”Voordat u de container aanmaakt, moet u beslissen hoe deze met uw netwerk wordt verbonden. We raden het hostnetwerk aan. De container deelt dan het netwerk van de host en gedraagt zich als een direct geïnstalleerd programma. Dit heeft verschillende voordelen:
- Wanneer u een apparaat toevoegt, stelt het veld IP-adres of hostnaam de apparaten voor die in uw netwerk zijn gevonden.
- Functies op basis van mDNS werken, bijv. EEBUS, de SMA Sunny Home Manager en de automatische detectie door de evcc-app.
- Apparaten die via UDP communiceren, bijv. KEBA-laders en SMA-apparaten, zijn zonder verdere instellingen bereikbaar.
- U hoeft geen poortlijst bij te houden. Inkomende verbindingen, zoals van OCPP-laders, werken meteen.
Met een bridgenetwerk draait de container in een apart Docker-netwerk. Dat is prima als u de bovenstaande functies niet nodig hebt of de container liever isoleert. U moet dan elke benodigde poort zelf publiceren. Apparaten in uw netwerk worden niet voorgesteld, dus u voert hun adressen handmatig in.
Hostnetwerk vereist een Linux-host, en daar horen de gangbare NAS-systemen ook bij. Met Docker Desktop op macOS en Windows draait de container in een virtuele machine zonder directe toegang tot uw netwerk. Gebruik daar liever de installatie voor macOS of Windows.
Installatie
Section titled “Installatie”De container kan worden ingericht via Docker Compose, de Docker-CLI of de Docker-interface van uw systeem. Alle drie gebruiken hetzelfde image en dezelfde volumes.
Er zijn twee image-tags beschikbaar: evcc/evcc:latest (aanbevolen) en evcc/evcc:nightly (ontwikkelversie).
Volumes
Section titled “Volumes”| Pad op de host | Pad in de container | Beschrijving | Verplicht |
|---|---|---|---|
/home/user/.evcc | /root/.evcc | Map voor de database | ja |
/home/user/evcc.yaml | /etc/evcc.yaml | Configuratiebestand (alleen als u er een gebruikt) | nee |
De database bevat uw laadsessies en alles wat u in de webinterface hebt ingesteld.
Maak de map vóór de eerste start aan op uw hostsysteem.
Deze handleiding gebruikt /home/user/.evcc als voorbeeld.
Het volume voor evcc.yaml is alleen nodig als u uw evcc-installatie via een configuratiebestand configureert in plaats van via de webinterface.
Verwijder de regel uit de onderstaande voorbeelden als u er geen gebruikt.
Docker Compose
Section titled “Docker Compose”Docker Compose is de aanbevolen manier, omdat alle parameters in één bestand staan.
Maak een bestand compose.yml aan met een van de volgende configuraties:
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-stoppedservices: evcc: container_name: evcc image: evcc/evcc:latest ports: - 7070:7070/tcp - 8887:8887/tcp volumes: - /home/user/.evcc:/root/.evcc - /home/user/evcc.yaml:/etc/evcc.yaml # optional restart: unless-stoppedDit voorbeeld publiceert alleen de webinterface en de OCPP-server. Voeg indien nodig extra poorten toe.
Start de container met:
sudo docker compose up -dOf u sudo nodig hebt, hangt af van uw systeem.
Docker-CLI
Section titled “Docker-CLI”U kunt de container ook met één enkel commando aanmaken en starten:
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:latestsudo docker run -d --name evcc \ -p 7070:7070 \ -p 8887:8887 \ -v /home/user/.evcc:/root/.evcc \ -v /home/user/evcc.yaml:/etc/evcc.yaml \ --restart unless-stopped \ evcc/evcc:latestDit voorbeeld publiceert alleen de webinterface en de OCPP-server. Voeg indien nodig extra poorten toe.
Docker-interface
Section titled “Docker-interface”Als uw systeem een Docker-interface heeft (bijv. Synology, QNAP, Portainer, Unraid), kunt u de container daar aanmaken.
Vul het image en de bovenstaande volumes in en zet de netwerkmodus op host.
Als u in plaats daarvan voor bridgenetwerk kiest, voeg dan de poorten toe die u nodig hebt.
De exacte veldnamen verschillen per systeem. De begrippen netwerkmodus, poorten en volumes vindt u echter in alle systemen terug.
Poorten
Section titled “Poorten”Poorten publiceren is alleen nodig bij bridgenetwerk. Bij hostnetwerk zijn deze poorten direct op de host beschikbaar.
| Hostpoort | Containerpoort | Beschrijving | Verplicht |
|---|---|---|---|
| 7070 | 7070/tcp | Webinterface, API | ja |
| 8887 | 8887/tcp | OCPP-server | nee |
| 9522 | 9522/udp | SMA Sunny Home Manager | nee |
| 7090 | 7090/udp | KEBA-laders | nee |
| 28376 | 28376/udp | EVSE Master-laders | nee |
| 5353 | 5353/udp | mDNS | nee |
| 4712 | 4712/tcp | EEBUS | nee |
| 8899 | 8899/udp | Modbus UDP | nee |
Testen
Section titled “Testen”Na het starten van de container bereikt u de webinterface via http://<host>:7070.
<host> is het IP-adres of de hostnaam van de computer waarop de container draait.
Bij het eerste gebruik wordt u gevraagd een beheerderswachtwoord in te stellen. Daarna kunt u uw apparaten instellen zoals beschreven onder Configuratie.
Als u geen verbinding kunt maken, controleer dan uw containerlogs. Meer hulp vindt u in de GitHub Discussions.
Updates
Section titled “Updates”Ga naar de map met het bestand compose.yml en haal het nieuwste image op:
sudo docker compose pullAls er een nieuw image beschikbaar is, maakt het volgende commando de container opnieuw aan. Anders blijft de bestaande container draaien.
sudo docker compose up -dHaal het nieuwste image op en stop en verwijder daarna de bestaande container:
sudo docker pull evcc/evcc:latestsudo docker stop evccsudo docker rm evccStart de container opnieuw met hetzelfde docker run-commando als bij de installatie.
Hoe u bijwerkt, hangt af van de Docker-interface die u gebruikt. Raadpleeg hiervoor de documentatie van uw systeem.
Handleidingen uit de community
Section titled “Handleidingen uit de community”Hier vindt u handleidingen van gebruikers voor specifieke systemen. We kunnen niet garanderen dat ze juist of actueel zijn.
Synology NAS
Section titled “Synology NAS”U kunt evcc via Docker op NAS-systemen van Synology installeren met de grafische interface, zonder de opdrachtregel te gebruiken. Deze handleiding gebruikt het aanbevolen hostnetwerk: Handleiding: Synology Docker (PDF, Duitstalig)
Een handleiding voor een bridgenetwerk vindt u hier: Handleiding: Synology Docker 2 (PDF, Duitstalig) door at4hawo1
QNAP NAS
Section titled “QNAP NAS”De installatie van evcc op QNAP-systemen via Container Station lijkt sterk op de bovenstaande instructies voor Synology. Specifieke instructies voor QNAP vindt u hier: Handleiding: QNAP (PDF, Duitstalig)
Vaste apparaatsuggesties
Section titled “Vaste apparaatsuggesties”Dit is een geavanceerde optie voor beheerde Docker-omgevingen waarin bewust een bridgenetwerk wordt gebruikt en de apparaten vastliggen.
De omgevingsvariabele EVCC_DISCOVERY_HOSTS levert een vaste lijst met apparaten.
evcc gebruikt deze lijst dan voor de suggesties in het veld IP-adres of hostnaam en doorzoekt het netwerk niet.
De waarde is een JSON-lijst.
Elk item heeft een ip nodig.
hostname en mac zijn optioneel.
Ze worden gebruikt om de fabrikant te tonen en om apparaten die bij het gekozen apparaattype passen onder Overeenkomstig te vermelden.
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"} ]Een lege lijst [] schakelt de suggesties uit.