Raspberry Pi zu einem mini Server Konfigurieren

Erstellt: 18.02.2023 Bearbeitet: 02.10.2025

Ich habe vor, ein Raspberry Pi zu einem kleinen Server aufzubauen, nachdem ich feststellen musste, dass meine Kodi-Box doch zu instabil ist, um wichtige Services zu hosten.

Als Basis nutze ich Raspberry Pi OS Lite also ein Debian.

Vorbereitung

Als erstes habe ich das OS auf eine SSD installiert mithilfe des Installers von Raspberry Pi OS mit eingeschalteten SSH und einen User den man bei dem Installer bei den Zusatzoptionen angeben kann und einmal das OS und die firmware komplett geupdated. WLAN eingerichtet, was sich als etwas hackelig herausgestellt hatte und nun step by step meine Docker Umgebung.

Install Dockerd

Als erstes Installiere ich alles, wo ich glaube es zu brauchen.

sudo apt update
sudo apt install docker.io docker-compose
sudo usermod -aG docker ${USER}

Bei meiner CoreELEC Docker installation hatte ich meine Daten irgendwie unglücklich mit der Directory-Struktur verschachtelt, was ich jetzt natürlich verbessern möchte :)

sudo mkdir /home/docker
sudo chmod 777 /home/docker

Setup Services

Setup PI-hole Service

Unter Debian liegen die Service files in /etc/systemd/system also baue ich meine Systemd startup config ein wenig um.

Wir legen also eine leere Datei in /home/docker an und erzeugen einen Symlink in /etc/systemd/system/ für das File um es zentral in unserem Home zu haben.

touch /home/docker/pi-hole.docker.service
sudo ln -s /home/docker/pi-hole.docker.service /etc/systemd/system/pi-hole.docker.service

Das soll nun unser neues pi-hole.docker.service sein.

[Unit]
Description=%p container
Requires=network-online.target
After=network-online.target

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /home/docker/%p/etc-pihole /home/docker/%p/dnsmasq"
ExecStartPre=-/bin/sh -c "/usr/bin/docker rm %p"
ExecStartPre=-/bin/sh -c "ntpd -d -n -q -p 157.90.24.29"
ExecStart=/usr/bin/docker run \
    --rm \
    --name %p \
    -p 53:53/tcp -p 53:53/udp \
    -p 8053:80 \
    -e TZ="Europe/Berlin" \
    #-e # WEBPASSWORD: 'set a secure password here or it will be random' \
    -v "/home/docker/%p/etc-pihole:/etc/pihole" \
    -v "/home/docker/%p/dnsmasq:/etc/dnsmasq.d" \
    --dns=192.168.1.1 --dns=192.168.8.1 \
    #--restart=unless-stopped \
    --hostname raspberrypi \
    -e VIRTUAL_HOST="raspberrypi" \
    -e FTLCONF_LOCAL_IPV4="192.168.8.190" \
    pihole/pihole:latest
    # before set a new docker have u to pull it manual
    # docker pull pihole/pihole:latest
    # ohne dns kein pull ohne pull kein docker :)
ExecStop=/usr/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Und nun teste ich erst mal ob der neue Service hoch kommt und wenn ja, setzte ich das er immer beim Booten gestartet werden soll.

docker pull pihole/pihole:latest
sudo systemctl daemon-reload
sudo systemctl start pi-hole.docker.service
systemctl status pi-hole.docker.service
sudo docker ps -a
sudo systemctl enable pi-hole.docker.service

Setup InfluxDB2 Service

Hier machen wir jetzt einfach das selbe mit ein paar Anpassungen.

touch /home/docker/influxdb.docker.service
sudo ln -s /home/docker/influxdb.docker.service /etc/systemd/system/influxdb.docker.service

Das soll nun unser neues influxdb.docker.service sein.

[Unit]
Description=%p container
Requires=network-online.target
After=network-online.target
After=pi-hole.docker.service

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /home/docker/%p/etc /home/docker/%p/influxdb"
ExecStartPre=-/bin/sh -c "/usr/bin/docker rm %p"
ExecStart=/usr/bin/docker run \
    --rm \
    --name %p \
    -p 8086:8086 \
    # ip-hole is not bound on host localhost only inside the bridge
    --dns=172.17.0.1 \
    --add-host host.docker.internal:host-gateway \
    #--network=host \
    --hostname raspberrypi \
    -v "/home/docker/%p/etc:/etc/influxdb2" \
    -v "/home/docker/%p/influxdb:/var/lib/influxdb2" \
    -e INFLUXD_LOG_LEVEL="warn" \
    -e TZ="Europe/Berlin" \
    # docker wand pull a arm/v7 image wat not exist for influxdb2
    #--platform linux/arm64 \
    influxdb:2.6
    # https://hub.docker.com/_/influxdb/tags
ExecStop=/usr/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Und weiter geht es mit starten und testen.

docker pull influxdb:2.6
sudo systemctl daemon-reload
sudo systemctl start influxdb.docker.service
systemctl status influxdb.docker.service
sudo docker ps -a
sudo systemctl enable influxdb.docker.service

Setup OpenHAB Service

Und noch einmal mit OpenHAB.

touch /home/docker/openhab.docker.service
sudo ln -s /home/docker/openhab.docker.service /etc/systemd/system/openhab.docker.service

Das soll nun unser neues openhab.docker.service sein.

[Unit]

Description=%p container
Requires=network-online.target
Requires=influxdb.docker.service
After=network-online.target
After=pi-hole.docker.service


[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /home/docker/%p/conf /home/docker/%p/addons /home/docker/%p/userdata"
ExecStartPre=-/bin/sh -c "/usr/bin/docker rm %p"
ExecStart=/usr/bin/docker run \
    --rm \
    --name %p \
    -e TZ="Europe/Berlin" \
    --network=host \
    --hostname %p \
    -v "/home/docker/%p/conf:/openhab/conf" \
    -v "/home/docker/%p/addons:/openhab/addons" \
    -v "/home/docker/%p/userdata:/openhab/userdata" \
    -v "/etc/localtime:/etc/localtime:ro" \
    -v "/etc/timezone:/etc/timezone:ro" \
    --device=/dev/ttyACM0:/dev/ttyACM0 \
    -e OPENHAB_HTTP_PORT=8090 \
    -e OPENHAB_HTTPS_PORT=8094 \
    -e CRYPTO_POLICY="unlimited" \
    -e USER_ID=1000 \
    -e GROUP_ID=1000 \
    -e EXTRA_JAVA_OPTS="-Xms1024m -Xmx2048m -Duser.timezone=Europe/Berlin" \
    openhab/openhab:3.4.2
    # https://hub.docker.com/r/openhab/openhab/tags
    # docker pull openhab/openhab:latest
ExecStop=/usr/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Und weiter geht es mit starten und testen.

docker pull openhab/openhab:3.4.2
sudo systemctl daemon-reload
sudo systemctl start openhab.docker.service
systemctl status openhab.docker.service
sudo docker ps -a
sudo systemctl enable openhab.docker.servicee

Daten sichern und übertragen

Pi-Hole

Quellsystem, in meinem fall die Kodi-Box.

cd /storage/dockerdata/
tar cfvz pihole.tar.gz pi-hole.docker/config/

Kopieren zum Zielsystem und Entpacken.

cd /home/docker
sudo systemctl stop pi-hole.docker.service
# Alte Daten vom test lösche
sudo rm -rf influxdb.docker/*
sudo tar xfvzp pihole.tar.gz -C pi-hole.docker/ --strip-components=2
sudo systemctl start pi-hole.docker.service

InfluxDB

Quellsystem.

cd /storage/dockerdata/
tar cfvz influx.tar.gz influxdb.docker/data/

Kopieren zum Zielsystem und Entpacken.

cd /home/docker
sudo systemctl stop influxdb.docker.service
# Alte Daten vom test lösche
sudo rm -rf influxdb.docker/*
sudo tar xfvzp influx.tar.gz -C influxdb.docker --strip-components=2
sudo systemctl start influxdb.docker.service

OpenHAB

Quellsystem.

# source system
cd /storage/dockerdata/
tar cfvz openhab.tar.gz openhab.docker/data/openhab/

Kopieren zum Zielsystem und Entpacken.

cd /home/docker
sudo systemctl stop openhab.docker.service
rm -rf openhab.docker/*
sudo tar xfvzp openhab.tar.gz -C openhab.docker/ --strip-components=3
sudo chown -r 1000:1000 openhab.docker
sudo systemctl start openhab.docker.service

Jetzt sollte, nach einem Reboot, Systemd alles wie gewollt starten und unsere neue Box alles Kontrollieren.

Viel Spaß beim Nachbauen.


Raspberry Pi einmal komplett upgraded

Erstellt: 17.02.2023 Bearbeitet: 02.10.2025

Wenn man ein Raspberry Pi hat sollte man auch immer mal wieder nachsehen ob es nicht auch neuere firmware gibt bzw. ein neues EPROM was einige bekannte Probleme beheben kann. Alo hier jetzt ein Upgrade Pfad.

OS Update

Ich nutze Raspberry Pi OS Lite als basis OS also ein Debian.

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

Firmware Update

Die Firmware wird z.b. für WLAN gebraucht.

sudo rpi-update

Zurück rollen kann man bei Problemen mit dem commit hash

sudo rpi-update {Commit-Nummer}

EPROM Update

Das EPROM entspricht dem BIOS des Raspberry Pi.

Checken ob es eine neue version gibt

sudo rpi-eeprom-update

Upgrade zum reboot forcieren und rebooten.

sudo rpi-eeprom-update -d -a
sudo reboot

Viel Spaß


Raspberry Pi WLAN Verbindungsprobleme mit neueren Router lösen

Erstellt: 17.02.2023 Bearbeitet: 02.10.2025

Gestern wollte ich meinen neuen RaspberryPi 4b ins WLAN einhängen und bin da auf unerwartete Probleme gestoßen.

Test WPA

Zum testen muss man WLAN erst mal disconnecten und dem wpa daemon killen und kann dann mit wpa_supplicant die Verbindung überprüfen. Bitte dran denken das man dafür via Lan connected sein muss :)

sudo ifdown wlan0
sudo killall wpa_supplicant
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

CTRL-EVENT-ASSOC-REJECT mit bssid=00:00

Wenn die bssid nur Nullen beinhalten bei einem REJECT kann man davon ausgehen das der Router gar nicht erreicht werden kann. Z.b. ist die WLAN Antenne Geerdet ist, durch ein Fehlerhaftes Gehäuse z.B. oder der Router ist zu weit weg.

CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=16

set key_mgmt

Bei meinem Router wird das veraltete WPA-PSK nicht mehr unterstützt und man sieht dann im Router log nur AP-STA-POSSIBLE-PSK-MISMATCH und beim einen Test WPA mit wpa_supplicant CTRL-EVENT-ASSOC-REJECT status_code=16. Die Lösung kann WPA-PSK-SHA256 mit ieee80211w=2 sein. Dafür muss man seine wpa_supplicant.conf um folgendes ergänzen.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

und füge den aktuellen WPA key_mgmt algo hinzu

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
eapol_version=1
ap_scan=1
fast_reauth=1
pmf=1

network={
        ssid="router_SSID"
        psk=....
        key_mgmt=WPA-PSK-SHA256
        ieee80211w=2
}

Die Lösung hatte ich hier gefunden. github issue

Generate WPA Password

sudo wpa_passphrase "router_SSID" "wlanpassword" >> /etc/wpa_supplicant/wpa_supplicant.conf

WLAN Autoconnect

Damit sich mein WLAN selber Verbindet beim Booten und das Powermanagment aus ist um Verbindungsprobleme zu vermeiden habe ich diese config angelegt.

sudo nano /etc/network/interfaces.d/wlan.conf
auto wlan0

allow-hotplug wlan0
iface wlan0 inet dhcp
post-up iw wlan0 set power_save off

brcmfmac modprobe options

Es gibt wohl verschiedenste Probleme und ein paar Lösungen sind die Optionen. Alle zu verwenden macht kein sin aber zum testen hier die Vorgehensweise.

Kernelmodule auswerfen.

sudo rmmod cfg80211
sudo rmmod brcmfmac

brcmfmac Config Optionen.

sudo nano /etc/modprobe.d/brcmfmac.conf
options brcmfmac roamoff=1
options brcmfmac p2pon=0

cfg80211 Config Optionen.

sudo nano /etc/modprobe.d/cfg80211.conf
options cfg80211 cfg80211_disable_40mhz_24ghz=1

Kernelmodule mit der neuen Config laden.

sudo modprobe brcmfmac

Und jetzt wieder testen wie in Test WPA Probieren ob es geht.

Nützliche Commands

List Verfügbare Wlan Channels

sudo iwlist chan

Show Country Infos

iw reg get

List Router

sudo iwlist scan|egrep 'ESSID|Channel:'
#oder full
sudo iwlist scan

Wlan infos

iwconfig

Viel Spaß beim Nachbauen

OpenHAB auf einer Kodi Box als Docker Service installieren

Erstellt: 03.02.2023 Bearbeitet: 02.10.2025

Nachdem ich ja, vor ein paar Tagen schon, ein PI-hole auf meine Kodi box installiert hatte, habe ich nun für die Home-Automatisierung auch noch ein openHAB mit einer influxdb2 eingerichtet um damit Licht, Thermostate und Multimedia zu steuern. Hier nun in groben schritten meine Lösung

Installation

Dockerd installieren

Wir brauchen das Kodi addon Docker in Dienste, wenn wir ein minimal System nutzen um einen dockerd zu haben.

Install xbmc.service Docker

systemd

Die service files speichere unter '/storage/.config/system.d/'

Filename: openhab.docker.service

[Unit]
Description=%p container
Requires=service.system.docker.service
Requires=network-online.service
After=network-online.service
After=pi-hole.docker.service

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /storage/dockerdata/%p/data/openhab/conf /storage/dockerdata/%p/data/openhab/addons /storage/dockerdata/%p/data/openhab/userdata"
ExecStartPre=-/bin/sh -c "/storage/.kodi/addons/service.system.docker/bin/docker rm %p"
ExecStart=/storage/.kodi/addons/service.system.docker/bin/docker run \
    --rm \
    --name %p \
    -e TZ="Europe/Berlin" \
    --network=host \
    --hostname %p \
    -v "/storage/dockerdata/%p/data/openhab/conf:/openhab/conf" \
    -v "/storage/dockerdata/%p/data/openhab/addons:/openhab/addons" \
    -v "/storage/dockerdata/%p/data/openhab/userdata:/openhab/userdata" \
    -v "/etc/localtime:/etc/localtime:ro" \
    -v "/storage/.cache/timezone:/etc/timezone:ro" \
    -e OPENHAB_HTTP_PORT=8090 \
    -e OPENHAB_HTTPS_PORT=8094 \
    -e CRYPTO_POLICY="unlimited" \
    -e EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin" \
    openhab/openhab:3.4.1
    # https://hub.docker.com/r/openhab/openhab/tags
    # docker pull openhab/openhab:latest
ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Filename: influxdb.docker.service

[Unit]
Description=%p container
Requires=service.system.docker.service
Requires=network-online.service
After=network-online.service
After=pi-hole.docker.service
Before=openhab.docker.service

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /storage/dockerdata/%p/data/etc /storage/dockerdata/%p/data/influxdb"
ExecStartPre=-/bin/sh -c "/storage/.kodi/addons/service.system.docker/bin/docker rm %p"
ExecStart=/storage/.kodi/addons/service.system.docker/bin/docker run \
    --rm \
    --name %p \
    -p 8086:8086 \
    # ip-hole is not bound on host localhost only inside the bridge
    --dns=172.17.0.1 \
    --add-host host.docker.internal:host-gateway \
    #--network=host \
    --hostname %p \
    -v "/storage/dockerdata/%p/data/etc:/etc/influxdb2" \
    -v "/storage/dockerdata/%p/data/influxdb:/var/lib/influxdb2" \
    -e DOCKER_INFLUXDB_INIT_MODE="setup" \
    -e DOCKER_INFLUXDB_INIT_USERNAME="admin" \
    -e DOCKER_INFLUXDB_INIT_PASSWORD="admin1234" \
    -e DOCKER_INFLUXDB_INIT_ORG="myorg" \
    -e DOCKER_INFLUXDB_INIT_BUCKET="openhab" \
    -e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN="extremtopsecrettoken1234" \
    -e INFLUXD_LOG_LEVEL="warn" \
    -e TZ="Europe/Berlin" \
    # docker wand pull a arm/v7 image wat not exist for influxdb2
    --platform linux/arm64 \
    influxdb:2.6
    # https://hub.docker.com/_/influxdb/tags
ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Steuerung des Services mit Systemd

Systemd Konfiguration neu einlesen.
  systemctl daemon-reload
Service starten
  systemctl start influxdb.docker.service
  systemctl start openhab.docker.service
Service status
  systemctl influxdb.docker.service
  systemctl status openhab.docker.service
Start Service on reboot
  systemctl enable openhab.docker.service
  systemctl enable influxdb.docker.service
Service stoppen
  systemctl stop openhab.docker.service
  systemctl stop influxdb.docker.service
Logs lesen
  journalctl -u openhab.docker.service
  journalctl -u influxdb.docker.service
  tail -f /storage/dockerdata/openhab.docker/data/openhab/userdata/logs/*.log
Bash im laufendem Docker öffnen
  docker exec -it openhab.docker /bin/bash

Influxdb

Set New influxdb admin pw

Aus der infuxdb doku 'User passwords cannot be updated in the InfluxDB UI.'

Wir müssen als das pw mit der Shell ändern und das geht mit dem init token welsches bei dem ersten Start eingerichtet wird.

  docker exec  -it influxdb.docker influx user password -n admin -t extremtopsecrettoken1234
Nun sollte man das admin token löschen und ein persönliches anlegen

  1. go to Load Data->API Tokens
  2. Gerate API Token...
  3. Alte Admin token in der Liste löschen

Influxdb als persistent storage in openHAB einrichten

Als erstes muss man sich in openHAB einloggen und dort in die Settings gehen und bei den Add-ons das addon "InfluxDB Persistence" suchen und installieren.

Nach der Installation hat man nun in den Settings bei 'Other Services' die Einstellungen 'InfluxDB Persistence Service' wo man seine InfluxDB verbinden kann. Hier reichen wenige Optionen.

  1. Database URL: http://127.0.0.1:8086
  2. Database Version: InfluxDB 2
  3. Authentication Token: ein neues auth token generieren wie schon bei dem Admin pw ändern beschreiben und einfügen.
  4. Database/Organization: myorg
  5. Retention Policy / Bucket: openhab

Ich habe dann noch die 3 folgenden Schalter an gemacht 'Add Category Tag', 'Add Type Tag', 'Add Label Tag' um es eventuell später in Grafana als Selektor nutzten zu können.

Nun können wir die influxdb als Persistence storage auswählen. Dafür gehen wir wieder in den Settings zu den 'System Services' in die 'Persistence' Option und wählen 'InfluxDB persistence layer'.

Für die Persistence Config gibt es jetzt noch ein File was wir anlegen müssen und wofür es leider keine UI Config gibt.

Dafür legen wir das folgende File an

Filename: /storage/dockerdata/openhab.docker/data/openhab/conf/persistence/influxdb.persist

Strategies {
        default = everyChange, restoreOnStartup 
}

Items {
        // persist all items on every change and restore them from the db at startup
        * : strategy = everyChange, restoreOnStartup
}

openHAB Predefined Strategies

Und nun sollten, sobald wir thinks haben Daten in der InfluxDB zu finden sein :)

Das war es schon, wie man nun ein paar Sachen in openHAB einbaut und benutzt werde ich in einem weiteren Artikel beschreiben.

Viel Spaß beim Nachbauen


PI-hole auf einer Kodi Box als docker Service installieren

Erstellt: 22.01.2023 Bearbeitet: 02.10.2025

Ich habe mir vor einiger Zeit eine recht leistungsstarke und mit genug Ressourcen ausgestattete Kodi Box zugelegt die ich nun zum Testen mit ein paar Service auf Docker Basis nutzten wollte um nicht noch einen Server betreiben zu müssen bzw. die Existierenden Ressourcen einfach zu nutzten. Die Basis auf Docker hat hier 2. gründe. erstens Benutzte ich CoreELEC als Distribution, weswegen ich nur ein sehr minimales Linux System habe wo ich nicht einfach Pakete installieren kann und zweitens, ich mit einem fertigen Docker alles Nötige ohne Große spielen, in einem packet habe, welsches von dem restlichen System gut genug getrennt ist.

Installation

Dockerd installieren

Wir brauchen das Kodi addon docker in Dienste wenn wir ein minimal System nutzen um einen dockerd zu haben.

Install xbmc.service Docker

systemd

Das service file speichere ich in '/storage/.config/system.d/pi-hole.docker.service'

[Unit]
Description=%p container
Requires=service.system.docker.service
Requires=network-online.service
After=service.system.docker.service
After=network-online.service
Befora=kodi.service

[Service]
[Unit]
Description=%p container
Requires=service.system.docker.service
Requires=network-online.service
After=service.system.docker.service
After=network-online.service
Before=kodi.service

[Service]
Restart=always
RestartSec=10s
TimeoutStartSec=0
ExecStartPre=-/bin/sh -c "mkdir -p /storage/dockerdata/%p/config/etc-pihole /storage/dockerdata/%p/config/dnsmasq"
ExecStartPre=-/bin/sh -c "/storage/.kodi/addons/service.system.docker/bin/docker rm %p"
ExecStartPre=-/bin/sh -c "ntpd -d -n -q -p 157.90.24.29"
ExecStart=/storage/.kodi/addons/service.system.docker/bin/docker run \
    --rm \
    --name %p \
    -p 53:53/tcp -p 53:53/udp \
    -p 8053:80 \
    -e TZ="Europe/Berlin" \
    #-e # WEBPASSWORD: 'set a secure password here or it will be random' \
    -v "/storage/dockerdata/%p/config/etc-pihole:/etc/pihole" \
    -v "/storage/dockerdata/%p/config/dnsmasq:/etc/dnsmasq.d" \
    --dns=192.168.1.1 --dns=192.168.8.1 \
    #--restart=unless-stopped \
    --hostname coreelec \
    -e VIRTUAL_HOST="coreelec" \
    -e FTLCONF_LOCAL_IPV4="192.168.8.190" \
    pihole/pihole:latest
    # before set a new docker have u to pull it manual
    # docker pull pihole/pihole:latest
    # ohne dns kein pull ohne pull kein docker :)
ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop %p

[Install]
WantedBy=multi-user.target

Steuerung des Services mit systemd

Systemd Konfiguration neu einlesen.
  systemctl daemon-reload
Service starten
  systemctl start pi-hole.docker.service
Service status
  systemctl status pi-hole.docker.service
Start Service on reboot
  systemctl enable pi-hole.docker.service
Service stoppen
  systemctl stop pi-hole.docker.service
Logs lesen
   journalctl -u pi-hole.docker.service

Password für die Web-UI von Pi-hole

Wenn man ein Pi Hole das erste Mal aufsetzt, muss man ein neues Password setzten. Dafür gibt es 2 Wege.

  1. Im dem Service File WEBPASSWORD setzten.

  2. Neu setzten des Web-Passwords in dem Docker selbst mit dem Befehl

      docker exec pi-hole.docker pihole -a -p
    

Zeit stellen

Meine Kodi Box hat keine Akku gepufferte Uhr weswegen ich nach jedem Reboot die Zeit neu stellen muss, das habe ich auch in dem Service Init eingebaut weil ohne richtige Zeit viele Probleme mit z.B. SSL auftreten und so Downloads fehlschlagen könnten oder diverse Crypto nicht richtig funktioniert.

Ermittel eine $IP aus pool.ntp.org

  ntpd -d -n -q -p $IP

Der Grund für die ip ist, ohne DNS Server keine DNS Auflösung und man startet den Service ja erst :)

IP-Hole über DHCP als Primären DNS auf einen OpenWRT Router einrichten

Router via ssh Verbinden und dann die DHCP-Konfiguration anpassen.

  /etc/config/dhcp

und yourDNSIP mit der ip vom IP-Hole ersetzten

config 'dhcp' 'lan'
    ...
    list 'dhcp_option' '6,yourDNSIP'

So hat jeder Client den PI-hole als DNS Server und nicht den Router, so kann man in PI-hole genau sehen welscher Client welsche anfrage gemacht hat.

HDMI Suspend verhindern

Die Kodi Box ging bisher immer in den Suspend Modus, wenn der Fernseher ausgeschaltet wurde. Das ist aber jetzt nicht mehr gewollt, wenn wichtige Dienste auf der Box Parallel Laufen. Deswegen schalte ich aus, dass die Box auf das HDMI-Signal reagieren soll und verhindere so das Ungewollte einschlafen.

    # HDMI CEC Control
    #   Setup custom options by enable these flags:
    #
    #     Function                   bit
    #     CEC_FUNC_MASK              0
    #     ONE_TOUCH_PLAY_MASK        1
    #     ONE_TOUCH_STANDBY_MASK     2
    #     AUTO_POWER_ON_MASK         3
    #     STREAMPATH_POWER_ON_MASK   4
    #     CEC_INPUT_MASK             5
    #     ACTIVE_SOURCE_MASK         6
    #
    # default: cec_func_config=7f

Wir wollen kein ONE_TOUCH_STANDBY_MASK also das 2. Bit auf 0, ich setzte cec_func_config also auf 0b1101111 = 0x6F. zum Hinzufügen von cec_func_config=6f muss man mit ssh auf die Box und den /flash Mount Point auf Beschreibbar umstellen und die config anpassen.

  ssh to CE
  mount -o rw,remount /flash
  nano /flash/config.ini
  mount -o ro,remount /flash

Blocklisten

Pi-hole bringt zwar eine Block Liste mit, aber es gibt weit mehr nützliche listen, um sein internetleben Freier zu verbringen :)

Viel Spaß beim Nachbauen


 1  2  3  4  5  6  7  8  
Chronologische Sortierung