EnergyPilot.io is an easy to use and feature rich Energy Management Platform focused on homes with solar energy production.
⚡ Modern and clean user interface
⚡ Easy to configure and use
⚡ Ready to use Docker image
⚡ Integrated Telegram bot
⚡ Multilanguage support
⚡ Light/Dark theme
- Sungrow Hybrid
- Sungrow Wallbox AC011E-01
- ABL emh1/2/4
- TP-Link Tapo P1xx
Join us on Discord EnergyPilot.io@Discord
If you would like to support this project, please consider buying me a coffee.
The published energypilot/energypilot:latest image can be started directly with Docker. Persist /data; the container reads an optional /data/.env before starting the server. Variables explicitly supplied by the container platform take precedence.
Create the data directory and a token file:
mkdir -p data
printf 'API_TOKEN=%s\n' "$(openssl rand -hex 32)" > data/.env
chmod 600 data/.envStart the registry image and mount the same directory for persistent data:
docker run -d --name energypilot-io --restart unless-stopped \
-p 3000:3000 -e HOST=0.0.0.0 \
-v "$(pwd)/data:/data" energypilot/energypilot:latestAlternatively, configure API_TOKEN directly in the container platform's environment settings and omit data/.env. The dashboard requests the token on its first API call and keeps it for the browser session. The token protects the REST API, MCP endpoint, and live WebSocket data.
Compose is an optional advanced deployment path. The provided compose.yaml mounts ./data at /data, so the same data/.env file works without a project-root .env file:
docker compose up -d- Start a chat with @BotFather on Telegram
- Send the command
/newbotand follow the instructions in the chat - After completing all steps, the Telegram bot token will be created and returned in the chat
- Paste the token into the settings page of your EnergyPilot.io instance
- Configure the Telegram user IDs allowed to use the bot; access is denied until at least one ID is set
- Send
/idto the bot to find your Telegram user ID before adding it to the allowlist - You can start chatting to your created bot and interact with your EnergyPilot.io instance from anywhere in the world
- Node.js installation >= 24.14.1
- Clone/Download the Git Repository to your local drive
Install all Node.js dependencies
npm i
Install all Node.js dependencies for the server
cd ./server/
npm i
Build the Angular application and start your local instance
npm run start
We welcome contributions! See CONTRIBUTING for guidelines.



