126 lines
4.1 KiB
Markdown
126 lines
4.1 KiB
Markdown
|
|
<!-- PROJECT LOGO -->
|
|
<br />
|
|
<p align="center">
|
|
|
|
<h3 align="center">dockerized openAger</h3>
|
|
|
|
<p align="center">
|
|
Ein Docker-Stack zur Installation von openAger
|
|
<br />
|
|
</p>
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ABOUT THE PROJECT -->
|
|
## 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 -->
|
|
## 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
|
|
|
|
|
|
Optionale Docker Images:
|
|
* Portainer (zur bequemen Bedienung von Docker): https://hub.docker.com/r/portainer/portainer
|
|
|
|
Des weiteren wird für Fälle wo NICHT alles lokal im Netzwerk bleibt optional empfohlen:
|
|
* 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:
|
|
```sh
|
|
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
|
|
|
|
1. nach /opt gehen und Repo klonen
|
|
```sh
|
|
cd /opt
|
|
sudo git clone https://git.valki.com/valki/dockerized_openAger.git
|
|
```
|
|
2. Umbenennen
|
|
```sh
|
|
sudo mv dockerized_openAger openAger
|
|
cd openAger
|
|
```
|
|
3. .env bei Bedarf bearbeiten und dann installieren
|
|
```sh
|
|
docker-compose up -d
|
|
```
|
|
|
|
|
|
<!-- USAGE EXAMPLES -->
|
|
## 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.
|
|
|
|
Den User in der influxDB berechtigen (nur für den Fehlerfall!)
|
|
```sh
|
|
docker exec -it openager_influxdb_1 influx -username "admin" -password "openager"
|
|
show databases
|
|
use openAger
|
|
show users
|
|
show grants for open
|
|
GRANT ALL on openAger to open
|
|
```
|
|
|
|
<!-- LICENSE -->
|
|
## License
|
|
|
|
Distributed under the CC BY-NC-SA License. See license.txt for more information.
|