grafana | ||
influxdb | ||
mariadb | ||
mosquitto | ||
nodered | ||
.env | ||
.gitignore | ||
docker-compose.yml | ||
licence_readme.txt | ||
licence.txt | ||
Makefile | ||
README.md |
dockerized openAger
Ein Docker-Stack zur Installation von openAger
About The Project
Dieses Projekt beinhaltet einen Docker-Stack zur schnellen Installation der Cloud Komponenten von openAger. openAger findet sich hier: https://www.valki.com/smartager/
Getting Started
Repo klonen und Installationsanleitung befolgen!
Prerequisites
Damit das ganze Funktioniert, muss natürlich Docker installiert sein. Raspis sind nicht zu empfehlen - dennoch hier kurz wie man Docker installiert (auf Basis eines Raspian light):
- sudo passwd (root Passwort setzen)
- passwd pi (Passwort für user pi setzen)
- sudo raspi-config (Localisation, Tastatur, Wifi etc. einrichten)
- sudo apt-get update && sudo apt-get upgrade (Pakete rasbian upgraden)
- curl -fsSL https://get.docker.com -o get-docker.sh
- sudo sh get-docker.sh
- sudo usermod -aG docker pi
- sudo shutdown -r
- sudo apt-get update && sudo apt-get upgrade
- sudo apt-get install git
- sudo apt-get install libffi-dev libssl-dev
- sudo apt install python3-dev
- sudo apt-get install -y python3 python3-pip
- sudo pip3 install docker-compose
- docker version
Des weiteren wird für Fälle wo NICHT alles lokal im Netzwerk bleibt optional empfohlen:
- Portainer (zur bequemen Bedienung von Docker): https://hub.docker.com/r/portainer/portainer
- nginx Reverse-Proxy von jwilder https://hub.docker.com/r/jwilder/nginx-proxy
- letsencrypt - Companion für nginx von jrcs: https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion
Wieso der Reverse Proxy und Letsencrypt eine feine Sache sind: http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/
Exemplarisch:
docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -e VIRTUAL_HOST="subdomain.domain.com" -e LETSENCRYPT_EMAIL="email@email.com" -e LETSENCRYPT_HOST="subdomain.domain.com" -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
docker run -d --name nginx-proxy --restart always --publish 80:80 --publish 443:443 -v nginx_etc:/etc/nginx: -v nginx_html:/usr/share/nginx/html: -v nginx_cert:/etc/nginx/certs: -v nginx_dhparms:/etc/nginx/dhparam: -v nginx_vhost:/etc/nginx/vhost.d: -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy
docker run -d --name nginx-proxy-letsencrypt --restart always --volumes-from nginx-proxy -v /var/run/docker.sock:/var/run/docker.sock:ro jrcs/letsencrypt-nginx-proxy-companion
Installation
- nach /opt gehen und Repo klonen
cd /opt
sudo git clone https://git.valki.com/valki/dockerized_openAger.git
- Umbenennen
sudo mv dockerized_openAger openAger
cd openAger
- .env bei Bedarf bearbeiten und dann installieren
docker-compose up
Usage
Folgende Services werden installiert:
- openager_mosquitto_1
- openager_nodered_1
- Backend auf dem konfiguriertem Port erreichbar (1880)
- Adminzugang im .env konfiguriert (admin:openager)
- Frontend / Dashboard unter dem Pfad /ui erreichbar (open:openager)
- openager_influxdb_1
- openager_grafana_1
- Grafana ist auf dem konfiguriertem Port erreichbar.
- Initialer Login lautet admin:admin
- die Verbindung zur InfluxDB wird eingerichtet mit
- URL = http://openager_influxdb_1:8086 und
- den Zugangsdaten aus .env (im Standard open:ager)
- die Standarddatenbank lautet openAger (auch im .env einstellbar)
- openager_phpmyadmin_1
- via im .env konfiguriertem Port erreichbar (8088)
- Standarduser lautet open:ager
- openager_mariadb_1
Hier kommt noch ein wenig Doku irgendwann.
License
Distributed under the CC BY-NC-SA License. See license.txt for more information.