Docker Umgebung mit dem Script von ei23 installieren und Solaranzeige dort installieren
Verfasst: Di 23. Mai 2023, 20:45
Solaranzeige.de auf einem RPI4GB mit dem ei23 Script als Docker installieren.
Vorweg sei erwähnt das ich kein Linux Nerd bin. Der von mir gewählte Weg hat es mir ermöglicht ein Basis System mit ein paar Tools zu installieren ohne das ich einen echten Plan von Docker habe. Es ist sehr wahrscheinlich das es einen eleganteren Weg gibt, ich hab es aber nicht drauf
Mein System ist NICHT dafür gedacht vom Internt aus erreichbar zu sein.
Das ist sicherlich rasch getan, aber ich habe da keinen Bedarf.
Ich nutze seit geraumer Zeit zur Installation diverser Tools das ei23 Script.
Das Script installiert Docker mit diversen Tools die man vorher auswählen kann in einem Rutsch und fragt dabei die benötigten Usernamen und Passwörter ab.
Hier ist die Liste der Programme zu finden.
https://ei23.de/diy-smarthome/
So hab ich mir geholfen:
Ich setze jetzt einfach mal voraus das man in der Lage ist ein Rpi 64Bit Image mit Desktop auf einen Raspberry 400/4B 4GB zu installieren. Ja das läuft auch alles auf einem 3er PI aber echt zäh.
Meiner Erfahrung nach läuft das ganze auf einem 4er mit 4GB (auch 400er) am besten mit einer externen SSD und deaktivierten WIFI. USB3 und WIFI kann bei einem 4er seltsame Fehler produzieren. USB stört so heftig im WIFI das es zu Verbindungsabbrüchen führen kann. Das ist bekannt und übrigens auch der Grund warum AVM erst sehr spät USB3 für die Router eingeführt hat.
Overclocking auf 1500Mhz geht problemlos und lässt den Raspberry recht flüssig laufen, es geht auch mehr aber das muss jeder selber wissen.
Desweiteren sollte der Rpi genug Spannung bekommen und einen guten aktiven Hub.
Du solltest wissen was SSH ist und wie man per console auf den Raspberry zugreift und kannst einen einfachen Editor (nano) in der Shell benutzen.
Ich habe den Benutzer „pi“ gewählt, das muss jeder für sich ändern und an die Pfade in den Templates anpassen.
Los geht es.
Script besorgen
Bei ei23.de das Newsletter abonnieren und das installations- Script senden lassen.
Das Newsletter mit dem Installations- Script wird jede volle Stunde versendet. Danach kommt keine Mail mehr, es gibt keinen Spam seitens ei23.de.
Per ssh das Script installieren. Wie das geht steht in der Mail.
Die Programme wählen die man meint zu wollen. Grafana bitte gleich abwählen, das wird später mit dem Solaranzeige Conteiner zusammen installiert.
Node-Red wird nicht als Docker ausgeführt. Home Assistant ist ohne supervisor.
Es lassen sich später alle Programme einfach über Docker Templates installieren und entfernen. Reines Paste and Copy und ein paar Klicks.
Viele Templates sind schon dabei, siehe Liste https://ei23.de/diy-smarthome/
Jetzt das Script mal seine Arbeit machen lassen. Nach 2 Neustarts und nachdem X mal der Username und das Passwort vergeben wurde seit ihr mit dem gröbsten durch.
Nun bitte den Raspberry mit seiner IP im Browser besuchen.
Das sollte ähnlich wie auf dem oben Bild aussehen.
SSH öffnen
In den Ordner home/pi/ei23-docker wechseln
Die Datei docker-compose.yml öffnen
Das ist meine docker-compose.yml da steht jetzt nur noch drinnen was oben auf dem Bild zu sehen ist.
Grafana, Influxdb und mosquitto muss deinstalliert werden. Diese Tools werden gleich mit dem Solaranzeige Container zusammen installiert.
Um z.B. influx und mosquitto zu deinstallieren müssen deren Templates gelöscht werden und fireflyIII wird auskommentiert außer es soll verwendet werden.
Will man NEXTCLOUD nutzen will muss man in dem zugehörigen Template Abschnitt den Port von 8080 auf 8090 ändern und auch in der Datei programs.json muss der Port geändert werden ändern. Für andere Container kann es ähnlich sein.
Wie das gemacht wird steht weiter unten.
Beispiel:
Die docker-compose.yml sieht jetzt wahrscheinlich ähnlich aus wie meine.
Jetzt die Startseite kurz bearbeiten.
PORT KONTROLLIEREN NICHT VERGESSEN!!
Wie man sieht ist das simpel aufgebaut. Was angezeigt werden soll bekommt ein „true“ was nicht angezeigt werden soll wird geändert nach „false“
Die Anzeige für Grafana wird gleich wieder eingeschaltet, man will ja „Solaranzeige“ sehen.
Nun einmal den Haufen neu starten.
Nach dem Neustart im Browser die IP_DES_RPI:9000 eingeben und Username und Passwort festlegen. Das muss bei Portainer leider recht lang sein.
In Portainer die Container anzeigen lassen. Wahrscheinlich werden Influxdb und mosquitto noch angezeigt. Hacken machen und löschen.
ausführen. Wenn fertig dann ausführen und in das Verzeichniss der Docker Volumen wechseln und schauen ob alles gelöscht ist. Ist das nicht der Fall einfach löschen. Der Pfad zu den Volumen ist:
Zur Sicherheit nochmal ausführen.
Raspi neu starten
Nach kurzer Zeit sollte es wieder möglich sein per SSH den Raspi zu connenten.
Wieder die Docker-compose datei öffnen
und das Template für Solaranzeige direkt zwischen
services:
und
# startpage for ei23-SmartHomeServervor einfügen.
Sollte so aussehen:
Hier das Template für Solaranzeige
## 8086 ist hier geöffnet damit mein BMS in die Datenbank schreiben kann ##
Abspeichern neu starten und Docker compoese ausführen
bash ei23.sh dc
Wenn das fertig ist mit Portainer kurz schauen wie der Name vom Container von Solaranzeige ist oder mit in der shell ermitteln.
Bei mir ist das fad5fe925e40_Solaranzeige
Nach einem Neustart sollte unter der Webadresse http://ip_des_raspi die Übersichtsseite mit Grafana und den Tools sehen die installiert wurden.
Auf Grafana klicken und mit Username: admin und Passwort: solaranzeige anmelden.
Das Zahnrad klicken und „Data Sources“ auswählen.
Die Datenbank „Solaranzeige“ anklicken und die richtige Datenbank einstellen:
Das gleiche mit der Datenbank „Steuerung“ machen.
Jetzt sollte Solaranzeige in dieser Dockerumgebung laufen. Der MQTT Broker und der Influxdb server sollten sich innerhalb deines heimischen Netzwerks nutzen lassen.
################################################################
Um weitere Tools zu installieren per ssh in den Ordner schauen
Den inhalt eines Templates wie z.B. iobrocker
An den Anfang der docker-compose.yml, genau wir vorher mit dem Template für Solaranzeige. Einfügen unterhalb von „services:“
Auf die Ports achten das die nicht doppelt belegt sind und nach einem
wird der Container automatisch installiert.
Ändere
um das jeweilige Tool auch anzeigen zu lassen und vergiss nicht gegebenenfalls einen Port zu ändern.
Browsercache leeren nicht vergessen.
Vorweg sei erwähnt das ich kein Linux Nerd bin. Der von mir gewählte Weg hat es mir ermöglicht ein Basis System mit ein paar Tools zu installieren ohne das ich einen echten Plan von Docker habe. Es ist sehr wahrscheinlich das es einen eleganteren Weg gibt, ich hab es aber nicht drauf
Mein System ist NICHT dafür gedacht vom Internt aus erreichbar zu sein.
Das ist sicherlich rasch getan, aber ich habe da keinen Bedarf.
Ich nutze seit geraumer Zeit zur Installation diverser Tools das ei23 Script.
Das Script installiert Docker mit diversen Tools die man vorher auswählen kann in einem Rutsch und fragt dabei die benötigten Usernamen und Passwörter ab.
Hier ist die Liste der Programme zu finden.
https://ei23.de/diy-smarthome/
So hab ich mir geholfen:
Ich setze jetzt einfach mal voraus das man in der Lage ist ein Rpi 64Bit Image mit Desktop auf einen Raspberry 400/4B 4GB zu installieren. Ja das läuft auch alles auf einem 3er PI aber echt zäh.
Meiner Erfahrung nach läuft das ganze auf einem 4er mit 4GB (auch 400er) am besten mit einer externen SSD und deaktivierten WIFI. USB3 und WIFI kann bei einem 4er seltsame Fehler produzieren. USB stört so heftig im WIFI das es zu Verbindungsabbrüchen führen kann. Das ist bekannt und übrigens auch der Grund warum AVM erst sehr spät USB3 für die Router eingeführt hat.
Overclocking auf 1500Mhz geht problemlos und lässt den Raspberry recht flüssig laufen, es geht auch mehr aber das muss jeder selber wissen.
Desweiteren sollte der Rpi genug Spannung bekommen und einen guten aktiven Hub.
Du solltest wissen was SSH ist und wie man per console auf den Raspberry zugreift und kannst einen einfachen Editor (nano) in der Shell benutzen.
Ich habe den Benutzer „pi“ gewählt, das muss jeder für sich ändern und an die Pfade in den Templates anpassen.
Los geht es.
Script besorgen
Bei ei23.de das Newsletter abonnieren und das installations- Script senden lassen.
Das Newsletter mit dem Installations- Script wird jede volle Stunde versendet. Danach kommt keine Mail mehr, es gibt keinen Spam seitens ei23.de.
Per ssh das Script installieren. Wie das geht steht in der Mail.
Die Programme wählen die man meint zu wollen. Grafana bitte gleich abwählen, das wird später mit dem Solaranzeige Conteiner zusammen installiert.
Node-Red wird nicht als Docker ausgeführt. Home Assistant ist ohne supervisor.
Es lassen sich später alle Programme einfach über Docker Templates installieren und entfernen. Reines Paste and Copy und ein paar Klicks.
Viele Templates sind schon dabei, siehe Liste https://ei23.de/diy-smarthome/
Jetzt das Script mal seine Arbeit machen lassen. Nach 2 Neustarts und nachdem X mal der Username und das Passwort vergeben wurde seit ihr mit dem gröbsten durch.
Nun bitte den Raspberry mit seiner IP im Browser besuchen.
Das sollte ähnlich wie auf dem oben Bild aussehen.
SSH öffnen
In den Ordner home/pi/ei23-docker wechseln
Die Datei docker-compose.yml öffnen
Code: Alles auswählen
sudo nano /home/pi/ei23-docker/docker-compose.yml
Code: Alles auswählen
version: '3'
networks:
nextcloud: # comment this out if not needed
driver: bridge
internal: true
fireflyiii: # comment this out if not needed
driver: bridge
internal: true
services:
# MQTT-Broker
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
restart: unless-stopped
user: "1883"
ports:
- "1883:1883"
- "9001:9001"
volumes:
- ./volumes/mosquitto/data:/mosquitto/data
- ./volumes/mosquitto/log:/mosquitto/log
- ./volumes/mosquitto/config:/mosquitto/config
logging:
options:
max-size: "5m"
max-file: "3"
# startpage for ei23-SmartHomeServer
ei23:
image: nginx:alpine
container_name: ei23
volumes:
- ./volumes/ei23/conf:/etc/nginx/conf.d
- ./volumes/ei23/web:/www
- ./volumes/ei23/docs/site:/www/docs
ports:
- "80:80"
# labels:
# - traefik.enable=true
# - traefik.http.routers.ei23-lan.rule=(Host(`192.168.178.2`) || Host(`raspberrypi`))
# - traefik.http.routers.ei23-lan.priority=1
# - traefik.http.routers.ei23-lan.entrypoints=lan
restart: unless-stopped
# Database
influxdb:
container_name: influxdb
image: influxdb:1.8
restart: unless-stopped
ports:
- "8086:8086"
- "8083:8083"
- "2003:2003"
environment:
- "INFLUXDB_DB=MAIN"
# - "INFLUXDB_DATA_ENGINE=tsm1"
- "INFLUXDB_REPORTING_DISABLED=false"
- "INFLUXDB_STORE_ENABLED=false"
- "INFLUXDB_QUERY_LOG_ENABLED=false"
- "INFLUXDB_ADMIN_ENABLED=true"
# - "INFLUXDB_HTTP_AUTH_ENABLED=true"
# - "INFLUXDB_ADMIN_USER=admin"
# - "INFLUXDB_ADMIN_PASSWORD=SaAsMMEJ118wypn"
- "INFLUXDB_USER=admin"
- "INFLUXDB_USER_PASSWORD=raspberry"
# - "INFLUXDB_READ_USER=readuser"
# - "INFLUXDB_READ_USER_PASSWORD=LxTidQ8uymq4CWW"
# - "INFLUXDB_WRITE_USER=writeuser"
# - "INFLUXDB_WRITE_USER_PASSWORD=5GKpCgSBo77vuV2"
# # Enable Traefik Log
# - "INFLUXDB_UDP_ENABLED=true"
# - "INFLUXDB_UDP_BIND_ADDRESS=0.0.0.0:8089"
# - "INFLUXDB_UDP_DATABASE=traefik"
volumes:
- ./volumes/influxdb/data:/var/lib/influxdb
- ./backups/influxdb/db:/var/lib/influxdb/backup
logging:
options:
max-size: "5m"
max-file: "3"
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:stable
restart: unless-stopped
network_mode: host
ports:
- "8123:8123"
volumes:
- ./volumes/homeassistant/config:/config
# - /home/pi/media:/media
# devices:
# - /dev/video0:/dev/video0
environment:
- "TZ=Europe/Berlin"
motioneye:
container_name: motioneye
hostname: HomePi
image: ccrisan/motioneye:master-armhf
restart: unless-stopped
ports:
- "8765:8765"
# - "18081:8081" # additional camera ports
# - "18082:8082"
# devices:
# - /dev/video0:/dev/video0
volumes:
- ./volumes/motioneye/data:/etc/motioneye
- ./volumes/motioneye/lib:/var/lib/motioneye
- /etc/localtime:/etc/localtime:ro
# Dieses Netzwerk wird benoetigt- Add this Network if not existing
# networks:
# nextcloud:
# driver: bridge
# internal: true
# Aendere die Passwoerter - change the passwords (P4ssw0rt1 & P4ssw0rt2)
nextcloud:
image: nextcloud
container_name: nextcloud
ports:
- "8080:80"
# labels:
# - traefik.enable=true
# - traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect
# - traefik.http.routers.nextcloud.tls.certresolver=letsEncrypt
# - traefik.http.routers.nextcloud.rule=Host(`example.com`)
# - traefik.http.routers.nextcloud.entrypoints=web, web-secured
# - traefik.http.routers.nextcloud.tls=true
# - traefik.http.middlewares.nextcloud.headers.stsSeconds=15552000
# - traefik.http.middlewares.nextcloud.headers.stsPreload=true
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.permanent=true
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.regex=^https://(.*)/.well-known/(card|cal)dav
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=https://$${1}/remote.php/dav/
volumes:
- ./volumes/nextcloud/html:/var/www/html
restart: unless-stopped
depends_on:
- nextcloud_db
links:
- nextcloud_db
networks:
- default
- nextcloud
environment:
- MYSQL_HOST=nextcloud_db
- MYSQL_PASSWORD=kFFlPYVvBqtomc8
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TRUSTED_PROXIES=172.18.0.0/16
# - OVERWRITEPROTOCOL=https
# - OVERWRITEHOST=example.com
logging:
options:
max-size: "5m"
max-file: "3"
nextcloud_db:
image: yobasystems/alpine-mariadb:10.4.17
container_name: nextcloud_db
volumes:
- ./volumes/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=N6hhfsr0jCCERyO
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=kFFlPYVvBqtomc8
restart: unless-stopped
networks:
- nextcloud
logging:
options:
max-size: "5m"
max-file: "3"
pihole:
container_name: pihole
image: pihole/pihole:latest
hostname: HomePi
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "8008:80/tcp"
# - "443:443/tcp"
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: 'vtCUw3uFcL7RDDJ'
# ServerIP: REPLACEME
# ServerIPv6: REPLACEME
# IPv6: 'true'
volumes:
- ./volumes/pihole/etc-pihole/:/etc/pihole/
- ./volumes/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/
- ./volumes/pihole/hosts:/etc/hosts
dns:
- 127.0.0.1
- 1.1.1.1
# Recommended but not required (DHCP needs NET_ADMIN)
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
logging:
options:
max-size: "5m"
max-file: "3"
portainer:
container_name: portainer
image: portainer/portainer-ce
restart: unless-stopped
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./volumes/portainer/data:/data
tasmoadmin:
container_name: tasmoadmin
image: raymondmm/tasmoadmin
restart: unless-stopped
ports:
- "8089:80"
volumes:
- ./volumes/tasmoadmin/data:/data
Um z.B. influx und mosquitto zu deinstallieren müssen deren Templates gelöscht werden und fireflyIII wird auskommentiert außer es soll verwendet werden.
Will man NEXTCLOUD nutzen will muss man in dem zugehörigen Template Abschnitt den Port von 8080 auf 8090 ändern und auch in der Datei programs.json muss der Port geändert werden ändern. Für andere Container kann es ähnlich sein.
Wie das gemacht wird steht weiter unten.
Beispiel:
Code: Alles auswählen
version: '3'
networks:
nextcloud: # comment this out if not needed
driver: bridge
internal: true
# fireflyiii: # comment this out if not needed
# driver: bridge
# internal: true
services:
# startpage for ei23-SmartHomeServer
ei23:
image: nginx:alpine
container_name: ei23
volumes:
- ./volumes/ei23/conf:/etc/nginx/conf.d
- ./volumes/ei23/web:/www
- ./volumes/ei23/docs/site:/www/docs
ports:
- "80:80"
# labels:
# - traefik.enable=true
# - traefik.http.routers.ei23-lan.rule=(Host(`192.168.178.2`) || Host(`raspberrypi`))
# - traefik.http.routers.ei23-lan.priority=1
# - traefik.http.routers.ei23-lan.entrypoints=lan
restart: unless-stopped
homeassistant:
container_name: homeassistant
image: homeassistant/home-assistant:stable
restart: unless-stopped
network_mode: host
ports:
- "8123:8123"
volumes:
- ./volumes/homeassistant/config:/config
# - /home/pi/media:/media
# devices:
# - /dev/video0:/dev/video0
environment:
- "TZ=Europe/Berlin"
motioneye:
container_name: motioneye
hostname: HomePi
image: ccrisan/motioneye:master-armhf
restart: unless-stopped
ports:
- "8765:8765"
# - "18081:8081" # additional camera ports
# - "18082:8082"
# devices:
# - /dev/video0:/dev/video0
volumes:
- ./volumes/motioneye/data:/etc/motioneye
- ./volumes/motioneye/lib:/var/lib/motioneye
- /etc/localtime:/etc/localtime:ro
# Dieses Netzwerk wird benoetigt- Add this Network if not existing
# networks:
# nextcloud:
# driver: bridge
# internal: true
# Aendere die Passwoerter - change the passwords (P4ssw0rt1 & P4ssw0rt2)
nextcloud:
image: nextcloud
container_name: nextcloud
ports:
- "8090:80"
# labels:
# - traefik.enable=true
# - traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect
# - traefik.http.routers.nextcloud.tls.certresolver=letsEncrypt
# - traefik.http.routers.nextcloud.rule=Host(`example.com`)
# - traefik.http.routers.nextcloud.entrypoints=web, web-secured
# - traefik.http.routers.nextcloud.tls=true
# - traefik.http.middlewares.nextcloud.headers.stsSeconds=15552000
# - traefik.http.middlewares.nextcloud.headers.stsPreload=true
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.permanent=true
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.regex=^https://(.*)/.well-known/(card|cal)dav
# - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=https://$${1}/remote.php/dav/
volumes:
- ./volumes/nextcloud/html:/var/www/html
restart: unless-stopped
depends_on:
- nextcloud_db
links:
- nextcloud_db
networks:
- default
- nextcloud
environment:
- MYSQL_HOST=nextcloud_db
- MYSQL_PASSWORD=kFFlPYVvBqtomc8
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TRUSTED_PROXIES=172.18.0.0/16
# - OVERWRITEPROTOCOL=https
# - OVERWRITEHOST=example.com
logging:
options:
max-size: "5m"
max-file: "3"
nextcloud_db:
image: yobasystems/alpine-mariadb:10.4.17
container_name: nextcloud_db
volumes:
- ./volumes/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=N6hhfsr0jCCERyO
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=kFFlPYVvBqtomc8
restart: unless-stopped
networks:
- nextcloud
logging:
options:
max-size: "5m"
max-file: "3"
pihole:
container_name: pihole
image: pihole/pihole:latest
hostname: HomePi
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "8008:80/tcp"
# - "443:443/tcp"
environment:
TZ: 'Europe/Berlin'
WEBPASSWORD: 'vtCUw3uFcL7RDDJ'
# ServerIP: REPLACEME
# ServerIPv6: REPLACEME
# IPv6: 'true'
volumes:
- ./volumes/pihole/etc-pihole/:/etc/pihole/
- ./volumes/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/
- ./volumes/pihole/hosts:/etc/hosts
dns:
- 127.0.0.1
- 1.1.1.1
# Recommended but not required (DHCP needs NET_ADMIN)
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
logging:
options:
max-size: "5m"
max-file: "3"
portainer:
container_name: portainer
image: portainer/portainer-ce
restart: unless-stopped
ports:
- "8000:8000"
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./volumes/portainer/data:/data
tasmoadmin:
container_name: tasmoadmin
image: raymondmm/tasmoadmin
restart: unless-stopped
ports:
- "8089:80"
volumes:
- ./volumes/tasmoadmin/data:/data
Die docker-compose.yml sieht jetzt wahrscheinlich ähnlich aus wie meine.
Jetzt die Startseite kurz bearbeiten.
Code: Alles auswählen
sudo nano /home/pi/ei23-docker/volumes/ei23/web/programs.json
Wie man sieht ist das simpel aufgebaut. Was angezeigt werden soll bekommt ein „true“ was nicht angezeigt werden soll wird geändert nach „false“
Die Anzeige für Grafana wird gleich wieder eingeschaltet, man will ja „Solaranzeige“ sehen.
Nun einmal den Haufen neu starten.
Code: Alles auswählen
sudo reboot
In Portainer die Container anzeigen lassen. Wahrscheinlich werden Influxdb und mosquitto noch angezeigt. Hacken machen und löschen.
Code: Alles auswählen
bash ei23.sh dc
Code: Alles auswählen
sudo mc
Code: Alles auswählen
cd home/pi/ei23-docker/volumes/
Code: Alles auswählen
bash ei23.sh dc
Raspi neu starten
Code: Alles auswählen
sudo reboot
Wieder die Docker-compose datei öffnen
Code: Alles auswählen
sudo nano /home/pi/ei23-docker/docker-compose.yml
services:
und
# startpage for ei23-SmartHomeServervor einfügen.
Sollte so aussehen:
Hier das Template für Solaranzeige
Code: Alles auswählen
solaranzeige:
image: takealug/solaranzeige:arm64v8
container_name: Solaranzeige
environment:
- PUID=99
- PGID=100
- TIMEZONE=Europe/Berlin
- UPDATE=no
- MOSQUITTO=yes
- INFLUXDB=yes
volumes:
- ./volumes/solaranzeige/data/solaranzeige:/solaranzeige
- ./volumes/solaranzeige/data/pvforecast:/pvforecast
- ./volumes/solaranzeige/data/influx:/var/lib/influxdb
- ./volumes/solaranzeige/data/grafana:/var/lib/grafana
- ./volumes/solaranzeige/data/www:/var/www
tmpfs:
- /var/log
- /tmp
ports:
- "3000:3000"
- "1883:1883"
- "8080:80"
- "8086:8086"
restart: unless-stopped
Abspeichern neu starten und Docker compoese ausführen
bash ei23.sh dc
Wenn das fertig ist mit Portainer kurz schauen wie der Name vom Container von Solaranzeige ist oder mit
Code: Alles auswählen
docker ps
Bei mir ist das fad5fe925e40_Solaranzeige
Code: Alles auswählen
docker exec -ti fad5fe925e40_Solaranzeige /solaranzeige/setup
Auf Grafana klicken und mit Username: admin und Passwort: solaranzeige anmelden.
Das Zahnrad klicken und „Data Sources“ auswählen.
Die Datenbank „Solaranzeige“ anklicken und die richtige Datenbank einstellen:
Das gleiche mit der Datenbank „Steuerung“ machen.
Jetzt sollte Solaranzeige in dieser Dockerumgebung laufen. Der MQTT Broker und der Influxdb server sollten sich innerhalb deines heimischen Netzwerks nutzen lassen.
################################################################
Um weitere Tools zu installieren per ssh in den Ordner schauen
Code: Alles auswählen
home/pi/ei23-docker/compose-templates
Code: Alles auswählen
iobroker:
restart: unless-stopped
image: buanet/iobroker:latest
container_name: iobroker
hostname: iobroker
ports:
- "8081:8081"
volumes:
- ./volumes/iobroker:/opt/iobroker
Auf die Ports achten das die nicht doppelt belegt sind und nach einem
Code: Alles auswählen
bash ei23.sh dc
Ändere
Code: Alles auswählen
sudo nano /home/pi/ei23-docker/volumes/ei23/web/programs.json
Browsercache leeren nicht vergessen.
Code: Alles auswählen
strg+shift+del