IMAP-Konten migrieren mit imapcopy und stunnel"

1 Sep 2025 Lesezeit: 3 Minuten

Warum imapcopy und stunnel?

Ein Providerwechsel ist oft schnell gemacht – aber wie zieht man alle bestehenden E-Mails und Ordner sauber um? Genau hier kommt imapcopy ins Spiel: ein schlankes Tool, das IMAP-Konten von einem Server zum anderen kopiert.

Das Problem: imapcopy spricht selbst kein SSL/TLS. Da die meisten Mail-Provider ausschließlich verschlüsselte Ports anbieten, braucht man ein Werkzeug, das zwischen TLS und unverschlüsseltem IMAP vermittelt. Hier kommt stunnel ins Spiel.

Mit dieser Kombination lässt sich ein komplettes Postfach migrieren, ohne dass man alle Mails manuell sichern und neu importieren muss.


Schritt 1 – Installation auf Debian

sudo apt update
sudo apt install imapcopy stunnel4 -y

Damit stehen beide Tools direkt bereit.

Schritt 2 – Konfigurationsdatei für imapcopy anpassen

Die Beispielkonfiguration von imapcopy befindet sich unter:

cp /usr/share/doc/imapcopy/examples/ImapCopy.cfg .

Nun wird sie editiert. Wichtig sind die Anpassungen für Source- und Destination-Server, da diese über stunnel laufen werden:

SourceServer localhost
SourcePort 1143

DestServer localhost
DestPort 1144

DenyFlags "\Recent"
#       SourceUser    SourcePassword   DestinationUser DestinationPassword
Copy    "foo"         "foosrcpw"       "foo"           "foodestpw"

Erläuterung:

  • SourceServer und DestServer zeigen beide auf localhost, weil stunnel die SSL-Verbindungen nach außen übernimmt.
  • 1143 und 1144 sind die lokalen Ports, über die stunnel die Verbindungen tunnelt.
  • Der Copy-Eintrag definiert Benutzername und Passwort für Quelle und Ziel.

Schritt 3 – stunnel Konfiguration

Damit imapcopy mit verschlüsselten Providern sprechen kann, braucht es eine stunnel-Konfiguration. Beispiel:

client = yes
foreground = yes

[imapcopy_src]
accept = 127.0.0.1:1143
connect = alter.email.imap.server:993

[imapcopy_dst]
accept = 127.0.0.1:1144
connect = neuer.email.imap.server:993

Hier wird definiert:

  • stunnel lauscht lokal auf 1143 und 1144.
  • Eingehende Verbindungen werden weitergeleitet zu den IMAP-Servern der Provider (jeweils auf Port 993, der Standard für IMAPS).

Nutzung

stunnel starten:

stunnel stunnel.conf

Migration starten:

imapcopy ImapCopy.cfg

Das Tool kopiert nun alle Mails und Ordnerstruktur von Quelle zu Ziel.


OpenSource Status- und Monitoring-Lösungen – Alternativen zu Opsgenie

1 Sep 2025 Lesezeit: 3 Minuten

Es muss nicht immer Opsgenie sein – gerade im OpenSource-Umfeld gibt es spannende Projekte, die Status Pages, Incident Management und Monitoring vereinen. Für Teams, die Transparenz lieben und Kosten sparen wollen, sind diese Tools eine hervorragende Wahl.


Cabot

Cabot gehört zu den älteren, aber bewährten Monitoring-Lösungen. Mit integrierten Checks (HTTP, ICMP, Graphite, Jenkins) und Benachrichtigungen über E-Mail, SMS und Chat bleibt es ein solider Klassiker.


KeepHQ

Keep ist ein modernes Incident Response Tool, das stark auf Automatisierung setzt. Alarme können priorisiert, kanalisiert und mit Workflows verbunden werden – perfekt für Teams, die mehr Übersicht im Alarm-Dschungel brauchen.


OpenStatus

OpenStatus zielt auf Transparenz für Nutzer. Eine schlanke Statuspage-Lösung, die einfach deployt werden kann und sich ideal eignet, um Services nach außen sichtbar zu machen.


Kener

Kener ist minimalistisch und API-fokussiert. Wer eine kleine, aber feine Statusanzeige sucht und nicht gleich ein komplettes Monitoring-Framework benötigt, ist hier richtig.


OneUptime

OneUptime ist der Allrounder unter den OpenSource-Lösungen. Monitoring, Statuspage, Incident Management, On-Call Scheduling – alles in einem. Für Teams, die eine komplette Opsgenie-Alternative wollen, ein spannender Ansatz.


Statusnook

Statusnook punktet mit Einfachheit und fokussiert sich auf Status Pages. Ideal, wenn nur der aktuelle Service-Status öffentlich sichtbar gemacht werden soll.


Uptime Kuma

Uptime Kuma hat sich in kürzester Zeit zum Liebling der OpenSource-Community entwickelt. Es kombiniert einfaches Uptime-Monitoring mit einer hübschen Weboberfläche und ist unglaublich leicht aufzusetzen.


Fazit im Kopf behalten

Alle genannten Projekte bieten echte Alternativen für Teams, die keine Lust mehr auf Opsgenie haben. Von minimalistischen Status Pages bis zu umfassenden Incident-Management-Plattformen ist für jeden Anwendungsfall etwas dabei.


Rate Limiting mit NGINX-Ingress auf Kubernetes

30 Aug 2025 Lesezeit: 2 Minuten

Warum Rate Limiting?

Auch wenn es selten aktiv bedacht wird: Jeder Webservice sollte eine Vorstellung davon haben, wie viele Requests er aushalten soll. Rate Limiting verhindert, dass unnötige Last – ob versehentlich oder absichtlich – die Verfügbarkeit gefährdet. Gerade in Kubernetes-Clustern mit einem NGINX-Ingress ist das Mittel der Wahl bereits integriert und muss nur richtig konfiguriert werden.


Schritt 1 – Rate-Limit Zone in der ConfigMap anlegen

In der ConfigMap des NGINX-Ingress-Controllers lässt sich ein Limit konfigurieren. Beispiel:

apiVersion: v1
kind: ConfigMap
metadata:
  name: ingress-nginx-controller
data:
  http-snippet: |
    limit_req_zone $request_uri zone=megatoll:10m rate=1r/m;

Mit diesem Eintrag wird eine Zone namens megatoll angelegt, die maximal eine Anfrage pro Minute pro Schlüssel ($request_uri) zulässt.

Deployment per Patch:

kubectl patch configmap ingress-nginx-controller -n infrastructure --type merge -p '{"data":{"http-snippet":"limit_req_zone $request_uri zone=one:10m rate=1r/m;"}}'

Alternativ lässt sich die Konfiguration auch per Patch-File einspielen:

kubectl patch configmap ingress-nginx-controller -n infrastructure --type merge --patch-file ./manifests/additional_ingress_config.yaml

Schritt 2 – Ingress Resource konfigurieren

Sobald die Zone definiert ist, kann das Rate Limit über die Ingress-Ressource aktiviert werden:

annotations:
  nginx.ingress.kubernetes.io/configuration-snippet: |
    limit_req zone=megatoll nodelay;

Quellen und Links