Docker
evcc peut être installé sous forme d’image Docker. Des images sont disponibles pour AMD64, armv6 et arm64. Les cas d’usage courants sont les NAS comme Synology, QNAP, Unraid et TrueNAS.
Mode réseau
Section intitulée « Mode réseau »Avant de créer le conteneur, vous devez décider comment il est relié à votre réseau. Nous recommandons le réseau hôte. Le conteneur partage alors le réseau de l’hôte et se comporte comme un programme installé directement. Cela présente plusieurs avantages :
- Lorsque vous ajoutez un appareil, le champ Adresse IP ou nom d’hôte propose les appareils trouvés sur votre réseau.
- Les fonctions basées sur mDNS fonctionnent, p. ex. EEBUS, le SMA Sunny Home Manager et la détection automatique par l’app evcc.
- Les appareils qui communiquent via UDP, p. ex. les chargeurs KEBA et les appareils SMA, sont joignables sans configuration supplémentaire.
- Il n’y a pas de liste de ports à maintenir. Les connexions entrantes, comme celles des chargeurs OCPP, fonctionnent immédiatement.
Avec le réseau bridge, le conteneur tourne dans un réseau Docker séparé. C’est suffisant si vous n’avez pas besoin des fonctions ci-dessus ou si vous préférez isoler le conteneur. Vous devez alors publier vous-même chaque port nécessaire. Les appareils de votre réseau ne sont pas proposés : vous devez donc saisir leurs adresses manuellement.
Le réseau hôte nécessite un hôte Linux, ce qui inclut les NAS courants. Avec Docker Desktop sous macOS et Windows, le conteneur tourne dans une machine virtuelle sans accès direct à votre réseau. Utilisez dans ce cas l’installation pour macOS ou Windows.
Installation
Section intitulée « Installation »Le conteneur peut être configuré via Docker Compose, la CLI Docker ou l’interface Docker de votre système. Les trois utilisent la même image et les mêmes volumes.
Deux tags d’image sont disponibles : evcc/evcc:latest (recommandé) et evcc/evcc:nightly (version de développement).
| Chemin sur l’hôte | Chemin dans le conteneur | Description | Requis |
|---|---|---|---|
/home/user/.evcc | /root/.evcc | Répertoire de la base de données | oui |
/home/user/evcc.yaml | /etc/evcc.yaml | Fichier de configuration (seulement si vous en utilisez un) | non |
La base de données contient vos sessions de charge et tout ce que vous avez configuré dans l’interface web.
Créez le répertoire sur votre système hôte avant le premier démarrage.
Ce guide utilise /home/user/.evcc comme exemple.
Le volume evcc.yaml n’est nécessaire que si vous configurez votre instance via un fichier de configuration plutôt que via l’interface web.
Supprimez la ligne des exemples ci-dessous si vous n’en utilisez pas.
Docker Compose
Section intitulée « Docker Compose »Docker Compose est la méthode recommandée, car tous les paramètres sont regroupés dans un seul fichier.
Créez un fichier nommé compose.yml avec l’une des configurations suivantes :
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-stoppedCet exemple ne publie que l’interface web et le serveur OCPP. Ajoutez d’autres ports selon vos besoins.
Démarrez le conteneur avec :
sudo docker compose up -dSelon votre système, sudo est nécessaire ou non.
CLI Docker
Section intitulée « CLI Docker »Vous pouvez aussi créer et démarrer le conteneur avec une seule commande :
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:latestCet exemple ne publie que l’interface web et le serveur OCPP. Ajoutez d’autres ports selon vos besoins.
Interface Docker
Section intitulée « Interface Docker »Si votre système dispose d’une interface Docker (p. ex. Synology, QNAP, Portainer, Unraid), vous pouvez y créer le conteneur.
Saisissez l’image et les volumes indiqués plus haut et réglez le mode réseau sur host.
Si vous choisissez plutôt le réseau bridge, ajoutez les ports dont vous avez besoin.
Les libellés exacts des champs varient d’un système à l’autre. Vous y retrouverez toutefois partout les notions de mode réseau, de ports et de volumes.
La publication des ports n’est nécessaire qu’avec le réseau bridge. Avec le réseau hôte, ces ports sont directement disponibles sur l’hôte.
| Port hôte | Port du conteneur | Description | Requis |
|---|---|---|---|
| 7070 | 7070/tcp | Interface web, API | oui |
| 8887 | 8887/tcp | Serveur OCPP | non |
| 9522 | 9522/udp | SMA Sunny Home Manager | non |
| 7090 | 7090/udp | Chargeurs KEBA | non |
| 28376 | 28376/udp | Chargeurs EVSE Master | non |
| 5353 | 5353/udp | mDNS | non |
| 4712 | 4712/tcp | EEBUS | non |
| 8899 | 8899/udp | Modbus UDP | non |
Vérification
Section intitulée « Vérification »Une fois le conteneur démarré, vous pouvez accéder à l’interface web à l’adresse http://<host>:7070.
<host> est l’adresse IP ou le nom d’hôte de l’ordinateur sur lequel tourne le conteneur.
Lors de la première utilisation, vous êtes invité à définir un mot de passe administrateur. Vous pouvez ensuite configurer vos appareils comme décrit dans Configuration.
Si vous ne parvenez pas à établir de connexion, consultez les journaux du conteneur. Vous trouverez de l’aide supplémentaire dans les discussions GitHub.
Mises à jour
Section intitulée « Mises à jour »Placez-vous dans le répertoire contenant le fichier compose.yml et récupérez la dernière image :
sudo docker compose pullSi une nouvelle image est disponible, la commande suivante recrée le conteneur. Sinon, le conteneur existant continue de tourner.
sudo docker compose up -dRécupérez la dernière image, puis arrêtez et supprimez le conteneur existant :
sudo docker pull evcc/evcc:latestsudo docker stop evccsudo docker rm evccDémarrez à nouveau le conteneur avec la même commande docker run que lors de l’installation.
La procédure de mise à jour dépend de votre interface Docker. Reportez-vous pour cela à la documentation de votre système.
Guides de la communauté
Section intitulée « Guides de la communauté »Vous trouverez ici des guides rédigés par des utilisateurs pour des systèmes spécifiques. Nous ne pouvons pas garantir qu’ils soient exacts ou à jour.
NAS Synology
Section intitulée « NAS Synology »Vous pouvez installer evcc via Docker sur les NAS Synology à l’aide de leur interface graphique, sans passer par la ligne de commande. Ce guide utilise le réseau hôte recommandé : Anleitung: Synology Docker (PDF / DE)
Un guide pour le réseau bridge est disponible ici : Anleitung: Synology Docker 2 (PDF / DE) par at4hawo1
NAS QNAP
Section intitulée « NAS QNAP »L’installation d’evcc sur les systèmes QNAP via Container Station est très proche des instructions Synology ci-dessus. Des instructions spécifiques à QNAP sont disponibles ici : Anleitung: QNAP (PDF / DE)
Suggestions statiques d’appareils
Section intitulée « Suggestions statiques d’appareils »Il s’agit d’une option avancée pour les environnements Docker maîtrisés, où le réseau bridge est voulu et où les appareils sont fixes.
La variable d’environnement EVCC_DISCOVERY_HOSTS fournit une liste statique d’appareils.
Cette liste est alors utilisée pour les suggestions du champ Adresse IP ou nom d’hôte, au lieu de rechercher sur le réseau.
La valeur est une liste JSON.
Chaque entrée nécessite une ip.
hostname et mac sont facultatifs.
Ils servent à afficher le fabricant et à lister sous Correspondance les appareils qui conviennent au type d’appareil sélectionné.
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"} ]Une liste vide [] désactive les suggestions.