Mail-Archiver: Zentrale IMAP E-Mail-Archivierung & Migration

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Also bei mir läuft die 2601.1 auch ohne Auffälligkeiten...
 
@FricklerAtHome
Die 2601.2 hab ich tatsächlich heute Morgen aktualisiert, mit der lief es den Tag über durch. Allerdings deutlich langsamer, als bisher: Statt ~ 2 Sekunden über 1 Min 40 Sek jeder Sync.

Gerade auch noch mal kurz auf 2601.1, wieder teilweise fehlgeschlagen, mit der selben Meldung im Log.

Bei Github gibts dazu auch schon ein Bugreport, zumindest zur zähen Sync-Zeit mit Gmail...
...Und es gibt mit dem DevTag auch schon Version 2601.3 - installiert und Sync wieder bei 2 Sek. 👍
 
  • Like
Reaktionen: Kachelkaiser
@patrickn
das mit der devTag 2601.3 ist für mich wieder so ein Punkt das unser Entwickler hier weiter in der Entwicklung ist! Danke dafür an ihn! Bei uns laufen nun seit mehr als einem halben Jahr 3 Instanzen produktiv. Eine davon gleichzeitig mit einem kommerziellen Tool. Da gibt es inhaltlich bis jetzt keine Unterschiede. (Na ja, die gibt es schon aber nicht in der Anzahl und dem Inhalt der archivierten Mails. Es ist eher das Drumherum)
 
Wie steht es um die "network-mode: host oder bridge"
braucht man diese nicht?
Ich hab mir mal was zusammen gebaut. Die Ordner data-protection-keys sowie postgres-data habe ich im Pfad /volume1/docker/mailarchiver angelegt.
Habe ich die relative Pfadangabe somit laut compose richtig definiert? Bzw. würde es so funktionieren oder fehlt mir hier was wichtiges?

Code:
services:
  mailarchive-app:
    image: s1t5/mailarchiver:latest
    container_name: mailarchiver  
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true  
    environment:
      # Database Connection
      - ConnectionStrings__DefaultConnection=Host=postgres;Database=MailArchiver;Username=mailuser;Password=54545454545;

      # Authentication Settings
      - Authentication__Username=admin
      - Authentication__Password=1234567
      - Authentication__SessionTimeoutMinutes=60
      - Authentication__CookieName=MailArchiverAuth

      # MailSync Settings
      - MailSync__IntervalMinutes=15
      - MailSync__TimeoutMinutes=60
      - MailSync__ConnectionTimeoutSeconds=180
      - MailSync__CommandTimeoutSeconds=300
      - MailSync__AlwaysForceFullSync=false
      - MailSync__IgnoreSelfSignedCert=false

      # BatchRestore Settings
      - BatchRestore__AsyncThreshold=50
      - BatchRestore__MaxSyncEmails=150
      - BatchRestore__MaxAsyncEmails=50000
      - BatchRestore__SessionTimeoutMinutes=30
      - BatchRestore__DefaultBatchSize=50

      # BatchOperation Settings
      - BatchOperation__BatchSize=50
      - BatchOperation__PauseBetweenEmailsMs=50
      - BatchOperation__PauseBetweenBatchesMs=250

      # Selection Settings
      - Selection__MaxSelectableEmails=250

      # Npgsql Settings
      - Npgsql__CommandTimeout=900

      # Upload Settings for MBox and EML files
      - Upload__MaxFileSizeGB=10
      - Upload__KeepAliveTimeoutHours=4
      - Upload__RequestHeadersTimeoutHours=2

      # TimeZone Settings
      - TimeZone__DisplayTimeZoneId=Europe/Berlin

      # Database Maintenance Settings (Optional)
      - DatabaseMaintenance__Enabled=false
      - DatabaseMaintenance__DailyExecutionTime=02:00
      - DatabaseMaintenance__TimeoutMinutes=30

      # Logging Settings (Optional - defaults to Information level)
      - Logging__LogLevel__Default=Information
      - Logging__LogLevel__Microsoft_AspNetCore=Warning
      - Logging__LogLevel__Microsoft_EntityFrameworkCore_Database_Command=Warning
    ports:
      - "5065:5000"
    networks:
      - postgres
    volumes:
      - ./data-protection-keys:/app/DataProtection-Keys
    depends_on:
      postgres:
        condition: service_healthy


  postgres:
    image: postgres:17-alpine
    container_name: postgres-db
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true  
    environment:
      POSTGRES_DB: MailArchiver
      POSTGRES_USER: mailuser
      POSTGRES_PASSWORD:12345
    volumes:
      - ./postgres-data:/var/lib/postgresql/data
    networks:
      - postgres
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U mailuser -d MailArchiver"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 10s

networks:
  postgres:
 
Wie steht es um die "network-mode: host oder bridge"
braucht man diese nicht?
Wenn kein Eintrag getätigt wird, erstellt der Container ein eigenes Bridgenetzwerk. Wenn man Network-Mode: Bridge angibt, wird der Container im Standard-Bridge-Netzwerk hinzugefügt. Das Gleiche gilt auch für den Eintrag host. Beim Standard-Bridge-Netzwerk können sich die Container nicht untereinander über den Hostnamen unterhalten, weil sie voneinander abgekapselt sind. Das geht dann aber notfalls über die IP der DS. Ein separates Netzwerk kann bei einem Stack mit mehreren Containern hilfreich sein. Allerdings nutze ich eine Datenbank für alle Container, weshalb ich diese Datenbank außerhalb des Stacks/Projektes ausgelagert habe, was den Dump und die Sicherung dieser erleichtert. Ein Container kann ja mehren Docker Netzwerken angehören, wodurch diese dann auch über den Hostnamen angesprochen werden können. Dieser Tage habe ich schon etwas dazu geschrieben. Wenn es dich interessiert, wirst du es finden. Lies dich in die Docker-Dokumentation ein! Es ist alles gut dokumentiert.
 
Hallo Zusammen, ich nutzen das Tool nun auch schon länger, mir jetzt aufgefallen, dass er extrem viel Netzwerktraffic verursacht im vergleich zu anderen Geräte im Netzwerk. Wie ist das bei euch.
Ich habe es nicht geschafft ein Bild hier reinzustellen, daher mal per Link.
Wie ist es bei euch?

hier mal ein Bild der Netzwerküberwachung.

Grüße
Markus
 
ich kann das nicht nachahmen da alle bei mir eingebundenen Mail-Server mit den Postfächern im lokalen Netzwerk sind. Da gehen diese Anfragen bei gleichzeitig im gleichen Netz laufenden SNMP, HomeAssistant und etlichen anderen (Broad)Cast unter.
Wie viele Postfächer mit welcher Größe werden den alle 15 Minuten bei dir abgefragt / erfasst etc?
 
Hi, insgesamt 4 Postfächer, wobei davon 2 intern laufen und 2 von GMX, ich habe jetzt erstmal das intervall auf 240 min im Container gestellt. Mir ist das aufgefallen weil mein Kabelmodem ausgefallen war und ich auf LTE Backup umgestellt hatte, dann hatte ich gesehen das die Kisten in einer Nacht x GB gezogen hat, obwohl nur 20 neue Mails gekommen waren. Vielleicht schreibe ich mal dem Entwickler was da genau passiert beim holen.
 
Dieser Tage habe ich schon etwas dazu geschrieben. Wenn es dich interessiert, wirst du es finden. Lies dich in die Docker-Dokumentation ein! Es ist alles gut dokumentiert.
Danke für deine Erläuterung.
Wie sieht es mit dem Rest der compose aus, funktioniert das so sinnvoll?
Leider fehlt mir die Zeit das ganze zu studieren. Deswegen frage ich ja nach. Wäre also dankbar wenn das jemand begutachten würde.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat