diff --git a/mail-archiver/docker-compose.yml b/mail-archiver/docker-compose.yml new file mode 100644 index 0000000..c04784f --- /dev/null +++ b/mail-archiver/docker-compose.yml @@ -0,0 +1,81 @@ +services: + mailarchive-app: + image: s1t5/mailarchiver:dev + restart: always + environment: + # Database Connection + - ConnectionStrings__DefaultConnection=Host=postgres;Database=MailArchiver;Username=mailuser;Password=masterkey; + + # Authentication Settings + - Authentication__Username=michael + - Authentication__Password=?Aichwald01 + - 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 files + - Upload__MaxFileSizeGB=10 + - Upload__KeepAliveTimeoutHours=4 + - Upload__RequestHeadersTimeoutHours=2 + + # TimeZone Settings + - TimeZone__DisplayTimeZoneId=Etc/UCT+2 + ports: + - "5000:5000" + networks: + - postgres + volumes: + - data-protection-keys:/app/DataProtection-Keys + depends_on: + postgres: + condition: service_healthy + + postgres: + image: postgres:17-alpine + restart: always + environment: + POSTGRES_DB: MailArchiver + POSTGRES_USER: mailuser + POSTGRES_PASSWORD: masterkey + 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: + +volumes: + data-protection-keys: + postgres-data: \ No newline at end of file