├── .gitignore
├── DOCS
├── DE
│ ├── docs
│ │ ├── hardware
│ │ │ ├── edge-devices.md
│ │ │ ├── server.md
│ │ │ └── structure.md
│ │ ├── index.md
│ │ ├── js
│ │ │ └── matomo.js
│ │ ├── media
│ │ │ ├── ei23.svg
│ │ │ └── favicon.png
│ │ ├── software
│ │ │ ├── esphome.md
│ │ │ ├── grafana.md
│ │ │ ├── homeassistant.md
│ │ │ ├── immich.md
│ │ │ ├── influx.md
│ │ │ ├── lms.md
│ │ │ ├── mqttexplorer.md
│ │ │ ├── nextcloud.md
│ │ │ ├── nginxproxy.md
│ │ │ ├── nodered.md
│ │ │ ├── overview.md
│ │ │ ├── paperlessngx.md
│ │ │ ├── traefik.md
│ │ │ ├── uptimekuma.md
│ │ │ ├── vaultwarden.md
│ │ │ ├── vscode.md
│ │ │ └── wireguard.md
│ │ ├── start
│ │ │ ├── acceptance.md
│ │ │ ├── backuprestore.md
│ │ │ ├── docker-compose.md
│ │ │ ├── ei23-dashboard.md
│ │ │ ├── faq.md
│ │ │ ├── install.md
│ │ │ ├── remote-access.md
│ │ │ ├── security-monitoring.md
│ │ │ ├── shortcuts.md
│ │ │ └── update.md
│ │ └── stylesheets
│ │ │ └── extra.css
│ └── mkdocs.yml
├── EN
│ ├── docs
│ │ ├── hardware
│ │ │ ├── edge-devices.md
│ │ │ ├── server.md
│ │ │ └── structure.md
│ │ ├── index.md
│ │ ├── js
│ │ │ └── matomo.js
│ │ ├── media
│ │ │ ├── ei23.svg
│ │ │ └── favicon.png
│ │ ├── software
│ │ │ ├── esphome.md
│ │ │ ├── grafana.md
│ │ │ ├── homeassistant.md
│ │ │ ├── immich.md
│ │ │ ├── influx.md
│ │ │ ├── lms.md
│ │ │ ├── mqttexplorer.md
│ │ │ ├── nextcloud.md
│ │ │ ├── nginxproxy.md
│ │ │ ├── nodered.md
│ │ │ ├── overview.md
│ │ │ ├── paperlessngx.md
│ │ │ ├── traefik.md
│ │ │ ├── uptimekuma.md
│ │ │ ├── vaultwarden.md
│ │ │ ├── vscode.md
│ │ │ └── wireguard.md
│ │ ├── start
│ │ │ ├── acceptance.md
│ │ │ ├── backuprestore.md
│ │ │ ├── docker-compose.md
│ │ │ ├── ei23-dashboard.md
│ │ │ ├── faq.md
│ │ │ ├── install.md
│ │ │ ├── remote-access.md
│ │ │ ├── security-monitoring.md
│ │ │ ├── shortcuts.md
│ │ │ └── update.md
│ │ └── stylesheets
│ │ │ └── extra.css
│ └── mkdocs.yml
└── guidelines.md
├── EN
├── docs
│ └── mkdocs.yml
└── web
│ ├── 404.html
│ ├── bottom-logo.html
│ ├── dashboard-head.html
│ ├── index.html
│ ├── localnet.html
│ ├── navbar.html
│ ├── server.html
│ └── static
│ └── programs.json
├── LICENSE
├── README.md
├── de-file.txt
├── ei23-docker
├── backup.sh
├── compose_templates
│ ├── adguardhome.yml
│ ├── archivebox.yml
│ ├── awtrix.yml
│ ├── bitwarden.yml
│ ├── blocky.yml
│ ├── deconz.yml
│ ├── domoticz.yml
│ ├── duplicati.yml
│ ├── ei23.yml
│ ├── env
│ │ ├── immich.env
│ │ └── n8n.env
│ ├── esphome.yml
│ ├── fhem.yml
│ ├── fireflyiii.yml
│ ├── fooocus.yml
│ ├── freepbx-asterisk.yml
│ ├── gitlab.yml
│ ├── go2rtc.yml
│ ├── gotify.yml
│ ├── grafana.yml
│ ├── grocy.yml
│ ├── heimdall.yml
│ ├── homeassistant-matterserver.yml
│ ├── homeassistant.yml
│ ├── homebridge.yml
│ ├── immich.yml
│ ├── influxdb.yml
│ ├── influxdb18.yml
│ ├── influxdb2.yml
│ ├── iobroker.yml
│ ├── jellyfin.yml
│ ├── lyrionmusicserver.yml
│ ├── mealie.yml
│ ├── mosquitto.yml
│ ├── motioneye.yml
│ ├── mqtt-explorer.yml
│ ├── music-assistant-server.yml
│ ├── n8n.yml
│ ├── nextcloud-network.yml
│ ├── nextcloudofficial.yml
│ ├── nextcloudpi.yml
│ ├── nginxproxymanger.yml
│ ├── nginxssl.yml
│ ├── nocodb.yml
│ ├── octoprint.yml
│ ├── ollama.yml
│ ├── open-webui.yml
│ ├── openedai-speech.yml
│ ├── openhab.yml
│ ├── pairdrop.yml
│ ├── paperlessngx.yml
│ ├── perplexica.yml
│ ├── pihole.yml
│ ├── plex.yml
│ ├── portainer.yml
│ ├── rhasspy.yml
│ ├── stirling-pdf.yml
│ ├── syncthing.yml
│ ├── tasmoadmin.yml
│ ├── teamspeak.yml
│ ├── teddycloud.yml
│ ├── teslamate.yml
│ ├── theengs-gateway.yml
│ ├── timescaledb.yml
│ ├── traefik.yml
│ ├── uptime-kuma.yml
│ ├── vscode.yml
│ ├── watchyourlan.yml
│ ├── whisper-webui.yml
│ ├── wireguard.yml
│ ├── wyoming-openwakeword.yml
│ ├── wyoming-piper.yml
│ ├── wyoming-whisper.yml
│ └── zigbee2mqtt.yml
├── custom_ha_addons-example.sh
├── docker-compose.yml
├── env
│ └── immich.env
├── firstinstall.txt
├── flows
│ ├── CreateMainDB.json
│ ├── DVB-T-433Mhz.json
│ ├── Pi-Hardware-Stats-to-InfluxDB.json
│ ├── Speedtest.json
│ ├── Telegram-Examples.json
│ └── TutorialUpdate.json
├── led_service.sh
├── settings.txt
├── update.sh
└── volumes
│ ├── ei23
│ ├── config.ini
│ ├── docs
│ │ ├── docs
│ │ │ ├── index.md
│ │ │ ├── media
│ │ │ │ ├── ei23.svg
│ │ │ │ └── favicon.png
│ │ │ ├── sample.md
│ │ │ └── stylesheets
│ │ │ │ ├── codehilite.css
│ │ │ │ └── dark_theme.css
│ │ └── mkdocs.yml
│ ├── ei23-supervisor.py
│ ├── ei23.service
│ ├── scripts
│ │ └── yaml_editor.py
│ └── web
│ │ ├── 404.html
│ │ ├── bottom-logo.html
│ │ ├── dashboard-head.html
│ │ ├── index.html
│ │ ├── localnet.html
│ │ ├── navbar.html
│ │ ├── server.html
│ │ ├── static
│ │ ├── dist
│ │ │ ├── Karla-700.eot
│ │ │ ├── Karla-700.svg
│ │ │ ├── Karla-700.ttf
│ │ │ ├── Karla-700.woff
│ │ │ ├── Karla-700.woff2
│ │ │ ├── Karla-regular.eot
│ │ │ ├── Karla-regular.svg
│ │ │ ├── Karla-regular.ttf
│ │ │ ├── Karla-regular.woff
│ │ │ ├── Karla-regular.woff2
│ │ │ ├── bootstrap.bundle.min.js
│ │ │ ├── bootstrap.min.css
│ │ │ ├── cropped-favicon-180x180.png
│ │ │ ├── cropped-favicon-192x192.png
│ │ │ ├── cropped-favicon-270x270.png
│ │ │ ├── cropped-favicon-32x32.png
│ │ │ ├── favicon-150x150.png
│ │ │ ├── favicon-300x300.png
│ │ │ ├── favicon-768x768.png
│ │ │ ├── jquery-3.5.1.min.js
│ │ │ └── karla.css
│ │ ├── img
│ │ │ ├── adguardhome.png
│ │ │ ├── asterisk-freepbx.png
│ │ │ ├── avmfritzbox.png
│ │ │ ├── awtrix.png
│ │ │ ├── bitwarden.png
│ │ │ ├── camera.png
│ │ │ ├── deconz.png
│ │ │ ├── docs.png
│ │ │ ├── domoticz.png
│ │ │ ├── duplicati.png
│ │ │ ├── ei23.svg
│ │ │ ├── esphome.png
│ │ │ ├── fhem.png
│ │ │ ├── fireflyiii.png
│ │ │ ├── gotify.png
│ │ │ ├── grafana.png
│ │ │ ├── grocy.png
│ │ │ ├── homeassistant.png
│ │ │ ├── homebridge.png
│ │ │ ├── immich.png
│ │ │ ├── iobroker.png
│ │ │ ├── jellyfin.png
│ │ │ ├── kodi.png
│ │ │ ├── lyrionmusicserver.png
│ │ │ ├── motioneye.png
│ │ │ ├── mqtt-explorer.png
│ │ │ ├── music-assistant-server.png
│ │ │ ├── nextcloudofficial.png
│ │ │ ├── nextcloudpi.png
│ │ │ ├── nginxproxymanger.png
│ │ │ ├── nodered.png
│ │ │ ├── octoprint.png
│ │ │ ├── omv.png
│ │ │ ├── openhab.png
│ │ │ ├── paperlessngx.png
│ │ │ ├── pihole.png
│ │ │ ├── plex.png
│ │ │ ├── portainer.png
│ │ │ ├── proxmox.png
│ │ │ ├── rhasspy.png
│ │ │ ├── router.png
│ │ │ ├── stirlingpdf.png
│ │ │ ├── syncthing.png
│ │ │ ├── synology.png
│ │ │ ├── tasmoadmin.png
│ │ │ ├── teddycloud.png
│ │ │ ├── teslamate.png
│ │ │ ├── traefik.png
│ │ │ ├── uptime-kuma.png
│ │ │ ├── volumio.png
│ │ │ ├── vscode.png
│ │ │ └── wordpress.png
│ │ └── programs.json
│ │ └── tree.html
│ ├── homeassistant
│ └── config
│ │ ├── automations.yaml
│ │ ├── configuration.yaml
│ │ ├── groups.yaml
│ │ ├── scenes.yaml
│ │ ├── scripts.yaml
│ │ └── www
│ │ └── wallpaper
│ │ └── ei23-tiles.svg
│ ├── mosquitto
│ └── config
│ │ ├── mosquitto.conf
│ │ └── pwfile
│ ├── pihole
│ └── hosts
│ └── traefik
│ └── traefik
│ ├── dynamic
│ └── config.yml
│ └── traefik.yml
├── ei23.sh
├── en-file.txt
└── updates
├── 1.00.sh
├── 1.01.sh
├── 1.02.sh
├── 1.03.sh
├── 1.04.sh
├── 1.10.sh
├── 1.11.sh
└── 1.12.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # just ignore me
--------------------------------------------------------------------------------
/DOCS/DE/docs/hardware/edge-devices.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/hardware/server.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/hardware/structure.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/index.md:
--------------------------------------------------------------------------------
1 | # ei23 Smart Home Installationsskript
2 |
3 | Hi und danke für dein Interesse an der Dokumentation! Damit du dir schnell einen Überblick verschaffen kannst, habe ich den bisherigen Stand meines Smart Home Skripts in einem Video zusammengefasst:
4 | [](https://www.youtube.com/watch?v=pKUv_rXONas)
5 |
6 | ## Warum brauchst du das Skript?
7 |
8 | Zuerst zur Motivation hinter meinem Skript und seiner Veröffentlichung:
9 |
10 | Um das Jahr 2017 plante ich die Installation eines Smart Home Systems. Es gab verschiedene Optionen zur Auswahl, und ich war unsicher, welches Programm das Richtige für mich war. Es war auch klar, dass ich einen Computer, in diesem Fall einen Raspberry Pi, dauerhaft betreiben würde. Es wäre schade gewesen, wenn darauf nur eine einzige Anwendung laufen würde. Zu diesem Zeitpunkt hatte ich bereits einige Experimente mit NodeRED durchgeführt und die Vorteile der GPIOs des Raspberry Pi geschätzt.
11 |
12 | Obwohl mir das [Home Assistant System](https://home-assistant.io) insgesamt gut gefiel, bedeutete die Verwendung davon, dass ich die Flexibilität eines herkömmlichen Linux-Systems aufgeben musste. Deshalb habe ich einen Kompromiss gefunden: Mein Installations-Skript übernimmt die Installation und Einrichtung aller erforderlichen Programme und Einstellungen, und wenn möglich, werden alle Programme in Docker-Containern betrieben. Dies erleichtert die Wartung und Experimente am System erheblich und bietet mehr Komfort.
13 |
14 | Das Skript entstand also aus der Notwendigkeit heraus, mehr Flexibilität, Anpassungsmöglichkeiten und Programme anzubieten als das Home Assistant Betriebssystem. Für diejenigen, die ihr System selbst erweitern möchten, ohne einen weiteren Server / Raspberry Pi oder virtuelle Maschinen parallel zu betreiben, bietet dieses Skript eine Lösung. Zuerst werden notwendige und nützliche Programme und Frameworks wie Docker, Python, etc. auf dem rohen Raspbian OS oder auch Debian installiert. Anschließend wird NodeRED in nativer Form installiert, nicht als Docker-Container. Dies bietet zusätzliche Funktionen und eine einfachere Konfiguration ohne lästige Workarounds. Darüber hinaus können Log2Ram (um SD-Karten-Schreibvorgänge zu reduzieren), RTL_SDR Software (zum Beispiel für 433MHz Sensoren) und rpiClone (für einfache Backups) direkt mit installiert werden. Das Skript automatisiert derzeit die Installation der folgenden Programme und enthält teilweise auch bereits einige Addons (eigene Erweiterungen sind natürlich möglich).
15 |
16 | ## Automatisierte Installation mit dem ei23 Smart Home Installationsskript
17 |
18 | 
19 |
20 | Ursprünglich war das System nur für den Raspberry Pi (armv7) verfügbar. Inzwischen empfehle ich jedoch die Verwendung eines 64-Bit-Systems (arm64). Das Skript ist auch auf Debian 12 und AMD64-Architekturen (einschließlich der meisten Docker-Container) funktionsfähig.
21 |
22 | Du kannst das Skript ausschließlich über [meinen Newsletter](https://ei23.de/newsletter) beziehen. Dies ermöglicht es mir, einerseits einen kleinen Marketingeffekt zu erzielen und andererseits die Möglichkeit, dich zeitnah über Änderungen oder Sicherheitslücken zu informieren.
23 |
24 | ## Installation
25 |
26 | Die Installation ist **selbsterklärend**. Nach der [Anmeldung zum Newsletter](https://ei23.de/newsletter) bekommst du zwei Kommandozeilen zugeschickt, die du über die Eingabekonsole oder SSH ausführen musst. Die erste Zeile lädt das Skript (Bash-Skript) herunter, und mit der zweiten Zeile führst du es aus.
27 |
28 | ## Unterstützung
29 |
30 | Die Weiterentwicklung, Wartung und der Support von Softwareprojekten kosten viel Arbeit und Zeit. Zu erwarten, dass es kostenlos ist, ist falsch. Forderungen ohne Gegenleistung akzeptiere auch ich nicht auf Dauer.
31 |
32 | Denkt daher also über selbstlose Unterstützung dieses (oder anderer) Projekte nach. Das kann in Form von nützlichen Beiträgen, Hinweisen oder auch einfach in finanzieller Form passieren. [Das geht hier](https://ei23.de/donate/).
33 |
34 | ## Statistik
35 |
36 | 
37 |
38 | Viel Spaß beim Tüfteln und unabhängig bleiben!
39 |
40 | ```
41 | Viele Grüße
42 | Felix von ei23
43 | ```
44 |
45 | ---
--------------------------------------------------------------------------------
/DOCS/DE/docs/js/matomo.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/media/ei23.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/media/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/DOCS/DE/docs/media/favicon.png
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/esphome.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/grafana.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/homeassistant.md:
--------------------------------------------------------------------------------
1 | # Home Assistant
2 | (Noch im Aufbau)
3 |
4 | ## Von Home Assistant OS zu Home Assistant Docker vom ei23 Skript wechseln
5 | Home Assistant OS ist [etwas anders](/software/homeassistant/#home-assistant-docker-vs-supervised-home-assistant) aufgebaut, aber letztlich läuft exakt die selbe Version vom Home Assistant wie in meinem Skript.
6 | Um ein Backup von Home Assistant OS zu Home Assistant Docker vom ei23 Skript wiederherzustellen ist folgendes nötig.
7 |
8 | 1. Erstelle mit Home Assistant OS ein Backup über die Backupfunktion der Weboberfläche.
9 | 2. Speichere die *.tar Datei. Die Struktur ist die folgende `backup.tar\homeassistant.tar.gz\homeassistant.tar\data\`
10 | 3. kopiere die Inhalte in diesen Ordner von meinem System `/home/user/ei23-docker/volumes/homeassistant/config`
11 | 4. Starte dein System oder den Home Assistant Docker Container `docker restart homeassistant` neu.
12 | 5. Nach einem Neustart von Home Assistant Docker wird das Backup eingelesen und du solltest dein altbekanntes System wiederfinden.
13 |
14 | ## Home Assistant Docker vs. Supervised Home Assistant
15 |
16 | Es gibt zwei Versionen von Home Assistant:
17 |
18 | 1. Home Assistant Docker
19 | 2. Supervised Home Assistant (auch bekannt als Home Assistant OS)
20 |
21 | In diesem Skript verwenden wir Home Assistant Docker. Das hat zwar Nachteile auf der einen Seite, bietet jedoch auf der anderen Seite deutlich mehr Vorteile. Die "Nachteile" beinhalten das Fehlen von "Addons" im Sinne von Home Assistant OS und die notwendige Konfiguration von Hardware über die [docker-compose.yml](/start/docker-compose). Es ist wichtig zu erwähnen, dass die Addons technisch gesehen vorkonfigurierte Docker Container sind. Der Supervisor übernimmt lediglich einen Teil der Konfiguration. Dieses Skript bietet jedoch die [docker-compose Templates](/start/docker-compose), die die Konfiguration vereinfachen.
22 | Das [Einbinden von Hardware](#hardware) ist mit ein paar Anweisungen außerdem nicht kompliziert.
23 |
24 | Ein Nachteil von Home Assistant OS ist, dass wenn ein "Addon" nicht für Home Assistant OS verfügbar ist, man darauf angewiesen ist, dass die Entwickler oder die Community ein solches erstellen. Die Anzahl der verfügbaren Docker Images hingegen ist unverhältnismäßig größer, was einen großen Vorteil darstellt. Außerdem ist es nicht sehr schwierig, eigene Docker Images zu erstellen oder notfalls native Programme auf dem Linux-Host-Betriebssystem zu installieren. Die Installation von Software auf dem Host-System wird jedoch nur eingeschränkt empfohlen.
25 |
26 | Es gibt gelegentlich ein Missverständnis, dass die Docker-Version von Home Assistant weniger Möglichkeiten bietet. Das ist nur der Fall, wenn man nicht weiß, wie man sie richtig nutzt. Tatsächlich schränkt Home Assistant OS diese Möglichkeiten aus Gründen der Nutzerfreundlichkeit aktiv ein. Oder man könnte es bei Apple ausdrücken: "think different" ;-)
27 |
28 | Deshalb nutzen wir Home Assistant Docker.
29 |
30 | ## Einbinden von Hardware
31 | Bereits teilweise in [docker-compose](/start/docker-compose) beschrieben.
32 |
33 | ## Home Assistant über HTTPS absichern
34 | Siehe [Reverse Proxy mit Traefik](/software/traefik) oder [Reverse Proxy mit Nginx](/software/nginxproxy)
35 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/immich.md:
--------------------------------------------------------------------------------
1 | # Immich.app lokale Foto Cloud
2 | Immich.app ist ein Open Source Projekt das viele Foto-Cloud Lösungen in den Schatten stellt, nicht nur weil es vermeintlich "kostenlos" (im Sinne von Open Source) ist, sondern weil es auf dem eigenen Server läuft.
3 |
4 | Dazu habe ich ein Video:
5 | [](https://www.youtube.com/watch?v=8IWbTQAdxZ8)
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/influx.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/lms.md:
--------------------------------------------------------------------------------
1 | # Logitech Media Server & Squeezelite
2 | Mit dem Logitech Media Server und Squeezelite kann man sich mit ein systemunabhängiges Multi-Room-Audio System baut. Es lässt sich perfekt in Home Assistant integrieren, die Lautsprecher können synchronisiert werden und es spielt eigene Musik vom Home Server, Internetradio und auch Dienste wie Spotify laufen!
3 | Mir gefällt es richtig gut!
4 |
5 | Dazu habe ich ein Video:
6 | [](https://www.youtube.com/watch?v=DwotxrCvHTA)
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/mqttexplorer.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/nextcloud.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/nginxproxy.md:
--------------------------------------------------------------------------------
1 | [nginxproxymanager.com](https://nginxproxymanager.com/)
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/nodered.md:
--------------------------------------------------------------------------------
1 | # Überblick
2 | TODO...
3 | Hier werden wahrscheinlich Videos eingefügt
4 |
5 | # Nodes
6 | Nodes sind die zentralen Komponenten von NodeRED.
7 | [Subflows](#subflows) können optisch wie Nodes aussehen und sich auch wie solche verhalten, sind technisch allerdings nur eine Zusammensetzung von Nodes.
8 |
9 | ## Einrichtung vom MQTT Node (Mosquitto)
10 | ToDo
11 |
12 | ## Einrichtung vom Home Assistant Node
13 | ToDo
14 |
15 | ## Einrichtung vom Telegram Node
16 | ToDo
17 |
18 | ## Inject Node
19 | ToDo
20 |
21 | ## Debug Node
22 | ToDo
23 |
24 | ## Config Nodes
25 | ToDo
26 |
27 | # Flows
28 |
29 | ## Seiten
30 | ToDo
31 |
32 | ## Subflows
33 | ToDo
34 |
35 | ## Flow Bibliothek
36 | ToDo
37 |
38 | # Variablen und Kontext
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/overview.md:
--------------------------------------------------------------------------------
1 | # Überblick
2 | ``` yaml
3 | theme:
4 | features:
5 | - content.code.annotate # (1)
6 | - content.code.yaaa
7 | ```
8 |
9 | 1. :man_raising_hand: I'm a code annotation! I can contain `code`, __formatted
10 | text__, images, ... basically anything that can be written in Markdown.
11 |
12 | Lorem ipsum dolor sit amet, (1) consectetur adipiscing elit.
13 | { .annotate }
14 |
15 | 1. irgendwas
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/paperlessngx.md:
--------------------------------------------------------------------------------
1 | # Paperless-NGX
2 |
3 | Paperless-NGX ist eine freie Dokumentenverwaltungssoftware mit Texterkennung (OCR).
4 | [docs.paperless-ngx.com](https://docs.paperless-ngx.com/)
5 | Damit ist die Digitalisierung von Dokumenten im Papierformat, aber auch die Zusammenführung der "digitalen Cousins" im PDF oder Bildformat sehr schön gelöst.
6 | Es existieren Apps dafür und es ist ein wirklich hilfreiches Tool für die Verwaltung von Papierkram.
7 | Ich scanne mittlerweile alles was reinkommt direkt ein und lege es dann einfach nur noch in einen Karton und im Prinzip könnte ich das Papier auch direkt verheizen (hab aber keinen Ofen)
8 | PDF Dateien kopiere ich auch direkt rein, so habe ich alles direkt beisammen.
9 | Daher ist Paplerless-NGX auch fester Bestandteil von meinem SmartHome Skript.
10 |
11 | Video dazu:
12 | [](https://www.youtube.com/watch?v=qyXz5gJnu_8)
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/uptimekuma.md:
--------------------------------------------------------------------------------
1 | # Uptime Kuma
2 | Uptime Kuma ist ein einfaches Monitoring Tool. Damit kann man überwachen welche Dienste und Geräte ordnungsgemäß laufen und ggf. eine Mitteilung über eine Störung versenden.
3 | Das ist durchaus praktisch.
4 |
5 | Darum habe ich dazu auch ein eigenes Video gemacht
6 | [](https://www.youtube.com/watch?v=Nr-re1kszvk)
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/vaultwarden.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/vscode.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/software/wireguard.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/acceptance.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/backuprestore.md:
--------------------------------------------------------------------------------
1 |
2 | ## Hier ein Video zum Backup und dessen Wiederherstellung
3 | Das Skript wird demnächst um eine vereinfachte Restorefunktion erweitert.
4 | [](https://www.youtube.com/watch?v=_yG0uWeRCDI)
5 |
6 | ## Wechsel vom Home Assistant OS zu Home Assistant Docker vom ei23 Skript
7 | Wenn du vom Home Assistant OS zum ei23 Skript wechselst, findest du eine [Beschreibung zur Wiederherstellung](/software/homeassistant/#von-home-assistant-os-zu-home-assistant-docker-vom-ei23-skript-wechseln) hier.
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/docker-compose.md:
--------------------------------------------------------------------------------
1 | # Programme als Container installieren
2 |
3 | Mach dich mit dem Bearbeiten der [docker-compose.yml](https://docs.docker.com/compose/compose-file/compose-file-v3/) vertraut. Diese findest du unter `/home/[user]/ei23-docker/docker-compose.yml`.
4 |
5 | **Ich habe dazu ein ausführliches Video:**
6 | [](https://www.youtube.com/watch?v=teV-yfBoTuA)
7 |
8 | Für die Bearbeitung musst du mit dem Benutzer "root" angemeldet sein oder z.B. `sudo nano /home/[user]/ei23-docker/docker-compose.yml` verwenden, um Schreibrechte zu bekommen. Alternativ kannst du die Datei auch im Webbrowser mit [vscode](/software/vscode/). Es liegen Templates, also "Installationsschablonen," zum nachträglichen Installieren in `/home/pi/ei23-docker/compose_templates` bereit. Du kannst sie benutzen und entsprechend in die docker-compose.yml kopieren.
9 |
10 | Nach der Anpassung der docker-compose.yml (Achtung, falsche Zeileneinrückung kann dazu führen, dass die Installation nicht richtig ausgeführt wird) musst du nur noch `ei23` und dann "Docker Compose" bzw. `ei23 dc` ausführen.
11 |
12 | Je nach Architektur (armv7/arm64/amd64) kann es vorkommen, dass es kein aktuelles Image des Containers gibt. Dies kann man beispielsweise unter [hub.docker.com](https://hub.docker.com/) nachschauen. Ggf. muss man auf ein älteres Image zurückgreifen - im Beispiel unten wurde `:1.24.0` angehängt.
13 |
14 | Auch kann es vorkommen, dass ein Port bereits belegt ist. Das Routing für Docker funktioniert wie die Portfreigabe an einem normalen Router. Die Notation ist folgendermaßen (auch bei Volumes und Devices):
15 |
16 | ```yaml
17 | Hostsystem:Container
18 | ```
19 |
20 | Man kann so einfach beliebige Ports weiterleiten. Im Beispiel unten steht `8080` für den externen Port (host), also der Port am Computer ansprechbar ist. Der hintere Port (container) ist nur Docker-intern erreichbar. Das funktioniert gleichermaßen für Ordner, Geräte, etc. im Hostsystem - Sehr praktisch und sicher!
21 |
22 | Beispiel:
23 | ```yaml
24 | image: nginx:1.24.0
25 | volumes:
26 | - ./volumes/nginx:/etc/nginx/templates
27 | ports:
28 | - 8080:80 #(1)
29 | devices:
30 | - /dev/video0:/dev/video0
31 | ```
32 |
33 | 1. `8080` ist hier der externe Port (host) und `80` der interne Port (container). Im Prinzip genau wie bei einem Router/Modem.
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/ei23-dashboard.md:
--------------------------------------------------------------------------------
1 | # Das ei23 Dashboard / Der Supervisor
2 | 
3 | Seit der Version 1.1 Von ei23 Smart Home Server hat sich das Dashboard grundlegend verändert.
4 | Jetzt ist es nicht nur mehr die Anzeige der verfügbaren Programme, sondern auch ein Supervisor. Zumindest ist der Unterbau schon mal so weit. Das heißt, mit dem Dashboard kann man bald auch einige Programme nachinstallieren und auch Systemfunktionen verwalten.
5 |
6 | ## Programme im Dashboard anpassen
7 |
8 | Um Programme und externe Links wie z.B. Kameras oder andere Geräte oder auch Webseiten auf dem Dashboard zu verknüpfen, gibt es die Möglichkeit, die programs.json anzupassen.
9 | Die Datei befindet sich unter `/home/[user]/ei23-docker/volumes/ei23/web/static/programs.json`
10 | !!!note
11 | [user] muss an dieser Stelle durch deinen Nutzernamen ersetzt werden.
12 |
13 | ### Erklärung der `programs.json`
14 |
15 | ```json
16 | {"programs": [
17 | {"active": true, "port": "", "custom_url": "http://10.1.1.11:1880", "name": "NodeRED", "title": "Garage", "img": "img/nodered.png"}, // (1)
18 | {"active": true, "port": "4004", "custom_url": "", "name": "MQTT-Explorer", "title": "MQTT-Explorer", "img": "img/mqtt-explorer.png"}, // (2)
19 | {"active": false, "port": "", "custom_url": "http://10.1.1.12", "name": "Kamera Garten", "title": "Schöner Garten", "img": "img/camera.png"}, // (3)
20 | {"active": true, "port": "3000", "custom_url": "", "name": "Grafana", "title": "Datenvisualisierung", "img": "img/grafana.png"} // (4)
21 | ]}
22 | ```
23 |
24 | 1. Hier ist "http://10.1.1.11:1880" eine Custom URL, diese kann auch eine externe Adresse sein.
25 | 2. Wenn keine Custom URL gesetzt ist, wird der Port mit IP-Adresse des Geräts kombiniert. Beispielsweise http://10.1.1.2:4004
26 | 3. Da Active auf False gesetzt ist, wird dieser Eintrag nicht gezeigt. Außerdem wird hier ein generisches Icon genutzt. Davon stehen einige im img Ordner zur Verfügung.
27 | 4. Im letzten Eintrag ist es wichtig, dass kein Komma hinter der geschweiften Klammer angehängt wird.
28 |
29 | !!!note
30 | 1. Hier ist "http://10.1.1.11:1880" eine Custom URL, diese kann auch eine externe Adresse sein.
31 | 2. Wenn keine Custom URL gesetzt ist, wird der Port mit IP-Adresse des Geräts kombiniert. Beispielsweise http://10.1.1.2:4004
32 | 3. Da Active auf False gesetzt ist, wird dieser Eintrag nicht gezeigt. Außerdem wird hier ein generisches Icon genutzt. Davon stehen einige im img Ordner zur Verfügung.
33 | 4. Im letzten Eintrag ist es wichtig, dass kein Komma hinter der geschweiften Klammer angehängt wird.
34 |
35 |
36 | ## Netzwerk: Geräte im Netzwerk auflisten und kontrollieren
37 |
38 | 
39 | Auf der Netzwerkseite gibt es die Möglichkeit, Geräte im Netzwerk zu scannen, deren Hostname, IP-Adresse, MAC-Adresse anzuzeigen und eine Herstellerinfo. Wenn ein Webport 80 erkannt wird, das heißt, dass das Gerät eine Weboberfläche zur Verfügung stellt, wird diese direkt verlinkt und das Gerät blau markiert.
40 |
41 | ## Server: Installierte Docker Compose Programme überprüfen
42 |
43 | 
44 | In dieser Ansicht wird automatisch die [docker-compose.yml](docker-compose.md) nach installierten und laufenden Containern bzw. Programmen durchsucht und damit eine Liste erstellt und angezeigt.
45 | Ist ein Webport erkannt worden, wird das Programm dementsprechend markiert und kann auch direkt aufgerufen werden.
46 | Dies kann praktisch sein, um einen schnellen Überblick der konfigurierten Programme und deren Ports zu bekommen oder die Weboberfläche direkt zu erreichen oder zu prüfen, ob das Programm läuft.
47 | Auch wenn es automatisch passiert, kann es hilfreich sein, den Button für die Aktualisierung zu nutzen. So werden die Programme neu eingelesen und geprüft.
48 |
49 | Außerdem kann unter dieser Ansicht auf die Schnelle die eigene Dokumentation für den Home-Server neu generiert werden.
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/install.md:
--------------------------------------------------------------------------------
1 | ## Installation
2 |
3 | Dieses Projekt ist ein super einfaches, sauberes und schlankes Installations- und Wartungstool für eine große Anzahl von meist Docker-basierter Home-Automation- und Medien-Software, die leicht über ein sauberes, schlankes und anpassbares Web-Dashboard zugänglich ist. Es wurde für Debian und Raspberry OS entwickelt und funktioniert auf den meisten Architekturen. Vielleicht ist es nicht ganz so einfach zu konfigurieren wie zum Beispiel Home Assistant OS, aber dafür bietet es deutlich mehr Anpassungsoptionen und ermöglicht dir den Umgang mit der docker-compose.yml-Syntax zu erlernen, was ebenfalls ein großartiges Werkzeug ist. Und du musst nicht einmal Home Assistant verwenden, wenn du lieber OpenHAB oder IObroker nutzen möchtest – alles auf einem System.
4 |
5 | Viel Spaß, werde smart und unabhängig!
6 |
7 | ### Einfache Installation:
8 |
9 | Die einfache Installation ist selbsterklärend.
10 | Nach der Anmeldung für den Newsletter ([ENGLISCHER NEWSLETTER](https://ei23.com/newsletter) / [DEUTSCHER NEWSLETTER](https://ei23.de/newsletter)) erhältst du zwei Befehlszeilen, die du über die Konsole oder SSH ausführen musst.
11 | Die erste Zeile lädt das Skript (bash script) herunter, und die zweite Zeile führt es aus.
12 |
13 | *Warum Newsletter?*
14 |
15 | 1. Ich kann dich schnell über Sicherheitslücken und interessante neue Features informieren.
16 | 2. Der Aufbau einer Community wird einfacher.
17 | 3. Ein wenig Werbung für meine Arbeit und das Projekt ist möglich.
18 | 4. Und ich könnte heimlich bösartigen Code in dein Skript einfügen und ein Botnetz aus einer großen Anzahl von Servern erstellen! - Natürlich mache ich das nicht! Oder glaubst du, ich würde das tun? Jetzt bin ich verwirrt... Warum sollte ich das tun, sollte ich es tun? Jetzt bist du verwirrt? Mach einfach keinen Ärger! Ok, zurück zum Thema xD
19 |
20 | Die Dateien vom Newsletter sind identisch mit denen von Github, mit der Ausnahme einer eindeutigen USERID zum Herunterladen von Dateien von meinem Server und dem automatischen Setzen der LANGFILE, abhängig davon, welche Sprache vom Newsletter du wählst.
21 | Außerdem werde ich dich nicht unnötig belästigen, wenn du bedenken hast nutze halt eine Wegwerf-Mail... Dann bin ich allerdings traurig.
22 |
23 | ### Manuelle Installation:
24 |
25 | 1. Klone die Dateien in einen Ordner `git clone https://github.com/ei23com/diy-smart-home.git`
26 | 2. Füge die Sprachdatei deiner Wahl (de-file.txt / en-file.txt) in die ei23.sh ein und ersetze den Platzhalter "LANGFILE_PLACEHOLDER".
27 | 3. Installiere ein frisches Debian / Rasbian-System, melde dich per SSH oder Terminal an und erstelle einen Benutzer wie folgt: "useradd -m ei23" (oder einen anderen Namen).
28 | 4. Kopiere den gesamten Ordner "ei23-docker" in das Home-Verzeichnis des Benutzers (mit Root-Rechten).
29 | 5. Kopiere die ei23.sh in das Home-Verzeichnis des Benutzers.
30 | 6. Führe "bash ei23.sh part1" aus.
31 | 7. Folge den Anweisungen.
32 | 8. Nach dem Neustart führe "ei23" aus, das Skript wird dann die Installation abschließen.
33 |
34 | - Updates von ei23 funktionieren nicht bei manueller Installation (USERID aus dem Newsletter wird benötigt).
35 | - Du wirst keine Versionsnummer sehen und keine Informationen über neue Versionen erhalten (USERID aus dem Newsletter wird benötigt).
36 | - Alles andere funktioniert wie gewohnt.
37 |
38 | ## Nach der Installation
39 |
40 | Nach der Installation findest du auf dem http Port und der IP Adresse deines Servers das [ei23-Dashboard](/start/ei23-dashboard).
41 | Du kannst außerdem nun weitere Programme als [Docker Container installieren](/start/docker-compose)
42 |
43 | ## Weitere Fragen?
44 |
45 | Für alles weitere verweise ich auf die [Häufigen Fragen - FAQ](/start/faq)
46 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/remote-access.md:
--------------------------------------------------------------------------------
1 | #Noch im Aufbau
2 |
3 | Ich verweise zunächst auf die [Häufigen Fragen - FAQ](/start/faq)
4 |
5 | ## VPN
6 | Über ein VPN wie [Wireguard](/software/wireguard) kannst du ein virtuelles Kabel in dein Heimnetz legen und so von überall sicher (getunnelt) auf dein Heimnetz zugreifen.
7 |
8 | ## Reverse Proxy
9 | Über einen Reverse Proxy kannst du all deine Programme die lokal beispielsweise auf http://192.168.178.20:3000 auf eine Domain https://deinprogramm.deine-domain.de umleiten
10 |
11 | ### NGinx Proxy Manager
12 | Der [NGinx Proxy Manager](https://nginxproxymanager.com/) ist eine einfache Möglichkeit so einen Proxy einzurichten. Die Installation läuft über Docker und ein Template wird über das Skript zur Verfügung gestellt
13 |
14 | ### Traefik
15 | Der [Traefik Reverse Proxy](/software/traefik) ist in der Einrichtung etwas komplitzierter, lässt sich jedoch sehr gut automatisieren. Ich habe dazu eine Anleitung geschrieben
16 |
17 |
18 | ## SSH
19 | [SSH-Verbindungen mit Public Key (Schlüsseldatei) absichern](https://ei23.de/smarthome/ssh-verbindungen-mit-public-key-verfahren-absichern/)
20 |
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/security-monitoring.md:
--------------------------------------------------------------------------------
1 | # Sicherheit
2 |
3 | Sicherheit ist ein großes Thema, deswegen gehe ich zunächst nur ganz sporadisch darauf ein:
4 |
5 | - Wenn du nicht weißt, was du tust oder unsicher bist, lass es.
6 | - Grundsätzlich solltest du Ports nach außen nur öffnen, wenn du weißt, was du tust.
7 | - Alles nach dem Motto: **Nur viel wie nötig und so wenig wie möglich**
8 |
9 | Was [Fernzugriff](/start/remote-access) angeht, habe ich bereits einen groben Überblick erstellt.
10 |
11 | Ich verweise ansonsten auf die [Häufigen Fragen - FAQ](/start/faq)
12 |
13 | # Monitoring
14 |
15 | Bei einigen Programmen wird es mit der Zeit klar, dass man nicht mehr ohne kann.
16 | Also sollte man überwachen, ob das Programm ordnungsgemäß läuft. Beim Ausfall kann man so schnell reagieren oder automatisiert Aktionen ausführen. Dafür gibt es verschiedene Dienste, wie beispielsweise [Uptime Kuma](/software/uptimekuma).
17 | Aber auch hier sind die Lösungen sehr individuell und es gilt der Grundsatz Learning by Doing.
--------------------------------------------------------------------------------
/DOCS/DE/docs/start/shortcuts.md:
--------------------------------------------------------------------------------
1 | Du kannst diese Kurzbefehle nutzen
2 | --------------------------
3 | - `ei23 backup` - erstellt ein Backup
4 | - `ei23 dc` - führt Docker Compose aus
5 | - `ei23 docs` - erstellt deine eigenen Dokumente
6 | - `ei23 dstats` - zeigt den Docker-Status an
7 | - `ei23 du` - aktualisiert Docker-Images
8 | - `ei23 ei23update` - aktualisiert nur das ei23-Skript
9 | - `ei23 ei23upgrade` - notwendig bei einem Versionswechsel mit größeren Veränderungen
10 | - `ei23 fullreset X` - reinstalliert Container X und löscht alle Daten!!
11 | - `ei23 ha-addons` - aktualisiert Home Assistant Custom Addons
12 | - `ei23 install-rtl-sdr` - installiert RTL-SDR-Software
13 | - `ei23 newfunctions` - fügt neue Funktionen aus Skript-Updates hinzu
14 | - `ei23 setip` - setzt neue Standard-IP
15 | - `ei23 update` - führt ein vollständiges Update durch
--------------------------------------------------------------------------------
/DOCS/DE/docs/stylesheets/extra.css:
--------------------------------------------------------------------------------
1 | [data-md-color-scheme="slate"] {
2 | --md-hue: 200;
3 | --md-default-bg-color: hsla(var(--md-hue),0%,15%,1);
4 | --md-default-fg-color--light: hsla(var(--md-hue),90%,0.62);
5 | --md-code-bg-color: hsla(var(--md-hue),0%,30%,1);
6 | }
--------------------------------------------------------------------------------
/DOCS/DE/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: Docs | Smart Home Server by ei23.de
2 | site_url: https://ei23.de
3 | site_author: Felix Grave
4 | site_description: >-
5 | DIY Smart Home
6 |
7 | nav:
8 | - ei23 Smart Home Server:
9 | - Los gehts: index.md
10 | - Installation & erster Start: start/install.md
11 | - Programme installieren & anpassen (Docker-Compose): start/docker-compose.md
12 | - Shortcuts: start/shortcuts.md
13 | - ei23 Dashboard anpassen: start/ei23-dashboard.md
14 | - Update & Upgrade: start/update.md
15 | - Backup & Restore: start/backuprestore.md
16 | # - Changelog: https://github.com/ei23com/diy-smart-home/releases/
17 | - Changelog: /start/update/#changelog
18 | - Häufige Fragen (FAQ): start/faq.md
19 | - Weitere Fragen?: 'https://ei23.de/donate'
20 | - Smart Home Allgemein:
21 | - Fernzugriff: start/remote-access.md
22 | - Sicherheit & Monitoring: start/security-monitoring.md
23 | - Akzeptanz der Mitbewohner: start/acceptance.md
24 | - Software:
25 | # - Überblick: software/overview.md
26 | - ESPHome: software/esphome.md
27 | - Grafana: software/grafana.md
28 | - Home Assinstant: software/homeassistant.md
29 | - InfluxDB: software/influx.md
30 | - Immich.app lokale Foto Cloud: software/immich.md
31 | - Logitech Media Server & Squeezelite: software/lms.md
32 | - MQTT-Explorer: software/mqttexplorer.md
33 | - Nextcloud: software/nextcloud.md
34 | - Nginx Proxy Manager: software/nginxproxy.md
35 | - NodeRED: software/nodered.md
36 | - PaperlessNGX: software/paperlessngx.md
37 | - Traefik: software/traefik.md
38 | - Uptime Kuma: software/uptimekuma.md
39 | - Vaultwarden/Bitwarden: software/vaultwarden.md
40 | - VSCode: software/vscode.md
41 | - WireguardVPN: software/wireguard.md
42 | - Hardware:
43 | - Struktur: hardware/structure.md
44 | - Server: hardware/server.md
45 | - Edge Devices: hardware/edge-devices.md
46 |
47 | repo_name: ei23com/diy-smart-home
48 | repo_url: https://github.com/ei23com/diy-smart-home
49 | copyright: by ei23.de
50 |
51 | markdown_extensions:
52 | - pymdownx.highlight:
53 | anchor_linenums: true
54 | line_spans: __span
55 | pygments_lang_class: true
56 | - pymdownx.inlinehilite
57 | - pymdownx.snippets
58 | - pymdownx.superfences
59 | - attr_list
60 | - md_in_html
61 | - admonition
62 |
63 | theme:
64 | name: material
65 | language: de
66 | logo: media/ei23.svg
67 | favicon: media/favicon.png
68 | palette:
69 |
70 | # Light mode
71 | - media: "(prefers-color-scheme: light)"
72 | scheme: default
73 | primary: grey
74 | accent: light blue
75 | toggle:
76 | icon: material/toggle-switch-off-outline
77 | name: Switch to dark mode
78 |
79 | # Dark mode
80 | - media: "(prefers-color-scheme: dark)"
81 | scheme: slate
82 | primary: grey
83 | accent: light blue
84 | toggle:
85 | icon: material/toggle-switch
86 | name: Switch to light mode
87 |
88 | features:
89 | - announce.dismiss
90 | - content.code.copy
91 | - content.code.annotate
92 | # - navigation.tabs
93 | # - navigation.instant
94 | # - navigation.sections
95 | # - navigation.top
96 | # - navigation.tracking
97 | # - navigation.footer
98 | - search.highlight
99 | - search.share
100 | - search.suggest
101 |
102 | font:
103 | text: Karla
104 | code: Roboto Mono
105 |
106 | extra_css:
107 | - stylesheets/extra.css
108 |
109 | plugins:
110 | - privacy
111 | - search:
112 | separator: '[\s\u200b\-_,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
113 | - minify:
114 | minify_html: true
115 | # - offline
116 |
117 | extra_javascript:
118 | - js/matomo.js
119 |
120 | extra:
121 | social:
122 | - icon: fontawesome/solid/globe
123 | link: 'https://ei23.de'
124 | - icon: fontawesome/brands/youtube
125 | link: 'https://youtube.com/ei23-de'
126 | - icon: fontawesome/brands/github
127 | link: 'https://github.com/ei23com/diy-smart-home'
128 | - icon: fontawesome/brands/discord
129 | link: 'https://ei23.de/discord'
130 | - icon: fontawesome/brands/telegram
131 | link: 'https://t.me/ei23de'
--------------------------------------------------------------------------------
/DOCS/EN/docs/hardware/edge-devices.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/hardware/server.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/hardware/structure.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/js/matomo.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/media/ei23.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/media/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/DOCS/EN/docs/media/favicon.png
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/esphome.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/grafana.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/homeassistant.md:
--------------------------------------------------------------------------------
1 | # Home Assistant
2 | (Still under construction)
3 |
4 | ## Switching from Home Assistant OS to Home Assistant Docker using the ei23 script
5 | Home Assistant OS is [somewhat different](/software/homeassistant/#home-assistant-docker-vs-supervised-home-assistant) in structure, but ultimately runs the exact same version of Home Assistant as in my script. To restore a backup from Home Assistant OS to Home Assistant Docker using the ei23 script, follow these steps:
6 |
7 | 1. Create a backup with Home Assistant OS using the backup function of the web interface.
8 | 2. Save the *.tar file. The structure is as follows: `backup.tar\homeassistant.tar.gz\homeassistant.tar\data\`
9 | 3. Copy the contents into this folder on my system: `/home/user/ei23-docker/volumes/homeassistant/config`
10 | 4. Restart your System or the Home Assistant Docker Container with `docker restart homeassistant`
11 | 5. After restarting Home Assistant Docker, the backup will be read, and you should find your familiar system again.
12 |
13 | ## Home Assistant Docker vs. Supervised Home Assistant
14 |
15 | There are two versions of Home Assistant:
16 |
17 | 1. Home Assistant Docker
18 | 2. Supervised Home Assistant (also known as Home Assistant OS)
19 |
20 | In this script, we use Home Assistant Docker. While this has disadvantages on one side, it offers significantly more advantages on the other. The "disadvantages" include the absence of "Addons" in the sense of Home Assistant OS and the necessary configuration of hardware via the [docker-compose.yml](/start/docker-compose). It is important to mention that technically, the addons are pre-configured Docker containers. The Supervisor only takes care of part of the configuration. However, this script provides the [docker-compose Templates](/start/docker-compose), which simplify the configuration.
21 | Moreover, [integrating hardware](#hardware) is not complicated with a few instructions.
22 |
23 | A disadvantage of Home Assistant OS is that if an "Addon" is not available for Home Assistant OS, one relies on developers or the community to create one. However, the number of available Docker images is disproportionately larger, which is a major advantage. Additionally, creating custom Docker images or installing native programs on the Linux host operating system is not very difficult. However, installing software on the host system is only recommended to a limited extent.
24 |
25 | There is occasionally a misconception that the Docker version of Home Assistant offers fewer capabilities. This is only the case if one does not know how to use them correctly. In fact, Home Assistant OS actively restricts these capabilities for the sake of user-friendliness. Or one could express it in Apple terms: "think different" ;-)
26 |
27 | Therefore, we use Home Assistant Docker.
28 |
29 | ## Integrating Hardware
30 | Partially described in [docker-compose](/start/docker-compose).
31 |
32 | ## Securing Home Assistant over HTTPS
33 | See [Reverse Proxy with Traefik](/software/traefik) or [Reverse Proxy with Nginx](/software/nginxproxy)
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/immich.md:
--------------------------------------------------------------------------------
1 | # Immich.app private Photo Cloud
2 | Immich.app is an open-source project that outshines many photo cloud solutions, not only because it is ostensibly "free" (in terms of open source) but also because it runs on your own server.
3 |
4 | I've created a video on this (german audio - english subtitles):
5 | [](https://www.youtube.com/watch?v=8IWbTQAdxZ8)
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/influx.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/lms.md:
--------------------------------------------------------------------------------
1 | # Logitech Media Server & Squeezelite
2 | With Logitech Media Server and Squeezelite, you can create a system-independent multi-room audio system. It integrates seamlessly into Home Assistant, allows for synchronized speakers, and plays your own music from the home server. It also supports Internet radio and services like Spotify!
3 | I really like it!
4 |
5 | I've created a video on this (german audio - english subtitles):
6 | [](https://www.youtube.com/watch?v=DwotxrCvHTA)
7 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/mqttexplorer.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/nextcloud.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/nginxproxy.md:
--------------------------------------------------------------------------------
1 | [nginxproxymanager.com](https://nginxproxymanager.com/)
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/nodered.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | TODO...
3 | Videos will likely be inserted here.
4 |
5 | # Nodes
6 | Nodes are the central components of NodeRED.
7 | [Subflows](#subflows) can visually resemble nodes and behave like them, but technically, they are only a composition of nodes.
8 |
9 | ## Setting up the MQTT Node (Mosquitto)
10 | TODO
11 |
12 | ## Setting up the Home Assistant Node
13 | TODO
14 |
15 | ## Setting up the Telegram Node
16 | TODO
17 |
18 | ## Inject Node
19 | TODO
20 |
21 | ## Debug Node
22 | TODO
23 |
24 | ## Config Nodes
25 | TODO
26 |
27 | # Flows
28 |
29 | ## Pages
30 | TODO
31 |
32 | ## Subflows
33 | TODO
34 |
35 | ## Flow Library
36 | TODO
37 |
38 | # Variables and Context
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/overview.md:
--------------------------------------------------------------------------------
1 | # Overview
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/paperlessngx.md:
--------------------------------------------------------------------------------
1 | # Paperless-NGX
2 |
3 | Paperless-NGX is a free document management software with text recognition (OCR).
4 | [docs.paperless-ngx.com](https://docs.paperless-ngx.com/)
5 | It provides an elegant solution for digitizing paper documents and consolidating their digital counterparts in PDF or image formats. There are apps available, making it a truly helpful tool for managing paperwork.
6 | I now scan everything that comes in directly and simply place it in a box. In theory, I could even burn the paper (but I don't have a fireplace). I also directly import PDF files, keeping everything in one place.
7 | Therefore, Paperless-NGX is an integral part of my SmartHome script.
8 |
9 | Video link (german audio - english subtitles):
10 | [](https://www.youtube.com/watch?v=qyXz5gJnu_8)
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/uptimekuma.md:
--------------------------------------------------------------------------------
1 | # Uptime Kuma
2 | Uptime Kuma is a straightforward monitoring tool. It allows you to monitor which services and devices are running properly and, if necessary, send a notification about an issue. This can be quite practical, which is why I have created a dedicated video (german audio - english subtitles) for it.
3 |
4 | [](https://www.youtube.com/watch?v=Nr-re1kszvk)
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/vaultwarden.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/vscode.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/software/wireguard.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/acceptance.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/backuprestore.md:
--------------------------------------------------------------------------------
1 | ## Here's a video (German) about backup and its restoration
2 | The script will soon be expanded with a simplified restore function.
3 | [](https://www.youtube.com/watch?v=_yG0uWeRCDI)
4 |
5 | ## Switching from Home Assistant OS to Home Assistant Docker using the ei23 script
6 | If you are switching from Home Assistant OS to the ei23 script, you will find a [description for restoration](/software/homeassistant/#switching-from-home-assistant-os-to-home-assistant-docker-using-the-ei23-script) here.
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/docker-compose.md:
--------------------------------------------------------------------------------
1 | # Installing Programs as Containers
2 |
3 | Get familiar with editing the [docker-compose.yml](https://docs.docker.com/compose/compose-file/compose-file-v3/). You can find it under `/home/[user]/ei23-docker/docker-compose.yml`.
4 |
5 | **I have created a detailed video on this (it's german audio but english subtitles):**
6 | [](https://www.youtube.com/watch?v=teV-yfBoTuA)
7 |
8 | For editing, you need to be logged in as the "root" user, or use something like `sudo nano /home/[user]/ei23-docker/docker-compose.yml` to gain write permissions. Alternatively, you can also edit the file in a web browser using [VSCode](/software/vscode/). There are templates, or "installation templates," available for later installation in `/home/pi/ei23-docker/compose_templates`. You can use them and copy them accordingly into the docker-compose.yml.
9 |
10 | After adjusting the docker-compose.yml (Note: incorrect indentation can cause the installation to not execute correctly), you only need to run `ei23` and then "Docker Compose" or `ei23 dc`.
11 |
12 | Depending on the architecture (armv7/arm64/amd64), there might not be a current image of the container. You can check this for example on [hub.docker.com](https://hub.docker.com/). If necessary, you may need to revert to an older image - in the example below, `:1.24.0` was appended.
13 |
14 | It's also possible that a port is already in use. Docker's routing works similarly to port forwarding on a regular router. The notation is as follows (also for volumes and devices):
15 |
16 | ```yaml
17 | Host system:Container
18 | ```
19 |
20 | You can easily forward any ports. In the example below, `8080` represents the external port, the one accessible on the computer. The back port is only accessible internally within Docker. This works similarly for folders, devices, etc., on the host system - very convenient and secure!
21 |
22 | Example:
23 | ```yaml
24 | image: nginx:1.24.0
25 | volumes:
26 | - ./volumes/nginx:/etc/nginx/templates
27 | ports:
28 | - 8080:80 #(1)
29 | devices:
30 | - /dev/video0:/dev/video0
31 | ```
32 |
33 | 1. `8080` is the external port (host) here, and `80` is the internal port (container). Essentially, similar to a router/modem.
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/ei23-dashboard.md:
--------------------------------------------------------------------------------
1 | # The ei23 Dashboard / The Supervisor
2 | 
3 |
4 | Since version 1.1 of the ei23 Smart Home Server, the Dashboard has changed fundamentally.
5 | It is now not only a display of available programs, but also a supervisor. At least the foundation is already in place. This means that you can soon install some programs via the Dashboard and manage system functions as well.
6 |
7 | ## Adapting Programs in the Dashboard
8 |
9 | To link programs and external links such as cameras or other devices or websites on the Dashboard, you can modify the `programs.json`.
10 | The file is located at `/home/[user]/ei23-docker/volumes/ei23/web/static/programs.json`
11 | !!!note
12 | [user] must be replaced with your username in this place.
13 |
14 | ### Explanation of `programs.json`
15 | ```json
16 | {"programs": [
17 | {"active": true, "port": "", "custom_url": "http://10.1.1.11:1880", "name": "NodeRED", "title": "Garage", "img": "img/nodered.png"}, // (1)
18 | {"active": true, "port": "4004", "custom_url": "", "name": "MQTT-Explorer", "title": "MQTT-Explorer", "img": "img/mqtt-explorer.png"}, // (2)
19 | {"active": false, "port": "", "custom_url": "http://10.1.1.12", "name": "Garden Camera", "title": "Beautiful Garden", "img": "img/camera.png"}, // (3)
20 | {"active": true, "port": "3000", "custom_url": "", "name": "Grafana", "title": "Data Visualization", "img": "img/grafana.png"} // (4)
21 | ]}
22 | ```
23 |
24 | 1. Here "http://10.1.1.11:1880" is a custom URL, which can also be an external address.
25 | 2. If no custom URL is set, the port is combined with the IP address of the device. For example http://10.1.1.2:4004
26 | 3. Since Active is set to False, this entry will not be displayed. A generic icon is also used here. Some are available in the img folder.
27 | 4. In the last entry, it is important that no comma is placed after the curly brace.
28 |
29 | !!!note
30 | 1. Here "http://10.1.1.11:1880" is a custom URL, which can also be an external address.
31 | 2. If no custom URL is set, the port is combined with the IP address of the device. For example http://10.1.1.2:4004
32 | 3. Since Active is set to False, this entry will not be displayed. A generic icon is also used here. Some are available in the img folder.
33 | 4. In the last entry, it is important that no comma is placed after the curly brace.
34 |
35 |
36 |
37 | ## Network: List and Control Network Devices
38 |
39 | 
40 | The network page allows you to scan devices on the network, display their hostname, IP address, MAC address, and manufacturer information. If a web port 80 is detected, it means the device has a web interface available, which will be directly linked and the device marked blue.
41 |
42 | ## Server: Check installed Docker Compose Programs
43 |
44 | 
45 | This view automatically searches the [docker-compose.yml](docker-compose.md) file for installed and running containers or programs, creating and displaying a list.
46 | If a web port is detected, the program is marked accordingly and can also be accessed directly.
47 | This can be practical to quickly get an overview of the configured programs and their ports, or to directly reach the web interface or check if the program is running.
48 | Even though it happens automatically, it can be helpful to use the update button. This will re-read and check the programs.
49 |
50 | Furthermore, under this view, you can quickly regenerate your own documentation for the home server.
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/install.md:
--------------------------------------------------------------------------------
1 | #Work in progress
2 |
3 | Please read the [Frequently Asked Questions - FAQ](/start/faq)
4 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/remote-access.md:
--------------------------------------------------------------------------------
1 | # Still under construction
2 |
3 | I refer you to the [Frequently Asked Questions - FAQ](/start/faq) first.
4 |
5 | ## VPN
6 | With a VPN like [Wireguard](/software/wireguard) you can lay a virtual cable to your home network and thus access your home network securely (tunneled) from anywhere.
7 |
8 | ## Reverse Proxy
9 | With a reverse proxy, you can redirect all your programs that are locally running, for example on http://192.168.178.20:3000, to a domain https://deinprogramm.deine-domain.de.
10 |
11 | ### NGinx Proxy Manager
12 | The [NGinx Proxy Manager](https://nginxproxymanager.com/) is an easy way to set up such a proxy. Installation takes place via Docker and a template is provided via the script.
13 |
14 | ### Traefik
15 | The [Traefik Reverse Proxy](/software/traefik) is a bit more complex to set up, but can be automated very well. I have written a guide for this purpose.
16 |
17 |
18 | ## SSH
19 | [Securing SSH connections with Public Key (Key file) - GERMAN BLOG](https://ei23.de/smarthome/ssh-verbindungen-mit-public-key-verfahren-absichern/)
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/security-monitoring.md:
--------------------------------------------------------------------------------
1 | # Security
2 |
3 | Security is a big topic, so I'll only briefly touch on it for now:
4 |
5 | - If you don't know what you're doing or are unsure, just leave it.
6 | - As a general rule, you should only open ports outward if you know what you're doing.
7 | - Everything according to the motto: **Only as much as necessary and as little as possible**
8 |
9 | Regarding [Remote Access](/start/remote-access), I have already created a rough overview.
10 |
11 | Otherwise, I refer to the [Frequently Asked Questions - FAQ](/start/faq)
12 |
13 | # Monitoring
14 |
15 | With some programs, it becomes clear over time that you can't do without them anymore. Therefore, it is important to monitor whether the program is running properly. When problems occur, you can react quickly or automatically execute actions. There are various services for this, such as [Uptime Kuma](/software/uptimekuma).
16 | But even here, the solutions are very individual and the principle "Learning by Doing" applies.
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/shortcuts.md:
--------------------------------------------------------------------------------
1 | You can use this shortcuts
2 | --------------------------
3 | - `ei23 backup` - creates a backup
4 | - `ei23 dc` - runs Docker compose
5 | - `ei23 docs` - builds your own docs
6 | - `ei23 dstats` - show Docker status
7 | - `ei23 du` - updates Docker images
8 | - `ei23 ei23update` - updates ei23-script only
9 | - `ei23 fullreset X` - reinstall container X and delete all its data
10 | - `ei23 ha-addons` - updates Home Assistant custom addons
11 | - `ei23 install-rtl-sdr` - install RTL-SDR software
12 | - `ei23 newfunctions` - add new functions from script-updates
13 | - `ei23 setip` - set new default IP
14 | - `ei23 update` - run full update
--------------------------------------------------------------------------------
/DOCS/EN/docs/start/update.md:
--------------------------------------------------------------------------------
1 | ## Changelog
2 |
3 | ### v1.11
4 | #### What's New? [Here's a Video (German Audio)](https://youtu.be/_eBfsc9YRHE)
5 | - Improved dashboard with automatic display/hide of deactivated Docker programs
6 | - Enhanced server overview
7 | - Resource display (RAM / DISK)
8 | - Storage occupancy by folders
9 | - Port of the ei23-supervisors can be changed [see ei23-supervisor.py](https://github.com/ei23com/diy-smart-home/blob/main/ei23-docker/volumes/ei23/ei23-supervisor.py#L22)
10 |
11 | ### v1.1 - Version 1.1 of the script is available! Hooray!
12 |
13 | #### What's New? [Watch the Video Here (German Audio)](https://youtu.be/Ar_j29EbX98)
14 |
15 | - The [dashboard](/start/ei23-dashboard/) has been revamped and now includes:
16 | - An IP scanner for the local network (similar to routers, but more practical and faster)
17 | - An overview of configured programs in docker-compose and [programs.json](/start/ei23-dashboard/)
18 | - [Home Assistant](/software/homeassistant/) receives an [addon function](https://github.com/ei23com/diy-smart-home/blob/main/ei23-docker/custom_ha_addons-example.sh). This allows automatic updates of community integrations - similar to HACS, but simpler and without linking to a GitHub account.
19 | - The script is now available on GitHub - contributions are welcome.
20 | - You are currently reading the new documentation.
21 |
22 | #### Breaking Changes
23 |
24 | As explained in the [video](https://youtu.be/Ar_j29EbX98):
25 | The dashboard no longer runs as a Docker container but now as a Python server at the system level.
26 |
27 | 1. Remove and stop the ei23 Docker container from the [Docker-Compose](/start/docker-compose/).
28 | ```bash
29 | docker stop ei23
30 | ```
31 |
32 | 2. Perform the update.
33 | ```bash
34 | ei23 ei23update
35 | ei23 ei23upgrade
36 | ```
37 |
38 | 3. Restart the new [ei23 Supervisor](/start/ei23-dashboard/).
39 | ```bash
40 | sudo systemctl restart ei23.service
41 | ```
42 |
43 | #### Troubleshooting
44 | If the dashboard is not accessible, stop the server with:
45 | ```bash
46 | sudo systemctl stop ei23.service
47 | ```
48 |
49 | Manually start the server with this command:
50 | ```bash
51 | cd ei23-docker/volumes/ei23/; sudo .venv/bin/python3 ei23-supervisor.py
52 | ```
53 | If there are error messages indicating that "Flask" is not working correctly or missing, the Python Virtual Environment was not installed correctly.
54 | Python has required a Virtual Environment (.venv) for extensions for some time now.
55 | [externally-managed-environments](https://packaging.python.org/en/latest/specifications/externally-managed-environments/)
56 |
57 | This is also the reason why the MKDocs installation has not been functioning correctly for some time. I have fixed this issue with the Virtual Environment.
58 |
59 | On older or 32-bit systems, installing python3-venv may cause problems and prevent the new dashboard from starting.
60 | It is necessary to ensure that the python3-venv package is correctly installed:
61 | ```bash
62 | sudo apt-get install python3-venv -y # (1)
63 | ei23 ei23update
64 | ei23 ei23upgrade
65 | sudo systemctl restart ei23.service # (2)
66 | ```
67 |
68 | 1. Only proceed to the following commands if this command is executed without errors.
69 | 2. This command restarts the server. The server should now be accessible.
70 |
71 |
72 | If this does not work either, you can still try it manually:
73 |
74 | ```bash
75 | sudo apt-get update
76 | sudo python3 -m venv .venv
77 | sudo su
78 | cd ei23-docker/volumes/ei23/
79 | python3 -m venv .venv
80 | source .venv/bin/activate
81 | pip3 install --upgrade pip
82 | pip3 install flask waitress mkdocs-material ruamel.yaml
83 | exit
84 | sudo systemctl enable ei23.service
85 | sudo systemctl start ei23.service
86 | ```
87 |
88 | This will display all error messages that may occur during installation. If this still does not help, a new installation is probably the easier way.
89 |
90 | ---
91 |
92 | If the original programs are not visible:
93 | ```bash
94 | sudo cp ei23-docker/volumes/ei23/web/programs.json ei23-docker/volumes/ei23/web/static/programs.json
95 | ```
96 | ---
97 | If the hostnames in the IP scan list are not visible, an update of arp-scan can be performed:
98 | ```bash
99 | sudo apt-get update
100 | sudo apt-get install -y build-essential autoconf automake libtool pkg-config libpcap-dev
101 | git clone https://github.com/royhills/arp-scan.git
102 | cd arp-scan
103 | autoreconf --install
104 | ./configure
105 | make
106 | sudo make install
107 | cd ~
108 | rm -r arp-scan/
109 | ```
--------------------------------------------------------------------------------
/DOCS/EN/docs/stylesheets/extra.css:
--------------------------------------------------------------------------------
1 | [data-md-color-scheme="slate"] {
2 | --md-hue: 200;
3 | --md-default-bg-color: hsla(var(--md-hue),0%,15%,1);
4 | --md-default-fg-color--light: hsla(var(--md-hue),90%,0.62);
5 | --md-code-bg-color: hsla(var(--md-hue),0%,30%,1);
6 | }
--------------------------------------------------------------------------------
/DOCS/EN/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: Docs | Smart Home Server by ei23.com
2 | site_url: https://ei23.com
3 | site_author: Felix Grave
4 | site_description: >-
5 | DIY Smart Home
6 |
7 | nav:
8 | - ei23 Smart Home Server:
9 | - Getting Started: index.md
10 | - Installation & Initial Setup: start/install.md
11 | - Installing and Customizing Programs (Docker-Compose): start/docker-compose.md
12 | - Shortcuts: start/shortcuts.md
13 | - Customize ei23 Dashboard: start/ei23-dashboard.md
14 | - Update & Upgrade: start/update.md
15 | - Backup & Restore: start/backuprestore.md
16 | # - Changelog: https://github.com/ei23com/diy-smart-home/releases/
17 | - Changelog: /start/update/#changelog
18 | - Frequently Asked Questions (FAQ): start/faq.md
19 | - More Questions?: 'https://ei23.com/donate'
20 | - Smart Home General:
21 | - Remote Access: start/remote-access.md
22 | - Security & Monitoring: start/security-monitoring.md
23 | - Family Acceptance: start/acceptance.md
24 | - Software:
25 | # - Overview: software/overview.md
26 | - ESPHome: software/esphome.md
27 | - Grafana: software/grafana.md
28 | - Home Assistant: software/homeassistant.md
29 | - InfluxDB: software/influx.md
30 | - Immich.app Local Photo Cloud: software/immich.md
31 | - Logitech Media Server & Squeezelite: software/lms.md
32 | - MQTT Explorer: software/mqttexplorer.md
33 | - Nextcloud: software/nextcloud.md
34 | - NodeRED: software/nodered.md
35 | - PaperlessNGX: software/paperlessngx.md
36 | - Nginx Proxy Manager: software/nginxproxy.md
37 | - Traefik: software/traefik.md
38 | - Uptime Kuma: software/uptimekuma.md
39 | - Vaultwarden/Bitwarden: software/vaultwarden.md
40 | - VSCode: software/vscode.md
41 | - Wireguard VPN: software/wireguard.md
42 | - Hardware:
43 | - Structure: hardware/structure.md
44 | - Server: hardware/server.md
45 | - Edge Devices: hardware/edge-devices.md
46 |
47 | repo_name: ei23com/diy-smart-home
48 | repo_url: https://github.com/ei23com/diy-smart-home
49 | copyright: by ei23.com
50 |
51 | markdown_extensions:
52 | - pymdownx.highlight:
53 | anchor_linenums: true
54 | line_spans: __span
55 | pygments_lang_class: true
56 | - pymdownx.inlinehilite
57 | - pymdownx.snippets
58 | - pymdownx.superfences
59 | - attr_list
60 | - md_in_html
61 | - admonition
62 |
63 | theme:
64 | name: material
65 | language: en
66 | logo: media/ei23.svg
67 | favicon: media/favicon.png
68 | palette:
69 |
70 | # Light mode
71 | - media: "(prefers-color-scheme: light)"
72 | scheme: default
73 | primary: grey
74 | accent: light blue
75 | toggle:
76 | icon: material/toggle-switch-off-outline
77 | name: Switch to dark mode
78 |
79 | # Dark mode
80 | - media: "(prefers-color-scheme: dark)"
81 | scheme: slate
82 | primary: grey
83 | accent: light blue
84 | toggle:
85 | icon: material/toggle-switch
86 | name: Switch to light mode
87 |
88 | features:
89 | - announce.dismiss
90 | - content.code.copy
91 | - content.code.annotate
92 | # - navigation.tabs
93 | # - navigation.instant
94 | # - navigation.tabs.sticky
95 | # - navigation.sections
96 | # - navigation.top
97 | # - navigation.tracking
98 | # - navigation.footer
99 | - search.highlight
100 | - search.share
101 | - search.suggest
102 |
103 | font:
104 | text: Karla
105 | code: Roboto Mono
106 |
107 | extra_css:
108 | - stylesheets/extra.css
109 |
110 | plugins:
111 | - privacy
112 | - search:
113 | separator: '[\s\u200b\-_,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
114 | - minify:
115 | minify_html: true
116 | # - offline
117 |
118 | extra_javascript:
119 | - js/matomo.js
120 |
121 | extra:
122 | social:
123 | - icon: fontawesome/solid/globe
124 | link: 'https://ei23.com'
125 | - icon: fontawesome/brands/youtube
126 | link: 'https://youtube.com/ei23-de'
127 | - icon: fontawesome/brands/github
128 | link: 'https://github.com/ei23com/diy-smart-home'
129 | - icon: fontawesome/brands/discord
130 | link: 'https://ei23.de/discord'
131 | - icon: fontawesome/brands/telegram
132 | link: 'https://t.me/ei23de'
--------------------------------------------------------------------------------
/DOCS/guidelines.md:
--------------------------------------------------------------------------------
1 | # DE
2 | ## Allgemeines
3 | - Die Dokumentation wird kuratiert und moderiert, nicht alles kann und wird einfließen.
4 | - Pull Requests bitte nicht nur skizzieren, sondern vervollständigen.
5 | - keep it simple and short stupid, wait KIS ASS? ([KISS](https://en.wikipedia.org/wiki/KISS_principle))
6 | - Bitte in [Markdown](https://en.wikipedia.org/wiki/Markdown)
7 | - Bitte keine Beschreibungen und Anleitungen von Programmen wenn diese bereits vom jeweiligen Projekt gut dokumentiert wurden. Dinge ändern sich schnell, bitte auch hin und wieder die Links prüfen.
8 | - Keine Links zu kommerziellen Webseiten wie beispielsweise Heise, CT o.ä. (Es scheint wird dieses Projekt als Konkurrenz gesehen. Verständlich, da ich üblicherweise kostenpflichtige Anleitung teilweise kostenlos anbiete)
9 |
10 | ## Erwünschtes
11 | - Nutzungsbeispiele für das Skript
12 | - Best Practises - Vorgehensweisen bei bestimmten Anforderungen und Problemen
13 | - Beispiele die in Programm Docs fehlen
14 | - Vorschläge übersichtliche Dokumentationstruktur
15 |
16 | ## Struktur der Dokumentation
17 | Die aktuelle Struktur findet sich in der [mkdocs.yml](DE/mkdocs.yml) der jeweiligen Dokumentation
18 |
19 | ---
20 |
21 | # ENG
22 | ## General
23 | - The documentation is curated and moderated; not everything can or will be included.
24 | - Please create pull requests not only as outlines but in complete form.
25 | - Keep it simple and short, stupid. Wait, KIS ASS? ([KISS](https://en.wikipedia.org/wiki/KISS_principle))
26 | - Please use [Markdown](https://en.wikipedia.org/wiki/Markdown).
27 | - Avoid descriptions and instructions for programs that already have official documentation. If possible, provide appropriate links and keep them up to date.
28 | - No links to commercial websites such as Heise, CT, etc. (It seems this project is perceived as competitor. Understandable, as I usually offer partially paid instructions for free.)
29 |
30 | ## Desired
31 | - Usecases for the script.
32 | - Best practices - approaches to specific requirements and issues.
33 | - Examples missing in program docs.
34 | - Suggestions for an organized documentation structure.
35 |
36 | ## Documentation Structure
37 | The current structure can be found in the [mkdocs.yml](EN/mkdocs.yml) of the respective documentation.
38 |
39 |
--------------------------------------------------------------------------------
/EN/docs/mkdocs.yml:
--------------------------------------------------------------------------------
1 | site_name: Docs | SmartHome-Server ei23.com
2 | nav:
3 | - Start:
4 | - Startseite: index.md
5 | - Beispiel Seite: sample.md
6 | - Weitere Anleitungen:
7 | - Beispiel Seite 1: sample.md
8 | - Beispiel Seite 2: sample.md
9 | - Beispiel Seite 3: sample.md
10 |
11 | theme:
12 | name: material
13 | language: de
14 | logo: media/ei23.svg
15 | favicon: media/favicon.png
16 | palette:
17 |
18 | # Light mode
19 | - media: "(prefers-color-scheme: light)"
20 | scheme: default
21 | primary: grey
22 | accent: light blue
23 | toggle:
24 | icon: material/toggle-switch-off-outline
25 | name: Switch to dark mode
26 |
27 | # Dark mode
28 | - media: "(prefers-color-scheme: dark)"
29 | scheme: slate
30 | primary: grey
31 | accent: light blue
32 | toggle:
33 | icon: material/toggle-switch
34 | name: Switch to light mode
35 |
36 | font:
37 | text: Karla
38 | code: Roboto Mono
39 |
40 | extra_css:
41 | - stylesheets/extra.css
42 |
43 | plugins:
44 | - privacy
45 | - search:
46 | separator: '[\s\u200b\-_,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|(?!\b)(?=[A-Z][a-z])'
47 | # - offline
48 |
49 | extra:
50 | social:
51 | - icon: fontawesome/solid/globe
52 | link: 'https://ei23.com'
53 | - icon: fontawesome/brands/youtube
54 | link: 'https://youtube.com/ei23-de'
55 | - icon: fontawesome/brands/github
56 | link: 'https://github.com/ei23com/diy-smart-home'
57 | - icon: fontawesome/brands/discord
58 | link: 'https://ei23.de/discord'
59 | - icon: fontawesome/brands/telegram
60 | link: 'https://t.me/ei23de'
--------------------------------------------------------------------------------
/EN/web/bottom-logo.html:
--------------------------------------------------------------------------------
1 |
8 |
9 | ei23.comSmartHome-Server
10 |
58 |
--------------------------------------------------------------------------------
/ei23-docker/volumes/homeassistant/config/automations.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/ei23-docker/volumes/homeassistant/config/automations.yaml
--------------------------------------------------------------------------------
/ei23-docker/volumes/homeassistant/config/configuration.yaml:
--------------------------------------------------------------------------------
1 |
2 | # Configure a default setup of Home Assistant (frontend, api, etc)
3 | default_config:
4 |
5 | # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
6 | # http:
7 | # base_url: example.duckdns.org:8123
8 |
9 | group: !include groups.yaml
10 | automation: !include automations.yaml
11 | script: !include scripts.yaml
12 | scene: !include scenes.yaml
13 |
14 | http:
15 | use_x_forwarded_for: true
16 | trusted_proxies:
17 | - 172.18.0.0/16
18 | ip_ban_enabled: true
19 | login_attempts_threshold: 5
--------------------------------------------------------------------------------
/ei23-docker/volumes/homeassistant/config/groups.yaml:
--------------------------------------------------------------------------------
1 | []
--------------------------------------------------------------------------------
/ei23-docker/volumes/homeassistant/config/scenes.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/ei23-docker/volumes/homeassistant/config/scenes.yaml
--------------------------------------------------------------------------------
/ei23-docker/volumes/homeassistant/config/scripts.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/ei23-docker/volumes/homeassistant/config/scripts.yaml
--------------------------------------------------------------------------------
/ei23-docker/volumes/mosquitto/config/mosquitto.conf:
--------------------------------------------------------------------------------
1 | persistence true
2 | persistence_location /mosquitto/data/
3 | log_dest file /mosquitto/log/mosquitto.log
4 | # password_file /mosquitto/config/pwfile
5 |
6 | listener 1883
7 | listener 9001
8 | protocol websockets
--------------------------------------------------------------------------------
/ei23-docker/volumes/mosquitto/config/pwfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ei23com/diy-smart-home/cf9e5824fe7fa0d99e091dfe68c7de75691687f7/ei23-docker/volumes/mosquitto/config/pwfile
--------------------------------------------------------------------------------
/ei23-docker/volumes/pihole/hosts:
--------------------------------------------------------------------------------
1 | 127.0.0.1 localhost
2 | ::1 localhost ip6-localhost ip6-loopback
3 | fe00::0 ip6-localnet
4 | ff00::0 ip6-mcastprefix
5 | ff02::1 ip6-allnodes
6 | ff02::2 ip6-allrouters
--------------------------------------------------------------------------------
/ei23-docker/volumes/traefik/traefik/dynamic/config.yml:
--------------------------------------------------------------------------------
1 | http:
2 | routers:
3 | home-assistant:
4 | rule: Host(`ha.example.com`)
5 | service: home-assistant
6 | tls:
7 | certresolver: letsEncrypt
8 |
9 | services:
10 | home-assistant:
11 | loadBalancer:
12 | servers:
13 | - url: http://172.17.0.1:8123 # 172.17.0.1 is default docker gateway
--------------------------------------------------------------------------------
/ei23-docker/volumes/traefik/traefik/traefik.yml:
--------------------------------------------------------------------------------
1 | # /etc/traefik/traefik.yml
2 |
3 | entryPoints:
4 | lan:
5 | address: :80
6 | web:
7 | address: :591
8 | http:
9 | redirections:
10 | entrypoint:
11 | to: web-secured
12 | scheme: https
13 | web-secured:
14 | address: :443
15 |
16 | # certificatesResolvers:
17 | # letsEncrypt:
18 | # acme:
19 | # email: certbot@example.com
20 | # storage: /letsencrypt/acme.json
21 | # caserver: https://acme-staging-v02.api.letsencrypt.org/directory # this is for testing
22 | # # caserver: https://acme-v02.api.letsencrypt.org/directory
23 | # httpChallenge:
24 | # entryPoint: web
25 |
26 | providers:
27 | docker:
28 | endpoint: unix:///var/run/docker.sock
29 | exposedByDefault: false
30 | file:
31 | directory: /etc/traefik/dynamic/
32 |
33 | api:
34 | insecure: true
35 |
36 | # metrics:
37 | # influxDB:
38 | # address: influxdb:8089
39 | # protocol: udp
40 | # database: traefik
41 | # pushInterval: 30s
42 | # addServicesLabels: false
43 |
44 | # accessLog:
45 | # filePath: /etc/traefik/access.log
46 | # bufferingSize: 100
47 |
48 | # log:
49 | # level: DEBUG # this is for testing
50 |
--------------------------------------------------------------------------------
/en-file.txt:
--------------------------------------------------------------------------------
1 | # --------------------
2 | #
3 | # Smart Home Installer Script by ei23.com
4 | #
5 | # Terms of Use:
6 | # You are not alowed to share or copy this script nor your link to this script from the newsletter without a permission by ei23.com. Sharing ei23.com is encouraged!
7 | # Commercial use, for example sale to customers, is not permitted.
8 | # There is no guarantee of functionality and availability.
9 | # Liability for damage or loss of data is excluded.
10 | # The script can be adapted by the user for his individual needs.
11 | #
12 | # !!! Please support Open Source projects - https://ei23.com/opensource !!!
13 | #
14 | # --------------------
15 |
16 | # LANGUAGE EN
17 | L_ALREADYINSTALLED="already installed"
18 | L_AND="and"
19 | L_BACKUPDATA="Backup Data "
20 | L_BACKUPDATATEXT="Among others, a backup of:\nInfluxDB, NodeRED, Grafana, Motioneye, HomeAssistant, Nextcloud, Traefik, Bitwarden and ei23-data will be created.\n\nCAUTION!\nTo keep the backup file small, not all programs and all files are included, best check it yourself.\n\nThe backup file will be stored in /home/$IAM/Backup, make sure to also save it externally!"
21 | L_CHOOSESERVERNAME="Choose a name for your SmartHome-Server\n(no whitespaces or special chars)"
22 | L_COMPOSE_ERROR="WARNING - Docker-Compose is causing errors... \n\n^^^^ RELEVANT ERROR MESSAGE - SEE ABOVE! ^^^^\n\nCheck the \"ei23-docker/docker-compose.yml\" for syntax errors or outdated images.\nRemove the lines that are causing the error if necessary.\n\nAfter adjusting the docker-compose.yml, run \"ei23 dc\".\nIf this is a fresh installation, passwords need to be set again with the ei23 script.\n\nA complete reinstallation using the script is NOT necessary!"
23 | L_CONFIGURE="Configuring"
24 | L_CONFIRMPASSWORD="Confirm the password"
25 | L_DEPRECATED="not supported anymore"
26 | L_DOCKERDELETE="deleted unused Docker images"
27 | L_DOCKERSUCCESS="Docker-Compose run successfully!!!"
28 | L_HELP="List Shortcuts "
29 | L_INSTALL="Install"
30 | L_INSTALLAPPS="Install new programs"
31 | L_INSTALLAPPSTEXT="You can add, edit or remove new programs by editing the file /home/$IAM/ei23-docker/docker-compose.yml and add templates from /home/$IAM/ei23-docker/compose_templates.\nTo apply the changes run docker compose\n(\"ei23 dc\" in the terminal).\n\nYou can edit the ei23 dashboard in /home/$IAM/ei23-docker/volumes/ei23/web/static/programs.json.\nI showed how to do it in the script version 1 video.\n\nSome parts of this, will be automated in future versions..."
32 | L_INSTALLCOMPLETE="INSTALLATION COMPLETE!\n\"ei23\" serves now for updates and backups etc..."
33 | L_INSTALLING="installing"
34 | L_MENUMANUAL="[SPACEBAR] to select / deselect, [ENTER] to start"
35 | L_MQTTADMIN="Set admin name for MQTT"
36 | L_NEWROOTANDPI="Set new Root & User password"
37 | L_NODEREDSETTINGS="Copy the following into the password section \n//// in /home/$IAM/.node-red/settings.js"
38 | L_NOINTERNET="No internet connection available, please check!"
39 | L_NONAMEABORT="No name given - aborting"
40 | L_NOPASSWD="No password given - aborting"
41 | L_OTHERAPPSINFO="The following is a basic selection of programs.\nMore programs like:\n\n- IOBroker\n- FHEM\n- OpenHAB \n- Octoprint\n- Zigbee2MQTT\n- etc...\ncan be installed after the main installation\n with the terminal command \"ei23\"!"
42 | L_PASSWDMATCH="Passwords don't match - aborting"
43 | L_PASSWORDFOR="Set a password for"
44 | L_PASSWORDFORALL="Set new passwords"
45 | L_PLEASEWAIT="(this will take some time)"
46 | L_REBOOT="Please Reboot"
47 | L_REBOOTTEXT="Now a reboot is needed.\nAfter reboot, run this script with \"ei23\" again.\n\nfirst and second reboot can take longer!"
48 | L_REMOVEAPPS="Remove programs"
49 | L_RESTOREDATA="Restore backup"
50 | L_RESTOREDATATEXT="Backup files are stored in /home/$IAM/Backup, you should regularly save them externally.\n\nTo restore simply copy the data back to the original folder, most programs will work this way. Nextcloud and InfluxDB for example are more complicated, check the documentation of the respective programs if necessary."
51 | L_TERMSOFUSE1="Terms Of Use Part 1"
52 | L_TERMSOFUSE1OK="OK"
53 | L_TERMSOFUSE1TEXT="Terms of Use:\n\nYou are not alowed to share or copy this script nor your link to this script from the newsletter without a permission by ei23.com.\nSharing ei23.com is encouraged!\n\nCommercial use, for example sale to customers, is not permitted."
54 | L_TERMSOFUSE2="Terms Of Use Part 2"
55 | L_TERMSOFUSE2ACCEPT="I accept"
56 | L_TERMSOFUSE2DECLINE="I decline"
57 | L_TERMSOFUSE2TEXT="There is no guarantee of functionality and availability.\n\nLiability for damage or loss of data is excluded.\n\nThe script can be adapted by the user for his individual needs.\n\n\nPlease support Open Source projects\nYou will find a list on ei23.com/opensource"
58 | L_UPDATE="Full Update "
59 | L_UPDATEEI="Update ei23 data only "
60 | L_UPDATING="updating"
61 | L_USERNAMEFOR="Username for"
62 |
--------------------------------------------------------------------------------
/updates/1.00.sh:
--------------------------------------------------------------------------------
1 | # 1.00
2 | sudo sed -i -e "s#image: influxdb:latest#image: influxdb:1.8.4#" $HOME/ei23-docker/docker-compose.yml
3 | sudo sed -i -e "s#image: influxdb:1.8.2#image: influxdb:1.8.4#" $HOME/ei23-docker/docker-compose.yml
4 | sudo sed -i -e "s# - ./volumes/ei23/web:/www# - ./volumes/ei23/web:/www\n - ./volumes/ei23/docs/site:/www/docs#" $HOME/ei23-docker/docker-compose.yml
5 | sudo apt-get install -y nmap netdiscover sysfsutils tcpdump wget ssh unzip build-essential git python-serial libcurl4-openssl-dev libusb-dev python-dev cmake curl telnet usbutils jq pv parted gcc python3-pip htop python-smbus mpg123 screen imagemagick arp-scan imagemagick-doc raspberrypi-kernel-headers libimage-exiftool-perl ffmpeg libusb-1.0-0-dev zsh virtualenv libtool autoconf pkg-config libxml2-dev ncdu libfftw3-dev ncftp mosquitto-clients expect mkdocs
6 | sudo pip3 install mkdocs-material
--------------------------------------------------------------------------------
/updates/1.01.sh:
--------------------------------------------------------------------------------
1 | # 1.01
--------------------------------------------------------------------------------
/updates/1.02.sh:
--------------------------------------------------------------------------------
1 | # 1.02
--------------------------------------------------------------------------------
/updates/1.03.sh:
--------------------------------------------------------------------------------
1 | # 1.03
--------------------------------------------------------------------------------
/updates/1.04.sh:
--------------------------------------------------------------------------------
1 | # 1.04
--------------------------------------------------------------------------------
/updates/1.10.sh:
--------------------------------------------------------------------------------
1 | # 1.10
--------------------------------------------------------------------------------
/updates/1.11.sh:
--------------------------------------------------------------------------------
1 | # 1.11
2 | bash ei23.sh ei23upgrade
--------------------------------------------------------------------------------
/updates/1.12.sh:
--------------------------------------------------------------------------------
1 | # 1.12
--------------------------------------------------------------------------------