Update links to point to the new website, remove duplicate content from README, add building instructions
ci/woodpecker/manual/woodpecker Pipeline was successful Details

This commit is contained in:
MassiveBox 2023-03-04 23:21:31 +01:00
parent 37c515bec4
commit 57b97d3ab5
5 changed files with 44 additions and 87 deletions

28
BUILD.md Normal file
View File

@ -0,0 +1,28 @@
# 👷 Building EcoDash
Here's how to build EcoDash in both binaries and as a Docker container. This is not necessary for most cases - we provide both pre-built binaries and containers for Linux ARM and x86_64 - however in devices with unsupported architectures it's necessary.
You're encouraged to first check the installation instructions to see if a pre-built container or binary is already available.
If you really have to build it yourself, we recommend you Docker over binaries.
## Binaries
### Linux
1. Download the Go Compiler from https://go.dev/dl/ or from your repository's package manager (it's usually called `go` or `golang`)
2. Download the Git SCM from https://git-scm.com/download/linux or from your package manager (it's always called `git`)
3. Clone the repository by running `git clone https://gitea.massivebox.net/ecodash/ecodash.git ` inside a command prompt
4. Switch to the project directory with `cd ecodash`
5. Download the dependencies with `go get ecodash`
6. Build with `go build`. This will generate an executable, `ecodash`, in the same directory.
### Windows
1. Install the latest release of the Go Compiler for Windows from https://go.dev/dl/
2. Install the Git SCM from https://git-scm.com/download/win. The "Standalone installer" is recommended. All the default settings will work fine.
3. Clone the repository by running `git clone https://gitea.massivebox.net/ecodash/ecodash.git ` inside a command prompt
4. Switch to the project directory with `cd ecodash`
5. Download the dependencies with `go get ecodash`
6. Build with `go build`. This will generate an executable, `ecodash.exe`, in the same directory.
## Docker

View File

@ -1,95 +1,21 @@
# 🌿 EcoDash
[![status-badge](https://woodpecker.massivebox.net/api/badges/massivebox/ecodash/status.svg)](https://woodpecker.massivebox.net/massivebox/ecodash)
[![status-badge](https://woodpecker.massivebox.net/api/badges/ecodash/ecodash/status.svg)](https://woodpecker.massivebox.net/ecodash/ecodash) [![Visit our website](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTA4IiBoZWlnaHQ9IjIwIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9InZpc2l0OiBvdXIgd2Vic2l0ZSI+PHRpdGxlPnZpc2l0OiBvdXIgd2Vic2l0ZTwvdGl0bGU+PGxpbmVhckdyYWRpZW50IGlkPSJzIiB4Mj0iMCIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2JiYiIgc3RvcC1vcGFjaXR5PSIuMSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1vcGFjaXR5PSIuMSIvPjwvbGluZWFyR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJyIj48cmVjdCB3aWR0aD0iMTA4IiBoZWlnaHQ9IjIwIiByeD0iMyIgZmlsbD0iI2ZmZiIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI3IpIj48cmVjdCB3aWR0aD0iMzMiIGhlaWdodD0iMjAiIGZpbGw9IiM1NTUiLz48cmVjdCB4PSIzMyIgd2lkdGg9Ijc1IiBoZWlnaHQ9IjIwIiBmaWxsPSIjNGMxIi8+PHJlY3Qgd2lkdGg9IjEwOCIgaGVpZ2h0PSIyMCIgZmlsbD0idXJsKCNzKSIvPjwvZz48ZyBmaWxsPSIjZmZmIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmb250LWZhbWlseT0iVmVyZGFuYSxHZW5ldmEsRGVqYVZ1IFNhbnMsc2Fucy1zZXJpZiIgdGV4dC1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgZm9udC1zaXplPSIxMTAiPjx0ZXh0IGFyaWEtaGlkZGVuPSJ0cnVlIiB4PSIxNzUiIHk9IjE1MCIgZmlsbD0iIzAxMDEwMSIgZmlsbC1vcGFjaXR5PSIuMyIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjIzMCI+dmlzaXQ8L3RleHQ+PHRleHQgeD0iMTc1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiBmaWxsPSIjZmZmIiB0ZXh0TGVuZ3RoPSIyMzAiPnZpc2l0PC90ZXh0Pjx0ZXh0IGFyaWEtaGlkZGVuPSJ0cnVlIiB4PSI2OTUiIHk9IjE1MCIgZmlsbD0iIzAxMDEwMSIgZmlsbC1vcGFjaXR5PSIuMyIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIHRleHRMZW5ndGg9IjY1MCI+b3VyIHdlYnNpdGU8L3RleHQ+PHRleHQgeD0iNjk1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiBmaWxsPSIjZmZmIiB0ZXh0TGVuZ3RoPSI2NTAiPm91ciB3ZWJzaXRlPC90ZXh0PjwvZz48L3N2Zz4=)](https://ecodash.xyz) [![Support the project](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTI0IiBoZWlnaHQ9IjIwIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9InN1cHBvcnQ6IHRoZSBwcm9qZWN0Ij48dGl0bGU+c3VwcG9ydDogdGhlIHByb2plY3Q8L3RpdGxlPjxsaW5lYXJHcmFkaWVudCBpZD0icyIgeDI9IjAiIHkyPSIxMDAlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiYmIiIHN0b3Atb3BhY2l0eT0iLjEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3Atb3BhY2l0eT0iLjEiLz48L2xpbmVhckdyYWRpZW50PjxjbGlwUGF0aCBpZD0iciI+PHJlY3Qgd2lkdGg9IjEyNCIgaGVpZ2h0PSIyMCIgcng9IjMiIGZpbGw9IiNmZmYiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNyKSI+PHJlY3Qgd2lkdGg9IjUzIiBoZWlnaHQ9IjIwIiBmaWxsPSIjNTU1Ii8+PHJlY3QgeD0iNTMiIHdpZHRoPSI3MSIgaGVpZ2h0PSIyMCIgZmlsbD0iI2RmYjMxNyIvPjxyZWN0IHdpZHRoPSIxMjQiIGhlaWdodD0iMjAiIGZpbGw9InVybCgjcykiLz48L2c+PGcgZmlsbD0iI2ZmZiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZm9udC1mYW1pbHk9IlZlcmRhbmEsR2VuZXZhLERlamFWdSBTYW5zLHNhbnMtc2VyaWYiIHRleHQtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iIGZvbnQtc2l6ZT0iMTEwIj48dGV4dCBhcmlhLWhpZGRlbj0idHJ1ZSIgeD0iMjc1IiB5PSIxNTAiIGZpbGw9IiMwMTAxMDEiIGZpbGwtb3BhY2l0eT0iLjMiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiB0ZXh0TGVuZ3RoPSI0MzAiPnN1cHBvcnQ8L3RleHQ+PHRleHQgeD0iMjc1IiB5PSIxNDAiIHRyYW5zZm9ybT0ic2NhbGUoLjEpIiBmaWxsPSIjZmZmIiB0ZXh0TGVuZ3RoPSI0MzAiPnN1cHBvcnQ8L3RleHQ+PHRleHQgYXJpYS1oaWRkZW49InRydWUiIHg9Ijg3NSIgeT0iMTUwIiBmaWxsPSIjMDEwMTAxIiBmaWxsLW9wYWNpdHk9Ii4zIiB0cmFuc2Zvcm09InNjYWxlKC4xKSIgdGV4dExlbmd0aD0iNjEwIj50aGUgcHJvamVjdDwvdGV4dD48dGV4dCB4PSI4NzUiIHk9IjE0MCIgdHJhbnNmb3JtPSJzY2FsZSguMSkiIGZpbGw9IiNmZmYiIHRleHRMZW5ndGg9IjYxMCI+dGhlIHByb2plY3Q8L3RleHQ+PC9nPjwvc3ZnPg==)](https://ecodash.xyz/contribute)
EcoDash is a simple way to show your users how much your server consumes.
It's intended as a medium of transparency, that gives your users an idea about the consumption of your machine. It's not meant to be 100% accurate.
You can see it in action here: https://ecodash.massivebox.net
You can see it in action here: https://demo.ecodash.xyz
## Requirements
## Get started
- A working HomeAssistant installation
- An energy consumption sensor, such as a [smart plug](https://www.aliexpress.com/item/1005003188500978.html), to which your server is plugged in and connected.
- CO2 Signal added as integration into HomeAssistant
Check out the documentation in our [website](https://ecodash.xyz) to get started with EcoDash.
## Installation
#### Using Docker run:
```
docker run -v /absolute_path_to/config.json:/app/config.json -v /absolute_path_to/database.db:/app/database.db --name ecodash -p 8080:80 gitea.massivebox.net/massivebox/ecodash
```
This will open the container on port 8080. Replace "8080" in the command with whatever number you want to open that specific port.
#### Using Docker Compose:
Create a file `docker-compose.yml` with the following content:
```
version: '3'
services:
ecodash:
container_name: ecodash
image: gitea.massivebox.net/massivebox/ecodash
ports:
- '8080:80'
volumes:
- ./config.json:/app/config.json
- ./database.db:/app/database.db
restart: always
```
Run the container with
```
docker compose up -d
```
This will open the container on port 8080. Replace "8080" in the file with whatever number you want to open that specific port.
#### Using the binary
Grab a binary from the Releases page and run it. You can use the `PORT` environment variable to override the default port (80).
## Set up
As soon as you navigate to the container's exposed port, you will see the admin dashboard, there you will have to fill all fields to get EcoDash running.
- **HomeAssistant's base URL**: the base URL which you use to access HomeAssistant on your server. It should be something like `http://INTERNAL_IP_ADDRESS:8123/` or `https://homeassistant.youdomain.com/`.
- **HomeAssistant's API Key:** Get it by going into your HomeAssistant profile settings (at `http://HOMEASSISTANT-BASE-URL/profile`) -> Create Long Lived Access Token (at the very bottom of the page) -> Insert a name -> Copy the string it gives you
- **Installation Date**: Select the date of the first day in which your server's consumption was logged in its entirety. Users won't be able to see consumption data before this date.
- **Polled Smart Energy Summation entity ID:** After your plug is added in HomeAssistant, get it in Overview -> look for an entity called like "[Name of your plug] Polledsmartenergysummation" -> Settings -> Copy the Entity ID. Check that the unit of measurement in the "Info" tab is kWh.
- **CO2 signal Grid fossil fuel percentage entity ID**: Get it in Settings -> Devices and Integrations -> Add Integration -> CO2 Signal -> Get your token from the website -> CO2 signal Grid fossil fuel percentage -> Settings -> Copy the Entity ID. Check that the unit of measurement in the "Info" tab is %.
- **Admin username and password** don't need to be the credentials to HomeAssistant! They are the credentials to log into the admin panel.
If you've just added your energy meter into HomeAssistant, note that it will take eight days for EcoDash to show meaningful data.
## Support
If something isn't working, you can find some help here:
- [Matrix support room](https://matrix.to/#/#support:massivebox.net)
- [Issues page](./issues)
- [Contact me](https://massivebox.net/contact.html)
## The road ahead
EcoDash is currently released as a minimum viable product, still far from completion. Here's a non-extensive, unordered list of the changes I want to make.
- Adding support for energy returns (like solar panels)
- Supporting hot reload, removing the need to restart EcoDash each time the settings are changed
- Improving clarity for when data is missing
- Making FossilFuel Percentage optional and adding other sources
- Supporting energy consumption readings from internal sensors
- Adding some way to change header/footer links directly from the admin panel
- Eventually being completely HomeAssistant-independent
- Adding Woodpecker CI
- Organizing branches and releases better
- Moving documentation to a wiki and expanding it
- Extensively documenting the theming capabilities of EcoDash
- Publishing some alternative themes
- [📖 Introduction](https://ecodash.xyz/docs)
- [🛣 Roadmap](https://ecodash.xyz/docs/roadmap)
- [⬇️ Install](https://ecodash.xyz/docs/install)
- [⚙️ Setup](https://ecodash.xyz/docs/setup)
- [🆘 Support](https://ecodash.xyz/docs/support)
## License

View File

@ -86,8 +86,8 @@ func loadConfig() (config Config, err error, isFirstRun bool) {
Label: "Admin",
Destination: "/admin",
}, Link{
Label: "Docs",
Destination: "https://gitea.massivebox.net/massivebox/ecodash",
Label: "EcoDash",
Destination: "https://ecodash.xyz",
NewTab: true,
Primary: true,
})

View File

@ -1,5 +1,8 @@
<h1>Admin Panel</h1>
<p>Here you can edit all the configurations for EcoDash.</p>
<p>
Here you can edit all the configurations for EcoDash.<br>
<a href="https://ecodash.xyz/docs/setup/admin-panel">Documentation</a>
</p>
{{if .Warning}}
<article class="card" style="background-color: {{if .Warning.IsSuccess}}#008000{{else}}#ff5050{{end}}; color: white">

View File

@ -29,7 +29,7 @@
{{range .Defaults.FooterLinks}}
<a href="{{.Destination}}" {{if .NewTab}}target="_blank" rel="noopener noreferrer"{{end}}>{{.Label}}</a> |
{{end}}
<a href="./accuracy-notice">Disclaimer</a> | <a href="https://gitea.massivebox.net/massivebox/ecodash" target="_blank" rel="noopener noreferrer">EcoDash</a>
<a href="./accuracy-notice">Disclaimer</a> | <a href="https://ecodash.xyz" target="_blank" rel="noopener noreferrer">EcoDash</a>
</p>
</body>