Systemadministrator for Linux- og Windows-miljøer. Automatisering af komplekse IT-processer med Ansible og Puppet, drift af serverinfrastrukturer som virtualisering, webservere, firewalls, proxyer etc. Full-stack-webudvikler med HTML, S/CSS, JavaScript, TypeScript, PHP og Python, MariaDB og PostgreSQL; inklusive API-løsninger.

Projekter

Her finder du et udvalg af mine hidtidige professionelle projekter. Hvert projekt repræsenterer mine færdigheder og mit engagement inden for forskellige områder af administration og softwareudvikling.

Opbygning af @rtus-serverinfrastrukturen for politiet i Rheinland-Pfalz og Saarland

03.2025 – 10.2025

@rtus (Artus) er et sagsbehandlingssystem (VBS) til dokumentation af politimæssige hændelser og strafferetlige begivenheder. Systemet muliggør systematisk indtastning, forvaltning og analyse af indsamlede data. @rtus udvikles af Dataport, en IT-tjenesteudbyder for den offentlige forvaltning.

Landesbetrieb Daten und Information (LDI) er ansvarlig for indførelsen og driften for Rheinland-Pfalz og Saarland. I denne sammenhæng blev jeg tilkaldt som ekstern specialist til at understøtte projektet.

Mit opgaveområde omfattede systemadministrationen af Linux-servermiljøet baseret på RHEL og Debian samt automatisering af klargørings- og vedligeholdelsesprocesser med Ansible. Et særligt fokus lå på videreudviklingen af den eksisterende Ansible Collection: Jeg optimerede ydeevnen, udviklede nye plugins i Python og implementerede yderligere roller. Eksisterende komponenter blev refaktoreret for at sikre bedre idempotens.

Den tekniske realisering omfattede administration og automatisering af @rtus-backend-serverne på JBoss/Wildfly-basis. Parallelt hermed introducerede jeg teammedlemmer til Ansible og Git for at sætte dem i stand til selvstændigt at videreudvikle infrastrukturen.

Associeret med ncsolution GmbH

Migrering fra CentOS 7 til AlmaLinux 9

2024

Efter at CentOS 7 den 30. juni 2024 nåede sit End-of-Life (EOL), og der stadig var nogle VM'er med det, var der behov for et alternativ. CentOS 8 var ikke længere en mulighed, da det allerede blev indstillet den 31. december 2021 og dermed også nåede sit EOL. CentOS Stream ville have været en mulighed, men er et helt andet koncept end sine forgængere. Til et produktionsmiljø er det på grund af Rolling Release ikke egnet, da det er mindre stabilt og forudsigeligt. Så der var kun en migrering til RHEL, SUSE, Oracle eller de frie alternativer Rocky Linux og AlmaLinux tilbage. På grund af den frie anvendelighed, de bedre værktøjer, den bedre dokumentation og de tilgængelige frie spejlservere valgte jeg AlmaLinux.

Først blev CentOS 7 forsynet med CentOS-repos fra AlmaLinux, opdateringer blev gennemført, og med Leapp blev systemet hævet til AlmaLinux 8. Her kunne de installerede programmer opdateres, og derefter blev systemet hævet videre til AlmaLinux 9. Til sidst blev de installerede programmer igen opdateret, og forskellige fejl blev rettet, så der igen var et sikkert og funktionsdygtigt system. Dette måtte desværre udføres manuelt på alle systemer, da disse var konfigureret forskelligt, og hvert system havde sine egne problemer.

Migreringen til AlmaLinux sikrede et stabilt grundlag for de kommende år. Opdateringer og især sikkerhedsopdateringer er igen mulige, og alle installerede programmer er igen på et aktuelt niveau. Til sidst blev serverne optaget i Ansible-update-jobbet og holdes nu regelmæssigt opdateret.

Associeret med CSD Holding GmbH (Strehlow)

Indførelse af Ansible til automatisering af tilbagevendende opgaver

2024

Med et stadigt stigende antal servere blev den månedlige servervedligeholdelse stadig mere tidskrævende. For at automatisere vedligeholdelsesopgaver og reducere den samlede tid faldt den fælles beslutning på at indføre Ansible til Linux-serverne i den heterogene Windows-Linux-infrastruktur.

Jeg implementerede en Ansible-server på Debian-basis med Semaphore UI som brugerflade. Integrationen med den eksisterende GitLab-server muliggjorde en struktureret udvikling af Ansible Collections med en separat udviklings-branch og midlertidige feature-branches. Semaphore UI hentede udelukkende Collections fra den stabile main-branch.

For at reducere den månedlige vedligeholdelsesindsats og samtidig holde Linux-serverne opdateret udviklede jeg en Collection med to centrale roller: daglige opdateringer og ugentlige behovsstyrede genstarter. Systemet genstartede servere intelligent kun ved faktisk behov. Vedligeholdelsen blev dermed reduceret til en simpel kontrol af job-historikken i Ansible-serveren i stedet for manuelle enkeltopdateringer.

Udviklingsafdelingen erkendte potentialet og bad om støtte til optimering af hukommelsesforbruget i deres IIS-applikationer. Derefter udviklede jeg endnu en Collection med specialiserede roller til koordineret app-pool-recycling. Løsningen tog hensyn til afhængigheder og implementerede intelligente ventetider mellem genstarterne. Den natlige afvikling af denne automatisering sørgede for markant forbedret ydeevne og stabilitet i arbejdstiden.

Ansible-systemet reducerede vedligeholdelsesindsatsen betragteligt, øgede systemstabiliteten og skabte kapacitet til andre vigtige opgaver.

Associeret med CSD Holding GmbH (Strehlow)

Genopbygning af Windows-deployment-serveren (WDS/MDT)

2024

Som første projekt efter min ansættelse hos Strehlow overtog jeg moderniseringen af Windows-deployment-serveren, der befandt sig i en kritisk tilstand. Udgangssituationen var problematisk: Serveren distribuerede en forældet Windows-10-version uden separat update-task, hvorved opdateringer under deployment kørte ukontrolleret og bagefter stadig i en evighed. Hovedsoftwaren SaniVision blev på grund af sin kompleksitet installeret manuelt fil for fil, hvilket var tidskrævende og fejlbehæftet. Yderligere software lå ganske vist opdateret på share'et, men var ikke integreret i WDS. Ved bestemte hardwaremodeller blev netværkskortene ikke genkendt efter PXE-boot, hvorfor USB-C-adaptere måtte bruges som workaround. Touchpads og anden hardware fungerede heller ikke i Windows PE.

Fase 1: Stabilisering af det eksisterende system

Først reparerede jeg det eksisterende share ved at integrere en aktuel Windows-10-version og rette de eksisterende softwareinstallationer og scripts. Parallelt udviklede jeg den første version af et PowerShell-script til automatiseret installation af den komplekse SaniVision-software.

Fase 2: Struktureret genopbygning

Et helt nyt share med ordentlig struktur blev oprettet, og Windows 11 blev integreret. Alle nødvendige Windows-PE-drivere blev implementeret, hvorved standardnetværkstilslutninger og touchpads blev tilgængelige i Windows Deployment Wizard. Task-sekvenserne blev optimeret, og et update-task blev aktiveret. SaniVision-scriptet blev overarbejdet, nye installationsscripts til yderligere software blev tilføjet, og den grafiske visning blev forbedret til bedre fejlgenkendelse. Det første share blev bevaret som fallback-system.

Fase 3: Optimering og automatisering

Baseret på de opnåede erfaringer blev et tredje, højoptimeret share oprettet. Scripts fik afhængighedsgenkendelse og forbedret fejlhåndtering. En intelligent opdateringsmekanisme blev implementeret: Nye versioner skulle blot kopieres til det pågældende katalog, scriptet genkendte automatisk den højeste version og installerede denne. Hardware-genkendelsesscripts muliggjorde, at driver-tasks kun installerede enhedsspecifikt nødvendige drivere. Dette reducerede antallet af task-sekvenser til en enkelt standardsekvens i stedet for flere enhedsspecifikke varianter. Det første share blev ved færdiggørelsen af denne fase endeligt slettet.

Resultatet var en fuldstændigt automatiseret, uovervåget installation med minimal fejlrate. Deployment-tiden blev betragteligt forkortet, vedligeholdelsen forenklet og pålideligheden af hele systemet markant øget.

Overarbejdelsen af WDS-serveren havde endnu en positiv effekt. Installationer og scripts, der som workaround var udlagt til PDQ Deploy & Inventory og dér efter hver Windows-installation manuelt skulle startes, kunne igen integreres i WDS-serveren. Dermed blev den klare opgavefordeling mellem begge systemer genoprettet. WDS-serveren overtog fremover alle generelle installationer, mens PDQ udelukkende koncentrerede sig om opdateringer og specielle installationer samt scripts.

Associeret med CSD Holding GmbH (Strehlow)

Linux-deployment-system via USB for SCHUBERTH

2023

Firmaet SCHUBERTH GmbH gav os til opgave at udvikle et deployment-system til hurtig og ensartet installation af deres thin-clients. Kravene omfattede en Linux-baseret løsning med automatisk login og øjeblikkelig start af den forudkonfigurerede VMware Horizon Client.

Efter indledende forsinkelser overtog jeg den ledende udvikling. Løsningen var baseret på Debian med Preseed-automatiseringer. Jeg udviklede et script, der automatisk samlede alle nødvendige komponenter til et bootbart ISO-image. Processen omfattede konfiguration af en Preseed-fil til Debian-indstillingerne samt integration af forskellige mekanismer til Horizon-Client-installationen, autostart-funktioner og login-scripts. Scriptet modificerede en standard-Debian-ISO ved at oprette de nødvendige katalogstrukturer, integrere alle nødvendige filer, tilpasse GRUB-menuen og generere et nyt ISO-image deraf. Med dette image kunne der oprettes et vilkårligt antal bootbare USB-sticks med identisk installationsresultat.

Installationsprocessen forløb fuldstændigt automatiseret: Efter boot fra USB-sticken kunne den uovervågede installation startes via GRUB-menuen. Debian-installeren gennemførte alle trin selvstændigt, hvorved Late-Commands overtog installationen af Horizon Client samt implementeringen af alle nødvendige scripts og systemtilpasninger.

I produktionsdrift startede systemet automatisk, et overvågningsscript kontrollerede og korrigerede systemindstillinger ved behov. En begrænset bruger blev automatisk logget ind, hvorefter Horizon Client startede i fuldskærmstilstand. Et monitoreringsscript overvågede kontinuerligt klientens kørsel og initierede ved afslutning straks nedlukning af systemet.

Løsningen forenklede administrationen betragteligt, defekte systemer kunne geninstalleres inden for få minutter, omfattende fejlanalyser bortfaldt. Slutbrugere profiterede af den sømløse integration, da de kunne arbejde direkte med deres vante VMware-Horizon-miljø uden at have brug for Linux-kendskab. Installationen af thin-clients blev selvstændigt udført af SCHUBERTH-administratorerne, mens vi fortsat stod til rådighed for tilpasninger og udvidelser.

Associeret med LOOMA GmbH

Transformation af et klassisk systemhus til en Managed Service Provider

2019 – 2023

Ledelsen hos LOOMA GmbH besluttede en strategisk nyorientering, væk fra det klassiske systemhus med timebaseret afregning, vedligeholdelseskontrakter og reaktiv support, hen imod en MSP-model med faste priser for hardware og Managed Services inklusive proaktiv support og automatiserede processer.

Planlægningsfasen fokuserede på udvikling af de forskellige servicepakker og valg af egnede værktøjer til monitorering og forvaltning. Kritiske spørgsmål blev udarbejdet: Hvordan kan eksisterende kundeproblemer løses proaktivt? Hvilke merværdier opstår for kunderne? Juridiske aspekter som ansvarsforhold ved skader eller kundeinsolvens blev ligeledes taget i betragtning som udfordringen med at overbevise eksisterende kunder om den nye model og integrere deres eksisterende infrastruktur. Et yderligere vigtigt spørgsmål udvikledes under planlægningsfasen: Hvad, hvis en eksisterende eller ny kundes infrastruktur ikke kan integreres i MSP-modellen? Hvem skal så overtage supporten for disse komponenter?

Implementeringen skete trinvist med tre kernetjenester: Managed Workplace, Managed Security og Managed Server. Til ensartede og kundespecifikke Windows-installationer blev der brugt en WDS-server, der via netværk (PXE) kunne klargøre flere enheder samtidigt. Som monitoreringsløsning blev der i begyndelsen implementeret Paessler PRTG, men endeligt Zabbix. Som RMM-løsning kom efter brug af ManageEngine og SolarWinds til sidst Datto RMM i brug. Et eget ticketsystem blev udviklet med n8n/Zapier og Bubble, der kunne udføre automatiserede processer via API'er og webhooks og senere blev udvidet med AI-støtte. Dette muliggjorde afbildningen af MSP-pakkerne samt specialiserede tjenester som Telematikinfrastruktur (TI) til praksisser. Sikkerhedsarkitekturen var baseret på Sophos-produkter med central forvaltning via Sophos Central, mens netværkskomponenter fra Ubiquiti blev centralt styret via Ubiquiti Cloud. De eksisterende Office-installationer og Exchange-servere hos kunderne blev migreret til Microsoft 365.

Som allerede formodet i planlægningsfasen var kundereaktionerne blandede. Mens nogle eksisterende kunder afviste den nye model og skiftede, kunne både andre eksisterende og nye kunder med succes vindes for MSP-modellen. Baseret på de første erfaringer blev services løbende optimeret. Den omhyggelige forberedelse muliggjorde straks en proaktiv problemløsning og tidlig opdagelse af forstyrrelser. Automatiseringer som centralt styrede Windows-opdateringer reducerede arbejdsindsatsen betragteligt og garanterede kunderne stabile, sikre systemer.

Associeret med LOOMA GmbH

Mobilt byggepladsovervågningssystem for EQO Energiekonzepte

2020

EQO Energiekonzepte GmbH registrerede flere tyverier på byggepladserne til deres solcelleparker og gav os til opgave at udvikle et mobilt overvågningssystem. Kravene var klart definerede: Systemet skulle være diskret, men hurtigt og ukompliceret at installere på stedet. Da der var byggestrøm tilgængeligt på alle byggepladser, kunne en standard-230-volt-installation realiseres.

Efter udarbejdelse af en detaljeret komponentplan og afstemning med kunden fulgte den tekniske implementering. Systemet var baseret på en LTE-router til internetforbindelsen og Ubiquiti-komponenter til overvågningen: en PoE-switch, en Cloud-Key til forvaltning og cloud-upload samt forskellige Ubiquiti-kameraer. Alle komponenter blev monteret i et aflåseligt fordelingsskab på en hulplade og fastgjort med kabelbindere.

Konfigurationen muliggjorde automatiske optagelser ved bevægelsesregistrering med direkte upload til Ubiquiti-cloudtjenesten. Ved udløsning modtog de ansvarlige e-mail-notifikationer med indlejrede billedudsnit af optagelserne. Efter en grundig introduktion overtog EQO-medarbejderen selvstændigt op- og nedmonteringen af systemet på skiftende lokationer.

Trods lejlighedsvise fejlalarmer på grund af vilde dyr, vind eller sne opfyldte systemet sit formål: Uautoriseret adgang og tyverier blev dokumenteret, hvorved disse delvist blev forhindret eller i det mindste optaget, så nummerplader eller personer kunne identificeres. Sikkerheden på byggepladserne blev varigt forbedret.

For spørgsmål, ændringer og support stod vi fortsat til rådighed for virksomheden også efter implementeringen.

Associeret med LOOMA GmbH

Digital Signage Server for Stadtwerke Wernigerode

2019

Stadtwerke Wernigerode planlagde indførelsen af et Digital Signage-system til to anvendelsesområder: internt til medarbejderinformation i driftsstederne samt som reklamessystem i kundecentrene. Valget faldt på Xibo som central platform.

Min opgave i dette projekt bestod i den komplette serveropsætning. Som teknisk grundlag valgte jeg Debian med Apache HTTP Server og MySQL. Derpå opbyggede jeg Xibo CMS og foretog de nødvendige systemkonfigurationer.

Installationen og tilslutningen af Xibo Player blev varetaget af Stadtwerkes egne administratorer, hvilket sikrede en sømløs integration i det eksisterende IT-landskab.

Efter projektafslutning forblev jeg tilgængelig som 3rd-level-support og overtog uddannelsen af medarbejderne i brugen af det nye system. Denne løbende støtte sikrede, at Stadtwerke kunne udnytte Digital Signage-systemet optimalt og selvstændigt oprette kampagner.

Associeret med LOOMA GmbH

IT-flytninger for føderale myndigheder og institutioner

2004 – 2014

Efter 2000 flyttede talrige føderale myndigheder og institutioner til Berlin. Hovedstadsbeslutningen fra 1991 havde sat en langvarig flytteproces i gang, der delvist strakte sig ind i de sene 2010'ere. Da opgaverne og arbejdsprocesserne ved disse projekter stort set var ens, sammenfatter jeg dem her.

Vi var involveret i flere af disse flytninger i forskellige faser. Projektomfanget varierede: Ved nogle myndigheder overtog vi forberedelsen af IT-infrastrukturen i Berlin, ved andre nedmonteringen af teknikken i Bonn. I mange tilfælde fulgte vi den komplette flytteproces fra demontering til nyinstallation.

Opgavespektret omfattede hyppigt også installation og indretning af komplette arbejdspladser. Til disse omfattende rollouts brugte vi i begyndelsen Remote Installation Services (RIS), senere skiftede vi til de mere moderne Windows Deployment Services (WDS). Disse automatiserede deployment-løsninger, inklusive PowerShell-scripts, muliggjorde, at vi effektivt og standardiseret kunne indrette hundredvis af arbejdspladser.

Associeret med Das Systemhaus Datentechnik Berlin GmbH

Logistikportal for General Express Berlin

2005

Oprindeligt skulle der blot skabes en mulighed, hvormed kunder selvstændigt kunne kalkulere transportpriser for stykgods. Denne funktion blev senere integreret i et beskyttet kundeområde med login-funktion og løbende udvidet. Efterhånden kom yderligere features til, herunder tilmelding til afhentningsordrer og AVIS-information.

Den oprindelige stykgodsberegner udviklede sig til en omfattende transportprisberegner. Ud over normal- og stykgods kunne nu også tillægsydelser som same-day- og next-day-leveringer samt transportforsikringer beregnes.

Allerede med den første version var General Express et skridt foran systempartner GO! Express & Logistics. Den endelige udbygningstrin udgjorde endda et landsdækkende enestående system.

Jeg implementerede portalen i backend med PHP og MySQL, til frontend kom XHTML, CSS og JavaScript i brug. Den tekniske realisering fandt sted på en PHP-kompatibel webserver med MySQL-database hos Strato.

Portalen var yderst populær hos kunder fra Berlin og blev senere endda brugt landsdækkende af GO!-kunder. Med mindre tilpasninger og udvidelser forblev den succesfuldt i drift indtil General Express' forretningsopgivelse (2010).

Associeret med Michel Abele (Einzelunternehmen im Nebenerwerb, Berlin)

Hurtigflytning for ProSieben (fra Unterföhring til Berlin) – Et projekt med IT-kompetencer og A-kørekort

2004

Ved dette usædvanlige projekt handlede det om at flytte Medien-Communication-serverne (MeCom) fra Deutschen Depeschendienst (ddp, dengang stadig ProSieben), uden større nedetid fra ProSieben-datacentret i Unterföhring til Level-3-datacentret i Berlin. Den særlige udfordring bestod i, at serverne kun kunne transporteres inden for den redaktionsfrie tid, og eventuelle transportskader straks skulle udbedres.

Tidsvinduet var ekstremt snævert: Udmonteringen af serverne kunne først begynde, efter at den sidste reporter havde logget af, normalt mellem midnat og klokken et om natten. I Berlin skulle systemerne senest klokken seks til redaktionens start, allersenest dog klokken otte til hovedredaktionens start, igen være fuldstændigt driftsklare.

Med en strækning på ca. 580 kilometer mellem Unterföhring og Berlin, overvejende på motorvejen, ville en normal kørsel tage fem til seks timer. Det ville have sprængt tidsvinduet. Løsningen var enkel og effektiv: Med chefens Audi RS6 Avant kunne køretiden reduceres til fire til fire en halv time, hvorved de kritiske tidsfrister kunne overholdes.

Projektet bestod af to faser. I den første fase blev den komplette infrastruktur i det berlinske Level-3-datacenter forberedt. Netværkskomponenter og kabling blev indrettet, så ProSiebens systemadministratorer under transporttiden kunne tilpasse deres netværkskonfigurationer. Den anden fase omfattede kørslen til Unterföhring, udmonteringen af de tre MeCom-servere, kørslen til Berlin og den dertilhørende montering.

I praksis loggede den sidste reporter af omkring kl. 0:30. Efter den hurtige udmontering af serverne startede "kørslen" klokken et om natten. Efter ankomsten til Berlin blev serverne monteret i racket, sat i drift, og to defekte harddiske blev udskiftet. Præcis klokken seks om morgenen kunne redaktionen planmæssigt optage sit arbejde.

Associeret med Das Systemhaus Datentechnik Berlin GmbH

Udvikling af et internt ticketsystem

2003

Efter at support-tickets i papirform hyppigt gik tabt eller blev glemt, og behandlingsstatus kun vanskeligt kunne spores, faldt beslutningen i teamet om at udvikle et eget digitalt ticketsystem.

I planlægningsfasen blev der udarbejdet et simpelt kravspecifikation, hvor alle medarbejdere kunne bidrage med deres krav og idéer. Den tekniske implementering skete med PHP, XHTML og CSS, mens en MySQL-database i backend sørgede for datalagringen. Som grundlag tjente et Debian-system med Apache HTTP Server på egen hardware. Sammen med en kollega overtog jeg opsætningen og programmeringen af systemet. Efter færdiggørelsen blev de øvrige kolleger introduceret til det nye system.

Med tiden blev løsningen løbende udvidet med yderligere funktioner. Et vigtigt modul var det integrerede inventarstyringsystem. Dette forvaltede de af kunderne tildelte nummerserier centralt og sikrede, at der ikke kunne opstå dobbelte tildelinger. Tidligere forekom der jævnligt duplikater af inventarnumre eller udeladelser af hele intervaller.

Hvad der begyndte som en løsning på et problem, udviklede sig til et omfattende værktøj, der gik langt ud over den oprindelige ticketforvaltning. Supportafdelingen kunne markant øge sin effektivitet, da tickets nu var transparente og centralt sporbare. Systemet kørte stabilt indtil virksomhedens likvidation, hvor min kollega og jeg overtog den løbende vedligeholdelse og pleje.

Associeret med Das Systemhaus Datentechnik Berlin GmbH