In der Windows SBS Console fehlen einige Benutzer

Prinzipiell sollten alle Benutzer auf einem Windows Small Business Server in der Console angelegt werden. Hat man aber im Eifer des Gefechtes einige Benutzer in „Active Directory User und Computer“ angelegt, dann erscheinen diese nicht in der Konsole unter „Benutzer und Gruppen“.

Lösung

  • „Windows SBS Console“ aufrufen
  • „Benutzer und Gruppen“ aufrufen
  • Irgendeinen vorhandenen Benutzer anklicken
  • Rechts „Benutzerrolle für Benutzerkonten ändern“ anklicken
  • Rolle des Benutzers anwählen (z.B. Standardbenutzer)
  • Option darunter „Benutzerberechtigungen oder Einstellungen ersetzen“ wählen
  • „Weiter“ wählen
  • In der nächsten Maske unten „Alle Benutzerkonten in Active Directory anzeigen“ anwählen
  • Jetzt den oder die fehlenden Benutzer auswählen und „Hinzufügen“ wählen
  • „Benutzerrolle ändern“ wählen

Die betreffenden Benutzer werden jetzt mit der entsprechenden SBS Rolle vershen und erscheinen fortan in der „Windows SBS Console“.

Dabei ist allerdings zu beachten, dass eventuell vorhandene spezielle Gruppenzugehörigkeiten zurückgesetzt werden.

Quellen:

http://blogs.technet.com/b/sbs/archive/2008/09/22/why-are-some-of-my-users-not-displaying-in-the-sbs-console.aspx

Synology Admin Warnung ausschalten

/usr/syno/synoman/webman/modules/DisableAdminNotification/config

„autoLaunch“ umstellen von true auf false

su nano /usr/syno/synoman/webman/modules/DisableAdminNotification/config

Log in via SSH. If you don’t know how to do that,
Enter the following command to open a text editor for a configuration file that we are about to change:

sudo vi /usr/syno/synoman/webman/modules/DisableAdminNotification/config

This opens a CLI editor after you’ve entered your root password. Press I. After that, use your right arrow key to navigate to "autoLaunch":true – now, replace the true with a false. This stops DSM from loading the brute-force warning.

To save your changes, press Esc and enter :wq – press Enter to close the text editor. The warning should now be hidden.

http://web-console.org

MODS Web Console (benötigt PHP7.3)

https://www.beatificabytes.be/sspks/

Das Hinzufügen des ARP-Eintrags ist fehlgeschlagen: Der Zugriff wird verweigert: arp -s geht nimmer

Stattdessen wir jetzt netsh verwendet:

netsh interface ipv4 add neighbors „Name der LAN-Verbindung“ [IP] [MAC]

für Copy & Paste:
netsh interface ipv4 add neighbors LAN-Verbindung 10.11.1.5 00-11-32-B7-00-E9
netsh interface ipv4 add neighbors Local Area Connection 192.168.0.1 00-24-01-d2-3a-bd
netsh interface ipv4 add neighbors Ethernet 10.11.1.5 00-11-32-B7-00-E9

Netzwerkkarten anzeigen:
netsh interface show interface

How to restore Registry from its secret backup on Windows 10

On Windows 10, it is never a good idea to modify the Registry because the database contains low-level settings necessary for the system and certain apps to operate correctly, and the slightest mistake can prevent the device from booting again.

If you recently made system setting changes or installed a buggy update that caused the computer to stop working, you can still recover Windows 10 using the secret Registry backup.

However, there is one caveat, since the operating system no longer creates these backups automatically, you have to re-enable it manually before you can use it.

In this guide, you will learn the steps to restore the previous version of the Registry manually from its automated backup on Windows 10.

Important: Remember that modifying system files can further damage the installation if it is not done correctly. It is assumed that you know what you’re doing and that you have previously created a full backup of your computer. Use these steps at your own risk.

Restore Registry manually on Windows 10

To manually restore the Registry on Windows 10, use these steps:

    1. Start computer with the Advanced startup options.
    2. Click on Troubleshoot.
    3. Click on Advanced options.
    4. Click on Command Prompt.

When your device starts in Command Prompt, it will start on X:WindowsSystem32. Now you need to move to the drive letter where Windows is installed. While the operating system is installed on the C: drive, when you boot your computer on recovery mode, this drive letter could change to something else. However, in most cases, the drive letter is D:. Type the following command to enter into the correct drive where Windows 10 is installed and press Enter:

  1. d:
  2. Type the following command to verify you are in the correct drive and press Enter:
    dir
    Command Prompt in Advanced startupCommand Prompt in Advanced startup
    If you see the Windows folder, you are in the correct drive letter. If not, return to step No. 5 and try another letter.
  3. Type the following command to enter into the System32 folder and press Enter:
    cd d:windowssystem32
    Change D in the command with the correct drive letter for your scenario.
    Windows 10 Config folderWindows 10 Config folder
  4. Type the following command to create a folder to temporary backup of files on the config folder, which also happens to store a copy of the Registry, and press Enter:
    mkdir configBak
  5. Type the following command to create a temporary backup of the files in the config folder, and press Enter:
    copy config configBak
    Making a backup copy of the Registry on Windows 10Making a backup copy of the Registry on Windows 10
  6. Type the following command to move inside the RegBack, which contains a backup of the Registry, and press Enter:
    cd configRegBack
  7. Type the following command to verify the content of the RegBack folder and press Enter:
    dir
    RegBack folder contentRegBack folder content

     

    Warning: After running the dir command, the files’ size (SYSTEM, SOFTWARE, SAM, SECURITY, DEFAULT) should be similar to the ones you see in the screenshot. If any of the files shows 0, do NOT continue as you won’t be able to repair your Windows 10 installation, and your device may stop booting.
  8. Type the following command to copy the files from the RegBack folder to the config folder and press Enter and the Y key on every question to confirm:
    copy * ..*
    Restoring Registry from its backupRestoring Registry from its backup on Windows 10
  9. Click the Close (X) button from the top-right.

Once you complete the steps, the computer will reboot, and Windows 10 should start correctly.

We are focusing this guide on Windows 10, but the concept also should work on Windows 8.1 and Windows 7.

How to enable automatic Registry backup on Windows 10

Windows 10 adds option to enable automatic backups for the Registry. In previous releases, Windows 10 used to save a copy of the entire Registry inside the RegBack system folder automatically, but to help reduce storage space, since the April 2018 Update, the operating system has removed the functionality.

As a result, users wanting to recover the system after a corrupt registry hive, quickly found that inside the C:WindowsSystem32configRegBack folder, each registry hive was 0kb in size.

If you want the legacy behavior back, Windows 10 includes a registry key to re-enable automatic backups for the entire Registry every time your computer restarts successfully.

In this guide, you’ll learn the steps to allow Windows 10 to create backups of the Registry every time your computer starts.

  • Enable automatic backup for Registry
  • Create manual backup of Registry

Enable automatic backup for Registry

To enable automatic backups of the Registry, use these steps:

Warning: Modifying system files can further damage your Windows installation if it’s not done correctly. It’s assumed that you know what you’re doing and that you have previously created a full backup of your computer. Proceed with caution and use this as the last course of action.
    1. Open Start on Windows 10.
    2. Search for regedit and click the top result to open the Registry.
    3. Browse the following path:
      HKLMSystemCurrentControlSetControlSession ManagerConfiguration Manager
    4. Right-click the Configuration Manager (folder) key and select New submenu, and click the DWORD (32-bit) Value option.
      Configuration Manager registryConfiguration Manager registry
  1. Name the key EnablePeriodicBackup and press Enter.
  2. Double-click the newly created DWORD and set the value from 0 to 1.
    Configuring EnablePeriodicBackup for automatic Registry backups on Windows 10Configuring EnablePeriodicBackup for automatic Registry backups on Windows 10
  3. Click the OK button.
  4. Restart your computer.

Once you complete the steps, Windows 10 will create a backup of the entire Registry inside the RegBack folder, and it’ll create a “RegIdleBackup” task in the Task Scheduler to manage future backups.

If the time comes when you computer can’t start because of corruption in one of the registry hives, then you can use this guide to restore the registry from backup to allow Windows 10 to start correctly.

Create manual backup of Registry

To run the Windows 10 Registry backup manually, use these steps:

  1. Open Start.
  2. Search for Task Scheduler and click top result to open the console.
  3. Browse the following path:
    Task Scheduler Library > Microsoft > Windows > Registry.
  4. Right-click the RegIdleBackup task and select the Run option.
    Running RegIdleBackup task on Windows 10Running RegIdleBackup task on Windows 10

After you complete the steps, the task will run to create a backup of the entire Registry using five files (Default, Sam, Security, Software, and System) overwriting the previous backup in the RegBack folder.

How to Register Active Directory Schema MMC Snap-In

By default, the Active Directory Schema MMC snap-in is not registered on domain controllers or machines with the Remote Server Administration Tools (RSAT) installed. To use the snap-in for the first time on a new machine, you’ll need to register the DLL. To do this, follow the steps below:

  1. Open an elevated command prompt
  2. Run the following command: regsvr32 schmmgmt.dll
  3. You should receive a success message:
DllRegisterServer in schmmgmt.dll succeeded.

Once you have registered the snap-in, you can add it to an MMC by following these steps:

  1. Open a new MMC Console (Start>Run>mmc)
  2. In the MMC Console, go to File>Add/Remove Snap-in
  3. Add the Active Directory Schema snap-in as shown below:

Once you click OK, you’ll be able to access the snap-in through the MMC Console

MACVLAN über Portainer einrichten

MACVLAN über Portainer einrichten

In diesem Tutorial werden wir mittels der Portainer Weboberfläche manuell ein MACVLAN erstellen dass wir dann später beim Starten eines Containers verwenden können. Wie ihr Portainer für euren Docker Host einrichtet habe ich bereits in diesem Tutorial beschrieben:

Ich empfehle die Verwendung von MACVLAN grundsätzlich nur fortgeschrittenen Benutzern, denn für die Umsetzung solltet Ihr in jedem Fall mit den Basics zum Thema „IP-Netzwerke“ vertaut sein und euer eigenes Heimnetzwerk im Griff haben. Wenn euch Begriffe wie „DHCP“, „Gateway“ oder „Subnet“ nichts sagen, holt euch bitte entsprechende Unterstützung. Außerdem ist es hilfreich sich vorab einmal mit dem Networking unter Docker auseinander zu setzen. Infos dazu findet ihr z.B. hier:

 

docs.docker.com/network

 

Vorbereitungen für MACVLAN

Und schon geht es los. Für die Umsetzung des Tutorials benötigt ihr also Kenntnisse über euer eigenes Netzwerk, den Zugriff auf die Portainer Oberfläche und einen Konsolenzugriff (z.B. über SSH) auf euren Docker Host.
In meinem Beispiel arbeite ich auf einer Synology Disk Station und verwende als Testnetz ein 192.168.0.0/24-Netz. Das Gateway liegt klassich auf der .1 und es gibt keinen DHCP-Bereich. Mein Container soll später die IP-Adresse 192.168.0.100 bekommen.

Und schon geht es los. Das Erstellen des MACVLAN-Netzwerkes umfasst insgesamt zwei Schritte. Im ersten Schritt erstelle wir eine „Configuration“ mit den gewünschten Netzwerkinformationen. Im zweiten Schritt erstellen wir dann mit Hilfe der „Configuration“ die sogenannte „Creation“ die wir dann später auch mit dem ioBroker-Container verbinden.

Hinweis

Bis einschließlich der Docker-Paketversion 17 war es durch einen Bug auf der DS nicht möglich nach der Erstellung der „Configuration“ eine „Creation“ zu erstellen. Dafür konnte man aber die „Configuration“ direkt mit dem ioBroker-Container verbinden und hatte ein funktionierendes MACVLAN. Eine Erklärung dafür habe ich nicht gefunden, es lief so aber bei mir monatelang problemlos. Trotzdem würde ich empfehlen bei Installationen auf einer DS das Docker-Paket vorher auf die aktuellste Version zu bringen.

Öffnen wir also erst einmal die Portainer-Weboberfläche, melden uns an und wählen unseren Endpoint (Host). Anschließend starten wir die Erstellung der „Configuration“ mit einem Klick auf den Button „Add network“ unter „Networks“.

Im folgenden Dialog sind einige Felder zu füllen. Beginnen wir mit dem Namen. Ich werde dem MACVLAN nur eine einzelne IP-Adresse zuweisen. Daher bekommt mein MACVLAN auch einen eindeutigen Namen. Weil es sich um die „Configuration“ handelt, hänge ich noch ein „conf“ dran: „iob_public_conf“. Als Driver wählen wir natürlich „MACVLAN“.

Weiter geht es zum nächsten Feld: Parent network card. Hier müssen wir angeben auf welche physikalische Netzwerkkarte wir unser MACVLAN binden wollen. An dieser Stelle liegt dann auch die Beurteilung „für fortgeschrittenen Benutzer“ begründet. Denn mir ist bisher kein Weg bekannt diese Information der Weboberfläche der DS zu entlocken. Da hilft nur Kommandozeile raus und „ifconfig“ rein.

Auf meiner virtuellen Test-DS liegt die lokale IP-Adresse (192.168.0.32) auf dem Interface eth0. Ich verwende also dieses.

Weiter geht es mit dem Abschnitt „Network configuration“ Hier fülle ich die Informationen meinem Netzwerk entsprechend aus. Für „IP range“ verwende ich die gewünschte IP-Adresse mit einer Präfixlänge von „/32“. Dieses Netz enthält dann schließlich genau eine IP-Adresse.

Hinweis

Es ist natürlich auch möglich dem MACVLAN über die Präfixlänge einen ganzen Adressbereich zur Verfügung zu stellen, sodass man mehrere Container im MACVLAN mit Adressen versorgen kann.

So hat man z.B. bei 192.168.0.80/29 die Adressen .81 bis .86 für Container zur Verfügung.

Allerdings sollte man bei jedem Container genau überlegen ob dieser wirklich eine eigene IP-Adresse benötigt. In den meisten Fällen (Webster, Datenbanken usw.) ergibt das nämlich keinen Sinn.

Bei der Wahl des Netzes unterstützen kann euch dabei der z.B. Netzwerkrechner von Heise.

Achtung: Um IP-Konflikte in eurem Netzwerk zu vermeiden, stellt bitte sicher dass der gewählte Bereich NICHT von einem DHCP Server verwaltet wird/ vergeben werden kann!

Über den Button „Create the network“ schließe ich die Erstellung der „Configuration“ ab.

Die Erstellte „Configuration“ sollte nun in der Liste der Netzwerke auftauchen.

Fehlt noch die „Creation“. Um diese zu erstellen klicken wir erneut auf den Button „Add network“ und geben einen Netzwerknamen an. Dieses Mal verwenden wir nur „iob_public“ und wählen als „Driver“ erneut „MACVLAN“ aus. Anschließend klicken wir auf den Button „Creation“ und wählen im Dropdownmenü „Configuration“ unsere vorab bereits erstellte „Configuration“ aus.

 

Über den Button „Create the network“ schließen wir nun die Erstellung der „Creation“ ab. Das neue Netzwerk erscheint in der Liste und ist bereit zur Verwendung.

Umsetzung mit docker-compose aka „Portainer Stacks“…

Natürlich lässt sich die Erstellung des MACVLAN auch in docker-compose abbilden. In Portainer nennt sich das ganze „Stacks“. Wer noch nichts davon gehört hat kann erst einmal hier weiter lesen. Für alle Anderen habe ich hier das oben erläuterte Beispiel einmal als Definition für das Stack File. Der Name des Netzwerks lautet im Beispiel dabei „public“.

networks: public: driver: macvlan driver_opts: parent: eth0 ipam: config: – subnet: 192.168.0.0/24 gateway: 192.168.0.1 ip_range: 192.168.0.100/32 aux_addresses: net-address: 192.168.0.100

In dem entsprechenden Container wird das Ganze dann wie folgt, inklusive der IP-Adresse für den Container, referenziert.

networks: public: ipv4_address: 192.168.0.100

Das solle es zu diesem Thema erst einmal gewesen sein. Bei Fragen und Anregungen nutzt gerne die Kommentare oder kontaktiert mich über einen der öffentlichen Kanäle wie z.B. über das ioBroker Forum oder den ioBroker Discord Channel.

Grundsätzlich biete ich keinen persönlichen Support per Messenger bzw. E-Mail an. Fragen sollten meiner Meinung nach immer öffentlich gestellt und beantwortet werden, damit auch andere User mit der selben Frage Zugriff auf die Antworten bekommen. 🙂 Falls ihr mal irgendwo keine Antwort bekommt, nutzt gerne das Kontaktformular und macht mich auf euren Kommentar, Post, Beitrag oder Thread aufmerksam! Danke.

 

Content retrieved from: https://smarthome.buanet.de/2020/09/macvlan-ueber-portainer-einrichten/.

ioBroker Docker Container – Steuerung per Kommandozeile

ioBroker Docker Container – Steuerung per Kommandozeile

Grundsätzlich kann die ioBroker-Installation innerhalb meines Docker Containers wie in der ioBroker-Dokumentation beschrieben über die Kommandozeile bedient werden. Allerdings gilt dies nicht uneingeschränkt. Denn aufgrund von Problemen beim Autostart des ioB-Dienstes innerhalb des Containers bin ich gezwungen gewesen den ioBroker im Container per Befehl zu starten und nicht wie üblich als Dienst laufen zu lassen. Demnach funktioniert auch die Steuerung des Dienstes über iobroker start und iobroker stop im Container nicht. Als Alternative verwende ich im Start-Script daher folgenden Befehl:

gosu iobroker node node_modules/iobroker.js-controller/controller.js

Allerdings empfehle ich dringend statt des manuellen Starts über die Kommandozeile immer den gesamten Container einmal neu zu starten. Nur dann ist gewährleistet dass alles so läuft wie es soll. 🙂

Natürlich unterscheidet sich aufgrund der oben genannten Unterschiede auch das Beenden des ioBrokers:

pkill -u iobroker

Dieser Befehl beendet dabei schlicht alle im Container laufenden Prozesse des Users „iobroker“.

Ein js-controller Update würde also analog zur ioBroker-Dokumentation über die Kommandozeile im Container wie folgt aussehen:

pkill -u iobroker
iobroker update
iobroker upgrade self
>>> neustart des containers <<<

alternativ:

pkill -u iobroker
npm install iobroker.js-controller –-production
>>> neustart des containers <<<

Content retrieved from: https://smarthome.buanet.de/2019/05/iobroker-docker-container-steuerung-per-kommandozeile/.

ioBroker Docker Container – Backup & Restore

ioBroker Docker Container – Backup & Restore

Das Thema Backup & Restore des ioBroker im Docker Container ist eigentlich gar nichts Besonderes. Denn grundsätzlich gilt nämlich, dass die ioBroker-Daten im Container genauso gesichert werden können wie in jeder anderen ioBroker-Installation auch.

Im Folgenden ein paar Informationen und Links zu den beiden wichtigsten Varianten des ioBroker-Backups und was ich euch diesbezüglich empfehle.

Variante 1: Backup auf Dateiebene

Beim Backup auf Dateiebene wird schlichtweg der gesamte Ordner in dem sich die ioBroker Installation befindet in einem Backup gesichert. Wie euch bekannt sein sollte, ist dies der Ordner /opt/iobroker oder unter Docker eben jener Ordner bzw. jenes Volume auf dem Host, der/ das bei der Erstellung in den Container eingebunden wurde.

In der Regel erfolgt das Backup auf Dateieben über ein Script auf dem Docker Host. Hier sollte aber unbedingt berücksichtigt werden, dass der ioBroker Container vor dem Kopieren/ Sichern des ioBroker-Ordners beendet sein sollte.

Diese Methode eignet sich in Bezug auf das ioBroker Docker Image vor allem für Updates des ioBroker Containers innerhalb der Major-Versionen (z.B. innerhalb der Version 5.x.x). Durch simples Anlegen einer Kopie des Ordners oder Volumes auf dem Docker Host kann man so schnell und unkompliziert eine neue Version des Docker Images testen und im Zweifel auch schnell auf die alte Version zurück schwenken.

Achtung

Beim Wechsel der Major-Version, also z.B. von einem ioBroker Docker Image v4.x.x auf v5.x.x ändert sich innerhalb des ioBroker Images zumeist auch die Node-Version. In diesem Fall wären weitere Schritte über die Kommandozeile erforderlich. Details zum Wechsel der Node Version gibt es auch hier in der offiziellen ioBroker-Doku.

Da diese Methode eher etwas für fortgeschrittenen User ist, habe ich mich dazu entschlossen diesen Weg hier nicht weiter zu erörtern. Wer doch einen Blick wagen möchte, dem empfehle ich einen kurzen Blick in die Rubrik „Sichern & Wiederherstellen“ des folgenden, eigentlich bereits eingemotteten Tutorials:

Variante 2: Backup der Konfiguration (Best Practice)

Mittlerweile bringt der ioBroker aber eine wirklich gute eingebaute Möglichkeit mit ein Backup der Konfiguration direkt aus ioBroker heraus zu erstellen. Dies geschieht entweder über den Befehl iobroker backup in der Kommandozeile oder mittels des Adapters „ioBroker.backitup“.

ioBroker.backitup

https://github.com/simatec/ioBroker.backitup

In beiden Fällen steht am Ende ein Archiv, dass die komplette Konfiguration des ioBroker enthält und sich ebenfalls per Kommandozeile oder Adapter einfach wiederherstellen lässt. Über den Adapter lassen sich außerdem zeitgesteuert Backups erstellen. Mit einem kleinen Copy Script auf dem Docker Host lässt sich das Backup dann problemlos regelmäßig auch an einen „sicheren“ Ort kopieren.

Der Große Vorteil dieser Variante besteht aber darin, dass das Backup in der Regel relativ klein ist und sich problemlos auf einem neuen oder beliebig anderem System mit ioBroker wiederherstellen lässt.

Für den Fall des ioBroker Docker Containers bedeutet dies, dass ihr getrost den alten Container und das zugehörige Image löschen könnt und nur allein aus dem Backupfile eure Installation wiederherstellen könnt.

Allerdings gibt es auch einen Nachteil. Währen ihr bei Variante 1 im besten Fall den Container einfach startet und alles wieder läuft, muss bei Variante 2 der ioBroker nach dem Restore erst die verwendeten Adapter (neu) installieren. Dies kann bei einer größeren Anzahl Adapter mitunter recht lange dauern…

Beispiel: Wiederherstellung eines ioBroker-Containers aus dem Backupfile

Wie immer gibt es also Vor- und Nachteile. Trotzdem ist Variante 2 aus meiner Sicht grundsätzlich die sauberere und zuverlässige Methode. Grund genug sie einmal in einem Beispiel durchzuspielen.

Wir stellen uns also vor, wir hatten einen Systemcrash. Das Backupfile vom gestiegen Backup ist vorhanden. Unser Docker Host (welcher Art auch immer) ist wiederhergestellt und unser Portainer läuft auch wieder.

Portainer auf der Synology DiskStation

Alles was wir nun zur Wiederherstellung tun müssen ist einen neuen ioBroker Container anlegen. Wie das geht haben wir ja bereits in diesem Tutorial besprochen:

ioBroker unter Docker auf der Synology DiskStation (ab v3)

Der Clou an der Sache: Seit Version 4.1.0 des ioBroker Container Images ist es möglich vor dem ersten Start ein Backupfile in das noch leere Verzeichnis, welches in den Container als /opt/iobroker eingebunden wird, zu kopieren. Das Backup wird dann vom Startup-Script des Container erkannt und für die Wiederherstellung verwendet. Vollautomatisch.

Weiteren Informationen dazu findet ihr auch in der Readme auf Github. Bitte behaltet bei der Prozedur nach dem Start des Containers die Logausgabe im Auge. Hier könnt ihr sehen ob der Restore erfolgreich durchgeführt werden konnte oder es ggf. Probleme gab.

Nachdem der ioBroker Container dann gestartet ist und ihr Zugriff auf den ioBroker Admin bekommen habt, könnt ihr im dortigen Log beobachten wie der ioBroker nun die Adapter nach und nach neu installiert. Jetzt braucht ihr eigentlich nur noch etwas Geduld, und der Restore ist abgeschlossen.

Hinweis

Sollte es mal nicht mit der automatischen Wiederherstellung klappen, könnt ihr natürlich auch einfach einen neuen, leeren ioBroker Container starten, das Backupfile in das ioBroker-Verzeichis kopieren und den Restore über die Kommandozeile (mehr Infos) oder den Backitup-Adapter (mehr Infos) durchführen.

Content retrieved from: https://smarthome.buanet.de/2020/10/iobroker-docker-container-backup-restore/.

ioBroker Docker Container – Updates & Upgrades

ioBroker Docker Container – Updates & Upgrades

Wie halte ich meine ioBroker-Installation aktuell? Eine kurze Frage die aber durchaus etwas komplexer zu beantworten ist. Daher im folgenden erst einmal ein paar ausführliche Informationen sowie einfache Kurzanleitungen zu den verschiedenen Updates.

Updates der ioBroker Adapter

Die Aktualisierung der ioBroker Adapter erfolgt in der Regel über die Weboberfläche des ioBroker Admins. Unter Anderem über eine Zahl neben dem Menüpunkt „Adapter“ werden verfügbare Updates signalisiert. Über die Adapter-Übersicht lassen sich die Updates dann installieren. Soweit, so einfach.

Hinweis

Die Adapter sind im Ordner /opt/iobroker installiert, den wir ja (hoffentlich) auf den Docker-Host ausgelagert haben. Diese Tatsache erklärt auch, warum Adapter nicht aktualisiert werden wenn man den Container selbst aktualisiert!

Alternativ lassen sich die Adapter natürlich auch über die Kommandozeile aktualisierten. Weitere Infos zur Bedienung des ioBrokers über die Kommandozeile findet ihr in der offiziellen Dokumentation der Konsolenkommandos.

Update des js-controllers

Mit dem js-controller verhält es sich zuerst einmal wie mit den ioBroker-Adaptern. Er ist ebenfalls in Ordner /opt/iobroker installiert und wird nicht aktualisiert wenn man den Container über sein Image aktualisiert. Allerdings ist es aktuell nicht möglich den js-controller über die Weboberfläche des ioBroker Admins zu aktualisieren. Um den js-controller zu aktualisieren ist also zwingend die Kommandozeile zu bemühen.

Damit das Update funktioniert muss der js-controller innerhalb des laufenden Containers beendet werden. Ohne js-controller kein ioBroker, daher wird damit natürlich der gesamte ioBroker inkl. aller Adapter gestoppt.

Und hier kommen wir zu einer Besonderheit des ioBroker Containers. Während der js-controller auf anderen Systemen über den ioBroker Dienst gesteuert wird, startet er im Container „nur“ als normaler Prozess. Aus diesem Grund sind die Kommandos iobroker stop und iobroker start im Container auch teilweise ohne Funktion und sollten nicht verwendet werden!

Um den ioBroker und den js-controller innerhalb des Containers zu beenden werden über den Konsolenbefehl pkill -u iobroker kurzerhand alle Prozesse des Benutzer „iobroker“ beendet. Anschließend kann der js-controller wie auf jedem anderen Linux System aktualisiert werden.

Nach der Aktualisierung muss der ioBroker neu gestartet werden. Das geht theoretisch auch über einen Befehl, allerdings empfehle ich dringend dies einfach über den Neustart des Containers zu erledigen.

Im Detail würde sich also die komplette Prozedur des Updates über die folgenden beiden Befehle erledigten lassen:

pkill -u iobroker
iobroker update
iobroker upgrade self

Anschließend ist dann, wie bereits angesprochen, der Container zu beenden und neu zu starten.

Update des Containers

Nachdem wir jetzt alles über die Updates innerhalb des ioBrokers wissen, bleibt noch der Container selbst. Im Container, bzw. dem Image aus dem der Container gestartet worden ist, sind alle Softwarepakete enthalten die der ioBroker zum Laufen benötigt. Wenn man es nicht so ganz genau nimmt dann könnte man sagen, es ist praktisch das Betriebssystem in dem der ioBroker ausgeführt wird.

Natürlich gibt zu den einzelnen Paketen die im Container enthalten sind auch immer wieder Updates. Prominente Pakete sind zum Beispiel „node“ und „npm“, die ihr vermutlich schon aus  Weboberfläche des ioBroker Admin kennt.

Wer weiß wie man in einer Linux Umgebung über die Kommandozeile Updates abruft und installiert, der kann dies im Grunde genauso auch über die Kommandozeile innerhalb des Containers tun. Zum Beispiel in etwas so:

apt-get update && apt-get upgrade -y

Ich persönlich bevorzuge allerdings einen anderen Weg, denn über Portainer ist es möglich ein Update des Containers mit wenigen Klicks einfach über die Weboberfläche zu erledigen. Dabei wird praktisch der alte Container gelöscht, die aktuelle Version des Images herunter geladen und der Container wieder neu gestartet.

Achtung

Das Update über einen neuere Version des ioBroker Docker Images funktioniert innerhalb einer Major Version (z. B. v5.x.x) problemlos.

Beim Upgrade, also dem Wechsel der Major Versions (z.B. von v4.x.x auf v5.x.x) gibt es in der Regel auch immer eine neue Major Version der node-Pakets im Image. Hier wären unter Umständen nach dem Update des Containers noch weitere Schritte innerhalb des ioBrokers notwendig damit der ioBroker wieder ordnungsgemäß funktioniert (Mehr Infos dazu in der ioBroker Doku zum Thema Node Update).

Aus diesem Grund empfehle ich ein Upgrade des Containers immer über die Funktion Backup und Restore durch zu führen. Mehr Infos zu Backup und Restore hier: ioBroker Docker Image – Backup & Restore.

Kurzanleitung: Update des Containers über Portainer

Wir öffnen also unsere Portainer Weboberfläche und öffnen mit einem Klick auf unseren ioBroker Container unter dem Menüpunkt „Containers“ die „Container details“.

Anschließend suchen wir den Button „Recreate“. Durch einen weiteren Klick öffnet sich ein Fenster in dem wir die Checkbox für „Pull latest image“ aktivieren. Mit einem Klick auf den Button „Recreate“ starten wir den Prozess.

Hinweis

Wenn ihr beim Neuerstellen des Containers Parameter ändern oder auf eine andere Version des Docker Images wechseln wollt, dann schaut euch doch mal die Funktion hinter dem Button „Duplicate/ Edit“ an.

Kleiner Tip dazu: „Duplicate/ Edit“ funktioniert am Besten wenn ihr vorher den Container beendet.

Im Grunde sollte es das gewesen sein. Ich hoffe ich habe alles berücksichtigt und nichts vergessen. Falls euch auffallen sollte, dass etwas fehlt oder mißverständlich erklärt ist, lasse es mich bitte wissen. Am Besten und schnellsten geht das über die Kommentarfnktion. Danke!

 

Content retrieved from: https://smarthome.buanet.de/2020/10/iobroker-docker-container-updates-upgrades/.

Betrieben von WordPress | Theme: Baskerville 2 von Anders Noren.

Nach oben ↑