dockerized_openAger/README.md

126 lines
4.1 KiB
Markdown
Raw Normal View History

2020-10-17 16:50:19 +00:00
<!-- PROJECT LOGO -->
<br />
<p align="center">
<h3 align="center">dockerized openAger</h3>
<p align="center">
Ein Docker-Stack zur Installation von openAger
<br />
2020-10-17 17:11:33 +00:00
</p>
2020-10-17 16:50:19 +00:00
</p>
<!-- ABOUT THE PROJECT -->
## About The Project
2020-10-17 17:11:33 +00:00
Dieses Projekt beinhaltet einen Docker-Stack zur schnellen Installation der Cloud Komponenten von openAger.
openAger findet sich hier: https://www.valki.com/smartager/
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
<!-- GETTING STARTED -->
## Getting Started
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
Repo klonen und Installationsanleitung befolgen!
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
### Prerequisites
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
Damit das ganze Funktioniert, muss natürlich Docker installiert sein.
2020-10-18 08:46:52 +00:00
Raspis sind nicht zu empfehlen - dennoch hier kurz wie man Docker installiert (auf Basis eines Raspian light):
2020-10-17 17:47:19 +00:00
* sudo passwd (root Passwort setzen)
* passwd pi (Passwort für user pi setzen)
2020-10-18 08:21:55 +00:00
* sudo raspi-config (Localisation, Tastatur, Wifi etc. einrichten)
2020-10-17 17:47:19 +00:00
* 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
2020-10-18 08:30:07 +00:00
* sudo apt-get install git
2020-10-18 08:46:52 +00:00
* 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
2020-10-17 17:47:19 +00:00
* docker version
2020-10-17 16:50:19 +00:00
2020-10-18 10:43:56 +00:00
Optionale Docker Images:
2020-10-17 17:11:33 +00:00
* Portainer (zur bequemen Bedienung von Docker): https://hub.docker.com/r/portainer/portainer
2020-10-18 10:43:56 +00:00
Des weiteren wird für Fälle wo NICHT alles lokal im Netzwerk bleibt optional empfohlen:
2020-10-17 17:11:33 +00:00
* 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
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
Wieso der Reverse Proxy und Letsencrypt eine feine Sache sind: http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/
2020-10-17 16:50:19 +00:00
2020-10-17 17:11:33 +00:00
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
2020-10-17 16:50:19 +00:00
2020-10-17 17:14:06 +00:00
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
2020-10-17 17:11:33 +00:00
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
2020-10-17 16:50:19 +00:00
```
### Installation
2020-10-17 17:11:33 +00:00
1. nach /opt gehen und Repo klonen
2020-10-17 16:50:19 +00:00
```sh
2020-10-17 17:11:33 +00:00
cd /opt
2020-10-18 08:46:52 +00:00
sudo git clone https://git.valki.com/valki/dockerized_openAger.git
2020-10-17 16:50:19 +00:00
```
2020-10-17 17:11:33 +00:00
2. Umbenennen
2020-10-17 16:50:19 +00:00
```sh
2020-10-18 08:46:52 +00:00
sudo mv dockerized_openAger openAger
2020-10-17 17:11:33 +00:00
cd openAger
```
3. .env bei Bedarf bearbeiten und dann installieren
```sh
2020-10-18 10:43:05 +00:00
docker-compose up -d
2020-10-17 16:50:19 +00:00
```
<!-- USAGE EXAMPLES -->
## Usage
2020-10-17 17:26:03 +00:00
Folgende Services werden installiert:
* openager_mosquitto_1
* openager_nodered_1
2020-10-17 17:29:11 +00:00
* Backend auf dem konfiguriertem Port erreichbar (1880)
* Adminzugang im .env konfiguriert (admin:openager)
2020-10-17 20:34:39 +00:00
* Frontend / Dashboard unter dem Pfad /ui erreichbar (open:openager)
2020-10-17 17:26:03 +00:00
* openager_influxdb_1
* openager_grafana_1
2020-10-17 17:29:11 +00:00
* 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)
2020-10-17 17:26:03 +00:00
* openager_phpmyadmin_1
2020-10-17 17:29:11 +00:00
* via im .env konfiguriertem Port erreichbar (8088)
* Standarduser lautet open:ager
2020-10-17 17:26:03 +00:00
* openager_mariadb_1
2020-10-17 17:14:06 +00:00
Hier kommt noch ein wenig Doku irgendwann.
2020-10-17 16:50:19 +00:00
2020-10-18 10:43:05 +00:00
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
```
2020-10-17 16:50:19 +00:00
<!-- LICENSE -->
## License
2020-10-17 17:14:06 +00:00
Distributed under the CC BY-NC-SA License. See license.txt for more information.