Linux
This guide describes installation for apt-based Linux distributions like Debian and Ubuntu.
First Installation
Section titled “First Installation”-
Install
Section titled “Install”Open a terminal and install the required dependencies:
Terminal window sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curlAdd the evcc APT repository:
Current stable release
Terminal window curl -1sLf 'https://dl.evcc.io/public/evcc/stable/setup.deb.sh' | sudo -E bashDevelopment release. Updated daily. May be unstable.
Terminal window curl -1sLf 'https://dl.evcc.io/public/evcc/unstable/setup.deb.sh' | sudo -E bashUpdate the package list and install evcc:
Terminal window sudo apt updatesudo apt install -y evcc -
Terminal window sudo systemctl start evcc -
Set up
Section titled “Set up”Open the evcc web interface in your browser: http://localhost:7070. Set an administrator password and configure your devices directly via the web interface.
Thanks to Cloudsmith for hosting the repository!
Configuration
Section titled “Configuration”evcc can be configured via the web interface or a configuration file.
Web Interface (recommended)
Section titled “Web Interface (recommended)”After first start, you can configure evcc directly in the browser at http://localhost:7070. The settings are automatically saved in the database.
Configuration File (traditional)
Section titled “Configuration File (traditional)”Alternatively, you can use an evcc.yaml configuration file.
See Configuration for details on creating the configuration file.
-
Create the configuration file according to the guide and save it at
/etc/evcc.yaml -
Restart the evcc server:
Terminal window sudo systemctl restart evcc -
Access the evcc interface at http://localhost:7070
Upgrades
Section titled “Upgrades”To update to the latest version of evcc, follow this guide:
-
Check the releases for breaking changes (BC) for your installation
-
Open a terminal
-
Update the package list:
Terminal window sudo apt update -
Upgrade evcc:
Terminal window sudo apt --only-upgrade install -y evcc
Downgrade
Section titled “Downgrade”If you need to go backwards for any reason, you can do so with this command:
sudo apt install evcc=x.xxx.x # Version NumberSystem Service
Section titled “System Service”evcc runs as a background system service. Here’s some useful commands to control it:
sudo systemctl status evcc # shows statussudo systemctl start evcc # start the service, if it isn't already runningsudo systemctl stop evcc # stops the servicesudo systemctl restart evcc # restart the servicesudo systemctl enable evcc # sets the service to run at bootsudo systemctl disable evcc # stops the service running at bootTesting
Section titled “Testing”Check the installation
-
Show the running evcc service:
Terminal window sudo systemctl status evcc -
Check the latest log entries of the evcc service:
Terminal window sudo journalctl -u evcc --since "yesterday" -
Validate the meter configuration:
Terminal window sudo evcc -l debug meter -
Validate the charger configuration:
Terminal window sudo evcc -l debug charger -
Validate the vehicle configuration:
Terminal window sudo evcc -l debug vehicle
Open a browser and enter the following URL: http://127.0.0.1:7070.
Backup and Restore
Section titled “Backup and Restore”Via Web Interface (recommended)
Section titled “Via Web Interface (recommended)”The easiest method is to backup via the web interface. See Configuration → Backup & Restore for details.
Manual Backup
Section titled “Manual Backup”To restore the “original state” after a reinstallation, it is sufficient to back up the configuration file evcc.yaml (if used) and the database file evcc.db.
The storage location is specified in the log file at program start.
Typically, the configuration is located under /etc/evcc.yaml and the database under /var/lib/evcc/evcc.db.
Both files can be copied using the Linux command cp.
Example (copying from the usual storage location to the home directory):
Copy yaml: sudo cp /etc/evcc.yaml /home/pi/evcc.yaml.bak
Copy db: sudo cp /var/lib/evcc/evcc.db /home/pi/evcc.db.bak
Environment Variables & CLI Options
Section titled “Environment Variables & CLI Options”When installed via APT, evcc runs as a systemd service. You can customize the behavior using an override file:
sudo systemctl edit evccExample
Section titled “Example”[Service]Environment="EVCC_LOG=debug,tariff:trace"Environment="EVCC_DATABASE_DSN=/usb/evcc/evcc.db"Environment="EVCC_NETWORK_HOST=my-evcc.local"Environment="EVCC_NETWORK_PORT=80"ExecStart=ExecStart=/usr/bin/evcc --custom-css /path/to/my.cssManual Installation
Section titled “Manual Installation”In addition to the Debian/Ubuntu APT package, we also provide other binaries for Linux.
Installation
Section titled “Installation”-
Download the appropriate file for your system:
- 64-bit Intel CPU: evcc_X.XX_linux_amd64.tar.gz
- 64-bit ARM CPU: evcc_X.XX_linux_arm64.tar.gz
- 32-bit ARM CPU (e.g. Raspberry Pi 32-bit OS): evcc_X.XX_linux_armv6.tar.gz
-
Extract the downloaded file (e.g., by double-clicking).
-
The extracted folder contains an
evccprogram. -
Open a terminal and navigate to the new folder.
-
Check if evcc works with this command:
./evcc -v -
You should see the current version of evcc (e.g.,
evcc version 0.xxx.y).
Configuration
Section titled “Configuration”You can configure evcc via the web interface or a configuration file. See Configuration for details.
Start evcc with:
./evccThen open your browser at http://localhost:7070 and follow the instructions.
Upgrade/Downgrade
Section titled “Upgrade/Downgrade”Follow the steps above and replace the evcc program file with the new or previous version. The configuration does not need to be redone.
Setting up the Service
Section titled “Setting up the Service”For production use, you’ll want to set up evcc as a system service. This ensures evcc starts when the computer boots and automatically restarts in case of errors.
-
Run the following command to create and open an editor with a new file for the service:
Terminal window sudo nano /etc/systemd/system/evcc.service -
Copy the following content into the file:
[Unit]Description=evccRequires=network-online.targetAfter=syslog.target network.target network-online.targetWants=network-online.targetStartLimitIntervalSec=10StartLimitBurst=10[Service]ExecStart=/usr/local/bin/evccRestart=alwaysRestartSec=5[Install]WantedBy=multi-user.targetAdjust the path of the
evccfile inExecStartif the file is located in a different directory. This also assumes that the configuration fileevcc.yamlcan be found at/etc/evcc.yaml. If this is not the case, add the text-c /yourpath/evcc.yamlat the end ofExecStart. Replaceyourpathwith the appropriate directory. -
Test the service:
Terminal window sudo systemctl daemon-reloadsudo systemctl start evccsudo systemctl status evccOn success, the output should contain:
Active: active (running). -
Configure the service to start automatically at system boot:
Terminal window sudo systemctl enable evcc.service
For more information, see the System Service section above.