Systemintegration & Kundenkontakt

Ich denke in Lösungen, nicht in Problemen

Meine Ausbildung: Fachinformatiker für Systemintegration (IHK). Meine Kundenerfahrung kommt aus Einzelhandel und Gastronomie. Gerade suche ich eine Aufgabe, in der beides zusammenkommt – technische Tiefe und Verantwortung.

6
Dienste im Eigenbetrieb, rund um die Uhr
Fachinformatiker
Systemintegration (IHK)
Porträtfoto von Pascal Müller

Pascal Müller

Systemintegration von Grund auf gelernt.
Mein Homelab ist mein ständiger Übungsplatz.
Technik erklären ist mir lieber als Technik vorführen.

154
Dokumente wiederhergestellt
Nach Datenbankverlust – ohne Datenverlust zurückgeholt
8 TB
ZFS-Pool im Eigenbetrieb
RAIDZ1 – Plattenausfall erkannt, Ursache behoben
6
Dienste im Dauerbetrieb
DNS · Reverse Proxy · Git · Web · Dokumente · Fachanwendung

Motivation & Zielsetzung

Während meiner Umschulung und durch private Weiterbildung im IT-Bereich wurde mir bewusst, wie wichtig digitale Unabhängigkeit geworden ist. Insbesondere im Hinblick auf Datenschutz und gesetzliche Rahmenbedingungen zeigt sich, dass viele Softwarelösungen internationaler Anbieter nicht vollständig mit europäischen bzw. deutschen Standards übereinstimmen.

Parallel dazu habe ich erkannt, dass durch den gezielten Einsatz eigener, lokal betriebener Lösungen nicht nur die Datensicherheit erhöht, sondern auch langfristig Kosten reduziert werden können.

Diese Erkenntnisse haben mich motiviert, eigene Projekte umzusetzen – mit dem Ziel, unabhängige, effiziente und sichere IT-Strukturen aufzubauen und meine technischen Fähigkeiten kontinuierlich auszubauen.

Projekte & Realisation

Umgesetzt und im täglichen Betrieb. Klick auf ein Projekt um mehr zu erfahren.

Dokumentenverwaltung für den Haushalt +
Papier wird durchsuchbar
→ Jedes Blatt in Sekunden statt in Ordnern
Paperless-ngx läuft bei mir in einer eigenen virtuellen Maschine. Jedes eingescannte Dokument wird per Texterkennung durchsuchbar gemacht, automatisch verschlagwortet und der richtigen Person zugeordnet – Behördenpost, Rechnungen, Versicherungsunterlagen. Die komplette Einrichtung liegt als Textdatei in meiner Versionsverwaltung und nicht in einer Klick-Oberfläche, damit ich sie im Ernstfall auch ohne die Oberfläche wieder aufbauen kann.

Details

• Eigene Debian-VM, Konfiguration als Compose-Datei
• Texterkennung deutsch und englisch
• Workflows: Verschlagwortung und Zuordnung anhand der Ordnerstruktur
• Getrennte Zugänge und Dokumentrechte je Person im Haushalt
• Erreichbar über Reverse Proxy mit TLS unter sprechendem Namen
• Dokumente liegen auf dem ZFS-Verbund, Sicherung automatisch

Speicher: eigener ZFS-Verbund +
Drei Platten, ein Verbund
→ Eine darf ausfallen, ohne dass Daten fehlen
Unsere Dokumente und die Sicherungen liegen auf einem ZFS-Verbund aus drei Festplatten im RAIDZ1. Fällt eine aus, rechnet das System die fehlenden Daten aus den übrigen beiden zurück. Regelmäßige Prüfläufe vergleichen den gesamten Bestand gegen Prüfsummen – stille Datenfehler fallen dadurch auf, bevor sie jemand bemerkt. Zusätzlich laufen automatische Sicherungen; eine Kopie außer Haus ist mein nächster Schritt.

Details

• ZFS-RAIDZ1 aus drei Festplatten
• Getrennte Datenbereiche je Verwendungszweck
• Vollständige Prüfläufe mit Prüfsummenvergleich
• Automatische Sicherungen der virtuellen Maschinen
• Freigabe ins Heimnetz für Scanner und Rechner

# zpool status
  pool: dokumenten
 state: ONLINE
  scan: scrub repaired 0B in 00:16:06 with 0 errors
config:

        NAME                        STATE     READ WRITE CKSUM
        dokumenten                  ONLINE       0     0     0
          raidz1-0                  ONLINE       0     0     0
            ata-ST4000NE0025-…-###  ONLINE       0     0     0
            ata-ST4000NE0025-…-###  ONLINE       0     0     0
            ata-ST4000NE0025-…-###  ONLINE       0     0     0

errors: No known data errors
Zustandsbericht nach einem vollständigen Prüflauf: drei Platten im Verbund, kein einziger Fehler. Seriennummern für die Veröffentlichung entfernt.
Proxmox-Virtualisierung & Netzstruktur +
Eigener Virtualisierungs-Host
→ Dienste sauber getrennt statt in einem Sammelsystem
Als Unterbau für alle meine Dienste nutze ich Proxmox VE: jeder Dienst in einer eigenen virtuellen Maschine, mit fester Adresse, definierter Startreihenfolge und eigener Sicherung. Damit ich dabei den Überblick behalte, habe ich mir eine Konvention gegeben – die VM-Nummer entspricht der letzten Stelle der IP-Adresse. Wer die eine kennt, kennt die andere.

Details

• Proxmox VE als Hypervisor, Debian als Gastsystem
• Adress-Schema „VM-Nummer = letzte IP-Stelle", umgesetzt per Sicherung und Wiederherstellung unter neuer Nummer
• Feste Adressreservierungen im Router, vollständige Zuordnung über MAC-Adressen
• Autostart und Startreihenfolge definiert
• Dabei entdeckt und dokumentiert: eine Fernwartungsschnittstelle im Netz und ein 100-Mbit-Engpass

Von der Klick-Oberfläche zu versionierten Konfigurationen +
12 Stacks migriert
→ Jede Konfiguration nachvollziehbar in Dateien
Ein Teil meiner Container-Konfigurationen steckte in der Datenbank einer Verwaltungsoberfläche (Portainer). Im Störungsfall kam ich nicht mehr heran, und die Ordner trugen nichtssagende Nummern – das hat mich am meisten gestört. Analysiert habe ich deshalb die laufenden Container, die Konfiguration als Compose-Datei nachgebaut und die Container daraus neu erzeugt. Die Verwaltungsoberfläche brauche ich seitdem nicht mehr.

Details

• Laufende Container per docker inspect analysiert
• Konfiguration als Compose-Datei rekonstruiert und gegengeprüft
• Container aus der Datei neu erzeugt, Altlasten entfernt
• Zwölf Stack-Definitionen gesichert und nach Diensten benannt
• Ablage in einer eigenen Versionsverwaltung (Gitea) – auch diese Website liegt dort

DNS-Filter & interne Namensauflösung +
Zentraler DNS fürs ganze Netz
→ Werbung gefiltert, eigene Namen im Haushaltsnetz
AdGuard Home läuft bei mir in einer eigenen VM als zentraler DNS-Dienst: Werbung und bekannte Schadadressen fliegen für jedes Gerät im Haushalt raus, ohne dass auf Handys oder Fernsehern etwas installiert werden muss. Gleichzeitig löst der Dienst meine eigenen internen Namen auf – meine Dienste erreiche ich dadurch nicht über Zahlenkolonnen, sondern über sprechende Namen.

Details

• AdGuard Home als DNS-Filter für das gesamte Netz
• Eigene interne Zone für Dienste (z. B. Dokumentenverwaltung, Versionsverwaltung)
• Filterlisten mit Ausnahmen für benötigte Dienste
• Zusammenspiel mit Reverse Proxy und TLS-Zertifikaten
• Abfragestatistik zur Fehlersuche bei nicht erreichbaren Diensten

Reverse Proxy, TLS & Fernzugriff +
Ein Eingang für alle Dienste
→ Verschlüsselt intern, abgesichert von außen
Meine internen Dienste laufen alle hinter einem Reverse Proxy (nginx-proxy-manager) mit TLS. Nach außen gebe ich bewusst nur das Nötigste frei – diese Website läuft über einen getrennten Webserver mit eigener Netzadresse. An meine internen Dienste komme ich von unterwegs ausschließlich über einen verschlüsselten Tunnel, nicht über offene Ports.

Details

• nginx-proxy-manager als zentraler Eingang für interne Dienste
• Eigener Webserver (Caddy) im getrennten Netzsegment für die öffentliche Seite
• Sicherheits-Header: HSTS, CSP, Referrer- und Permissions-Policy
• Fernzugriff über verschlüsselten Tunnel statt Portfreigaben
• Fehlersuche im Proxy-Pfad: Container, Port, Weiterleitung, Namensauflösung

Herausforderungen

Andere würden es Probleme nennen. Vier Situationen, in denen etwas nicht lief – und wie ich sie gelöst habe.

Alle Dokumente verschwunden – dabei lagen sie noch da +
154 Dokumente zurückgeholt
→ Kein einziges Blatt verloren
Nach einem Umbau zeigte meine Dokumentenverwaltung keine Dokumente mehr und verlangte eine Neuregistrierung – betroffen waren rund 150 Behörden- und Gesundheitsdokumente. Statt zu raten habe ich von unten nach oben geprüft: Platte, Container, Einhängepunkte, Datenbank. Das Ergebnis war ein Aufatmen – die Dateien lagen vollständig auf der Platte, nur die Datenbank war leer. Ursache war ein früherer Wechsel des Datenbanksystems, bei dem die Daten nie mitgezogen wurden. Wiederhergestellt habe ich aus der Sicherung; die Dokumente ohne Eintrag ließ ich neu einlesen, wobei die vorhandene Ordnerstruktur automatisch zur Verschlagwortung wurde.

Was ich mitgenommen habe

Ein Datenbankwechsel ohne Migration fällt nicht sofort auf – die Anwendung startet ganz normal, die Daten sind trotzdem abgehängt. Und: „Kaputt" ist selten alles. Meist ist genau ein Glied der Kette defekt.

Eine Platte fehlte, und keiner hatte es gemerkt +
Redundanz wiederhergestellt
→ Die Ursache war ein Kabel, keine defekte Platte
Bei einer Bestandsaufnahme fiel mir auf, dass eine Platte meines Verbunds als ausgefallen markiert war – unbemerkt, seitdem lief alles ohne Sicherheitsnetz. Geprüft habe ich zuerst die gesunden Platten als Kontrollgruppe, um Controller und Werkzeug auszuschließen. Erst danach stand fest, dass es wirklich an der einen Platte liegt. Beim Blick auf die Verkabelung fand ich dann eine gelöste Steckverbindung. Nach dem Neustecken lief die Wiederherstellung von allein, ein anschließender Prüflauf bestätigte mir den Datenbestand.

Was ich mitgenommen habe

Erst die Kontrollgruppe testen: Funktioniert ein Werkzeug bei den gesunden Geräten, liegt der Fehler nicht am Werkzeug. Und ohne Überwachung merkt man den ersten Plattenausfall erst beim zweiten – deshalb steht die Überwachung jetzt ganz oben auf meiner Liste.

Ausführliche Fallbeschreibung →
Die Website war wegen eines einzigen Buchstabens offline +
Ein Tippfehler, ein Neustart-Karussell
→ Gefunden im Protokoll statt geraten in der Konfiguration
Mein Webserver startete in Endlosschleife neu, die Seite war nicht erreichbar. Statt in der Konfiguration herumzuprobieren habe ich zuerst das Protokoll des Dienstes gelesen – und dort stand der Fehler im Klartext: ein vertippter Befehl in der Konfigurationsdatei, ein einzelner Buchstabe verdreht. Korrigiert, Dienst neu gestartet, Seite wieder online.

Was ich mitgenommen habe

Das Protokoll zuerst lesen, nicht zuletzt. Fehlermeldungen sind meistens die schnellste Abkürzung – man muss sie nur ernst nehmen, statt sie wegzuklicken.

Nach einem Monat Pause wusste ich selbst nicht mehr, wie es zusammenhängt +
„Wie war nochmal die Adresse?"
→ Schriftliche Dokumentation statt Gedächtnis
Wer eine Anlage selbst baut, hat alles im Kopf – vier Wochen später nicht mehr. Welche Adresse hatte der Dienst? In welchem Ordner liegt die Konfiguration? Warum habe ich das damals so und nicht anders gelöst? Genau daran bin ich hängengeblieben, und seitdem schreibe ich mit: eine Übersicht aller Adressen und Dienste, ein Protokoll der Entscheidungen samt Begründung, Schritt-für-Schritt-Anleitungen für wiederkehrende Aufgaben und eine Störungsdatenbank nach dem Muster Symptom, Ursache, Lösung.

Was ich mitgenommen habe

Nicht dokumentiert heißt beim nächsten Mal von vorn. Am wertvollsten ist dabei nicht das Was, sondern das Warum – eine Einstellung findet man wieder, den Grund dafür nicht. Zugangsdaten gehören allerdings ausdrücklich nicht in die Dokumentation, sondern in einen Passwortspeicher. Eine Anleitung darf jeder lesen können, ohne dass sie zum Schlüsselbund wird.

Die Sicherung hätte den Server fast lahmgelegt +
Systemplatte lief voll
→ Ziel korrigiert, Belegung von 84 % auf 50 %
Meine erste automatische Sicherung landete auf der Systempartition statt auf dem dafür vorgesehenen Speicher. Die füllte sich, bis nichts mehr ging. Die Fehlermeldung nannte den Grund direkt – das Ziel war falsch gesetzt. Umgestellt, und im gleichen Zug ausgemistet: alte Sicherungen, Zwischenspeicher und ungenutzte Abbilder. Am Ende war die Systemplatte von 84 % auf 50 % Belegung zurück.

Was ich mitgenommen habe

Eine Sicherung gehört nie auf dieselbe Platte wie das System. Und nach dem Einrichten einmal nachsehen, ob sie tatsächlich dort landet, wo man sie hingeschickt hat – einrichten ist nicht dasselbe wie funktionieren.

Roadmap

Geplant und in Vorbereitung – ehrlich getrennt vom Umgesetzten.

Monitoring & Alarmierung +
Überwachung mit Alarm
→ Ausfälle melden lassen, statt sie zu entdecken
Auslöser für dieses Vorhaben war eine unangenehme Erkenntnis: Der Ausfall einer Platte in meinem RAID-Verbund blieb wochenlang unbemerkt, weil ich schlicht nicht danach gesehen habe. Was ich will, ist eine Überwachung, die sich von selbst meldet – bevor der zweite Fehler dazukommt.

Geplant

• Erreichbarkeitsprüfung aller Dienste (Uptime Kuma)
• Zustand von Pool, Platten und Speicherplatz überwachen
• Benachrichtigung per E-Mail bei Fehlern und fehlgeschlagenen Sicherungen
• Später: Messwerte und Verlauf (Prometheus / Grafana)
• Regelmäßige Wiederherstellungstests der Sicherungen

Dokumentenverwaltung ausbauen +
Vom Papier direkt ins Archiv
→ Scannen, ablegen, verschlagworten – ohne Zwischenschritt
Meine Dokumentenverwaltung läuft, aber der Weg dorthin ist noch Handarbeit. Als Nächstes soll der Netzwerkscanner direkt in den Ordner schreiben, den Paperless überwacht: Taste drücken, Blatt einziehen, fertig – der Rest passiert von selbst. Über verschiedene Tasten am Gerät wird gleich die richtige Person zugeordnet, den Rest übernehmen die Workflows.

Geplant

• Scanner-Profile auf einen gemeinsamen Ablage-Ordner umstellen
• Diesen Ordner in die Dokumentenverwaltung einhängen, statt Dateien zu kopieren
• Zuordnung zur richtigen Person direkt über die Taste am Gerät
• Zweite, getrennte Instanz für ein weiteres Familienmitglied – eigene Dokumente, eigener Zugang
• Später: Einbindung in die private Cloud, schreibgeschützt und ohne doppelte Dateien

Private Cloud für Dateien, Fotos und Kalender +
Eigene Cloud statt fremder Server
→ Fotos, Kalender und Kontakte im eigenen Haus
Geplant ist Nextcloud in einer eigenen VM, mit Speicher auf dem ZFS-Verbund: Handy-Fotos automatisch sichern, Kalender und Kontakte für mehrere Personen im Haushalt synchron halten. Von unterwegs will ich ausschließlich über einen VPN-Tunnel drauf – offen ins Internet stelle ich den Dienst bewusst nicht, dafür sind mir die Daten zu persönlich.

Geplant

• Eigene VM, Datenablage auf dem ZFS-Pool
• Automatischer Foto-Upload für mehrere Benutzer
• Kalender und Kontakte (CalDAV / CardDAV)
• Zugriff von unterwegs nur über WireGuard-Tunnel
• Dokumentenverwaltung als schreibgeschützte Einbindung – keine doppelten Dateien

Backup-Server & Auslagerung +
3-2-1-Regel
→ Eine Kopie außer Haus
Meine Sicherungen liegen aktuell im selben Gehäuse wie die Originale. Das schützt vor einem Plattenausfall, aber nicht vor Diebstahl, Feuer oder einem Fehler von mir. Als Nächstes will ich deshalb einen eigenen Sicherungsserver aufsetzen und eine Kopie außer Haus auslagern.

Geplant

• Drei Kopien, zwei Medien, eine außer Haus
• Proxmox Backup Server mit Deduplizierung
• Verschlüsselte Auslagerung
• Alarm bei fehlgeschlagener Sicherung
• Wiederherstellung regelmäßig üben – ein ungetestetes Backup ist kein Backup

Dokumentations-Wiki für IT-Prozesse +
Wissen an einem Ort
→ Betriebsdokumentation statt Zettelwirtschaft
Geschrieben habe ich bereits eine Dokumentation meiner Adressen und Dienste, dazu ein Protokoll der getroffenen Entscheidungen samt Begründung, Schritt-für-Schritt-Anleitungen und eine Störungsdatenbank. Als Nächstes will ich das Ganze in eine durchsuchbare Wiki-Form bringen, damit ich im Ernstfall nicht in Textdateien suchen muss.

Geplant

• Wiki-Plattform aufsetzen (z. B. MkDocs oder BookStack)
• Bestehende Dokumentation übernehmen: Adressen, Ports, Dienste
• Entscheidungsprotokoll: warum etwas so gebaut wurde
• Anleitungen für wiederkehrende Aufgaben
• Störungsdatenbank: Symptom, Ursache, Lösung

OCR-basierte Einkaufs- und Preisanalyse +
Kassenzettel als Datenquelle
→ Preise und Konsum auf Artikelebene auswerten
Mein System soll Kassenzettel automatisch auswerten: Produkt, Markt, Angebots- und Normalpreis strukturiert erfassen, damit ich Preisunterschiede und mein eigenes Einkaufsverhalten sehen kann. Die eigentliche Hürde ist dabei nicht die Texterkennung, sondern die Vereinheitlichung der Artikelkürzel – jeder Markt kürzt anders ab, und manche Abkürzung verstehe selbst ich nicht.

Geplant

• Texterkennung von Kassenzetteln und digitalen Belegen
• Vereinheitlichung der Artikelkürzel über Nachschlagetabelle und Sprachmodell
• Vergleich Angebots- gegen Normalpreis
• Auswertung des Einkaufsverhaltens über Zeiträume
• Auswertung als Übersichtsseite

Smarthome mit lokalem Sprachassistenten +
Sprachsteuerung ohne Cloud
→ Zielbild für die gesamte Infrastruktur
Mein langfristiges Ziel ist ein Sprachassistent, der vollständig im eigenen Netz läuft – ohne dass Aufnahmen das Haus verlassen. Home Assistant als Zentrale, dazu selbstgebaute Geräte auf Arduino-Basis. Die übrigen Dienste sind für mich dabei kein Selbstzweck: Sie werden zu Datenquellen für den Assistenten – Dokumente, Termine, Einkäufe, Geräte.

Geplant

• Home Assistant als Zentrale für alle Geräte
• Spracherkennung und Sprachausgabe lokal (Whisper / Piper)
• Lokales Sprachmodell für Befehle und Rückfragen
• Eigene Sensoren und Aktoren auf Arduino-Basis
• Automatisierungen nach Zeit, Zustand und Sensorwerten
• Reihenfolge bewusst: erst die Datenquellen, dann der Assistent

Was ich mitbringe

Wie ich mit Menschen umgehe

  • Zuhören, bevor ich eine Lösung vorschlage – die erste Frage ist selten die eigentliche
  • Meine Erfahrung aus Einzelhandel und Gastronomie: hohe Taktzahl, direkter Kundenkontakt, schnelle Entscheidungen
  • Konflikte ruhig auflösen, auch wenn es hektisch wird
  • Abteilungsverantwortung im Einzelhandel: Warenpräsentation und Beratung

Wie ich an Aufgaben rangehe

  • Nicht „das System kann viel", sondern „das löst genau dieses Problem"
  • Nutzen vor Funktionsliste – was spart es an Zeit, Geld oder Ärger?
  • Ehrlich sagen, wenn etwas nicht passt – das zahlt sich später aus

Wie ich Fehler suche

  • Von unten nach oben prüfen: Dienst, Port, Weiterleitung, Namensauflösung
  • Immer nur eine Sache gleichzeitig ändern, sonst kann ich die Ursache nicht mehr zuordnen
  • Vor jedem Eingriff eine Sicherung – gearbeitet wird nie am Original
  • Gefundene Ursachen schreibe ich auf, damit der nächste Fall schneller geht

Wie ich abwäge

  • IT-Sprache verstehen und in Geschäftsnutzen übersetzen
  • Aufwand gegen Ertrag abwägen, statt die technisch schönste Lösung zu bauen
  • Abhängigkeiten und Folgekosten mitdenken
  • Komplexe Systemlogik durchdringen und praktisch umsetzen

Wie ich mit KI arbeite

  • Informationen sammeln lassen, Entscheidungen selbst treffen – das Werkzeug liefert Vorschläge, verantwortlich bin ich
  • Keine Zugangsdaten, Schlüssel oder personenbezogenen Daten in Werkzeuge geben, die ich nicht kontrolliere
  • Keinen Befehl ausführen, den ich nicht erklären kann – erst verstehen, dann eingeben
  • Routineaufgaben nach festen Regeln, kritische Eingriffe von Hand und mit Sicherung vorher
  • Ergebnisse gegenprüfen statt übernehmen: Vertrauen ersetzt keine Kontrolle

Der nächste Schritt

Seit Februar 2026 bin ich Fachinformatiker für Systemintegration (IHK). Was ich suche: eine Aufgabe, in der technische Tiefe und Verantwortung zusammenkommen – und in der man sich weiterentwickeln kann, statt stehen zu bleiben. Was ich mitbringe: strukturierte Fehlersuche, Ruhe unter Zeitdruck und die Bereitschaft, mich in Neues von Grund auf einzuarbeiten. Zuhause bin ich im Raum Pforzheim / Nordschwarzwald, überregional offen.