Dieses Repository enthält ein Docker-Setup für die Synchronisation von IMAP-Postfächern mit imapsync. Die Synchronisation erfolgt in regelmäßigen Intervallen und unterstützt Multi-Architekturen (amd64, arm64).
Das Setup verwendet:
- Docker: Für die Bereitstellung der
imapsync-Anwendung. - GitHub Actions: Für den automatisierten Build und Push des Docker-Images.
- Healthchecks: Zur Überwachung der Synchronisationsläufe.
- Docker und Docker Compose müssen installiert sein.
- Ein GitHub-Account mit Zugriff auf das Container-Registry
ghcr.io.
-
Klone dieses Repository:
git clone https://github.com/hueske-digital/imapsync-docker.git cd imapsync-docker -
Kopiere die Beispieldatei
.env.exampleund passe sie an:cp .env.example .env
-
Starte den Docker-Container:
docker-compose up -d
Die Konfiguration erfolgt über die .env-Datei. Hier ein Beispiel:
HOST1=mail.mailserver.com
USER1=user1@example.com
PASSWORD1=1234
HOST2=mail.mailserver.com
USER2=user2@example.com
PASSWORD2=123445
EXTRA_PARAMS="--maxage 30 --nofoldersizes --nofoldersizesatend --automap"
SYNC_INTERVAL=3600
HEALTHCHECK_URL=https://healthcheck.io/asdf- HOST1, USER1, PASSWORD1: Zugangsdaten für das Quell-Postfach.
- HOST2, USER2, PASSWORD2: Zugangsdaten für das Ziel-Postfach.
- EXTRA_PARAMS: Zusätzliche Parameter für
imapsync. - SYNC_INTERVAL: Intervall in Sekunden zwischen den Synchronisationsläufen.
- HEALTHCHECK_URL: URL für Healthchecks.
Das Docker-Image wird automatisch durch den Workflow docker-build-push.yml gebaut und in die GitHub Container Registry gepusht.
Der Workflow github-keep-active.yml sorgt dafür, dass das Repository aktiv bleibt.
Das Skript sync.sh sendet Healthcheck-Pings an die konfigurierten URLs:
- Start-Ping: Wird vor Beginn der Synchronisation gesendet.
- Success-Ping: Wird nach erfolgreicher Synchronisation gesendet.
- Fail-Ping: Wird bei einem Fehler gesendet.