DerLinkman
62d16c9e56
compose: changes cronjobs to regular cron syntax + fixed sogo creds for cronjobs ( #6866 )
...
* cron: restructure cron timer to time on second (instead of random)
* dovecot: fix clearance for cron.creds file
2025-11-13 14:59:49 +01:00
Carlos
a52e977b89
Add DNS-01 challenge support for ACME certificates and related configurations
2025-11-13 07:19:38 +00:00
Claas Flint
1b833be760
Replace pigz with zstd for backup compression ( #6897 )
...
* Replace pigz with zstd for backup compression
This change replaces pigz (parallel gzip) with zstd (Zstandard) as the
compression algorithm for mailcow backups while maintaining full backward
compatibility with existing .tar.gz backups.
Benefits:
- Better compression ratios (12-37% improvement in tests)
- Improved compression speed with modern algorithm
- Maintains rsyncable functionality for incremental backups
- Full backward compatibility for restoring old .tar.gz backups
- Wide industry adoption and active development
Changes:
- Backup compression: pigz --rsyncable -p → zstd --rsyncable -T
- Backup decompression: pigz -d -p → zstd -d -T
- File extensions: .tar.gz → .tar.zst
- Added get_archive_info() function for intelligent format detection
- Updated backup Dockerfile to install zstd alongside pigz
- Restore function now auto-detects and handles both formats
- Updated FILE_SELECTION regex to recognize both .tar.zst and .tar.gz
- Updated comments to reflect new file extension
Backward Compatibility:
- Restore automatically detects .tar.zst (preferred) or .tar.gz (legacy)
- Existing .tar.gz backups can still be restored without issues
- pigz remains installed in backup image for legacy support
- Graceful fallback if backup file format not found
Testing:
- Added comprehensive test suite (test_backup_and_restore.sh)
- 12 automated tests covering all scenarios:
* Backup creation (both formats)
* Restore (both formats)
* Format detection and priority
* Error handling (missing files, empty dirs)
* Content integrity verification
* Multi-threading configuration
* Large file compression (8.59 MB realistic data)
Test Results:
✓ zstd compression working
✓ pigz compression working (legacy)
✓ zstd decompression working
✓ pigz decompression working (backward compatible)
✓ Archive detection working
✓ Content integrity verified
✓ Format priority correct (.tar.zst preferred)
✓ Error handling for missing files
✓ Error handling for empty directories
✓ Multi-threading configuration verified
✓ Large file compression: 37.05% improvement
✓ Small file compression: 12.18% improvement
* move testing script into development folder
---------
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-11-12 10:06:36 +01:00
DerLinkman
ec472f13cf
sogo: removed URLDecrpytion by default, make it configurable in sogo.conf
2025-11-12 09:50:41 +01:00
FreddleSpl0it
980bfa3aa0
Merge pull request #6696 from mailcow/renovate/krakjoe-apcu-5.x
...
chore(deps): update dependency krakjoe/apcu to v5.1.27
2025-10-10 14:07:24 +02:00
FreddleSpl0it
664a954393
Merge pull request #6798 from mailcow/renovate/php-pecl-mail-mailparse-3.x
...
chore(deps): update dependency php/pecl-mail-mailparse to v3.1.9
2025-10-10 14:07:05 +02:00
FreddleSpl0it
f47df263d7
[Rspamd] Update to 3.13.2
2025-10-10 13:04:01 +02:00
DerLinkman
417835dea8
netfilter: improve logging and mark iptables-legacy as deprecated
2025-10-09 16:37:05 +02:00
renovate[bot]
dd160cd508
Update dependency php/pecl-mail-mailparse to v3.1.9
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
2025-09-30 13:42:36 +00:00
FreddleSpl0it
9940c503a2
[Nginx] do not invert ENABLE_IPV6
2025-09-22 14:16:42 +02:00
FreddleSpl0it
610609378f
[SOGo][Web] Set URL encryption key in mailcow.conf
2025-09-22 12:58:05 +02:00
FreddleSpl0it
260906e350
[SOGo][Web] Enable SOGo URL Encryption
2025-09-22 12:28:09 +02:00
FreddleSpl0it
0d900d4fc8
[SOGo] Drop deprecated sogo_update_password sql trigger if it still exists
2025-09-11 11:01:50 +02:00
FreddleSpl0it
1c438330c6
[postfix-tlspol] build with NOOPT=1 for wider CPU compatibility
2025-09-10 10:14:37 +02:00
FreddleSpl0it
221f2989b0
Merge pull request #6698 from mailcow/6644_clamd-tmp-folder-naming-change
...
Changed clamavs tmp folder structure
2025-09-09 13:12:54 +02:00
FreddleSpl0it
8c8497d885
[Rspamd] only recreate external_services.conf file if it was deleted
2025-09-09 12:50:19 +02:00
FreddleSpl0it
56d083ced4
Merge pull request #6682 from psuet/fix/imapsync
...
fix: imapsync gets correct timeouts from imapsync_runner.pl
2025-09-09 12:34:02 +02:00
DerLinkman
34877ecf9c
watchdog: added postfix-tlspol check ( #6691 )
2025-09-03 08:18:04 +02:00
Peter
48e90a72dc
Changed clamavs tmp folder structure
2025-08-29 18:27:34 +02:00
renovate[bot]
6dc90186f9
chore(deps): update dependency krakjoe/apcu to v5.1.27
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
2025-08-29 16:22:28 +00:00
maxi322
5e66ffa366
watchdog: use dig instead of check_dns ( #6685 )
...
* watchdog: use dig instead of check_dns
check_dns is slower and uses more system resources,
dig wrapped in a script is a more performant approach and uses
fewer system resources
* added debug mode + compose image bump
---------
Co-authored-by: maxi322 <maxi322@users.noreply.github.com>
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-08-28 12:56:37 +02:00
DerLinkman
1cb38bacdb
Postfix: Split TLSPol companion app into separate container ( #6688 )
...
* postfix: split postfix-tlspol service into new container
* postfix-tls-pol: added debug mode
* pf-tlspol: removed obsoleted standalone conf from Dockerfiles
* pf-tlspol: use git instead of wget
2025-08-28 10:18:18 +02:00
DerLinkman
3826c4b5be
fix postfix tlspol missing folders for config
2025-08-26 10:10:16 +02:00
DerLinkman
c39712af67
pf/php: add mta-sts support (outbound) ( #6686 )
...
* added mta-sts-resolver into postfix config + daemon
* [Web] Add MTA-STS support
* [Web] Fix mta-sts server_name
* updated .gitignore
* [ACME] fetch cert for mta-sts subdomain
* [Web] change MTA-STS id to human-readable timestamp
* [Web] Remove MTA-STS version STSv2
* [Web] Fix MTA-STS DNS check
* [Web] add max_age limit for MTA-STS policy
* Added tooltips and info texts to mta-sts webui page
* postfix: replace mta-sts-resolver with postfix-tlspol
---------
Co-authored-by: FreddleSpl0it <75116288+FreddleSpl0it@users.noreply.github.com>
2025-08-26 09:57:05 +02:00
Paul Sütterlin
53c35493a5
fix: imapsync gets correct timeouts
...
Previously imapsync only attached the timeout1 / timeout2 arguments if the argument was negative (which is not even possible). Now the argument is added for every positive number.
Fixes #6590
2025-08-21 18:36:01 +00:00
Christoph Lechleitner
2b2da1679e
[DB][Web] optimize qhandler by keeping SHA2 in new column qhash ( #6556 )
...
* [DB][Web] optimize qhandler by keeping SHA2(id+qid) in new column quarantine.qhash, for feature #6555 , might also help with #6361
* rspamd: only add qhash to new entries while passing rspamd not all existing
* compose: bump dovecot image + push to registry
---------
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-08-06 16:02:25 +02:00
DerLinkman
88bf9b02e1
core: modules splitting + ipv6 nat rewrite ( #6634 )
...
* ipv6: added ipv6 detection + removed ip6 nat container
* nginx: renamed DISABLE_IPv6 to ENABLE_IPV6 to align
* initial commit for script overhauls
* rewrite to scripts after testing (improved error handling)
* fixed missing fi in update.sh
* fixed/added comments for modules
* fix broken EXIT_CODE var handling
* added jq as dependancy
* fixed docker version check for daemon
* improved _modules handling while running
* reintegrated module loading (update.sh)
* added error handling for blank daemon.json
* adapted removal of ACME_CONTACT for nightly
* move detect_major_update func to core submodule
* removed unnecessary message on every call of function
* Update _modules/scripts/new_options.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update _modules/scripts/core.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* improve ENABLE_IPV6 check in nginx bootstrap
* improve detection of ENABLE_IPV6
* ip6_controller: moved docker major detection upwards
* Update _modules/scripts/new_options.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update _modules/scripts/new_options.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* reuse DOCKER_MAJOR Variable in ip6_controller
* fix some smaller typos in update.sh
* smaller bugfixes in submodules
* completely remove ACME_CONTACT Variable
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 08:36:40 +02:00
renovate[bot]
3803b5d351
Update dependency php-memcached-dev/php-memcached to v3.3.0 ( #6638 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 08:35:14 +02:00
renovate[bot]
14d58c8163
Update dependency phpredis/phpredis to v6.2.0 ( #6639 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 08:34:53 +02:00
renovate[bot]
728fcdb375
Update dependency tianon/gosu to v1.17 ( #6640 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 08:34:30 +02:00
renovate[bot]
1fc36263dc
chore(deps): update dependency krakjoe/apcu to v5.1.26 ( #6656 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 08:33:41 +02:00
Markus Machatschek
69420113f7
rspamd: update rspamd to 3.12.1 ( #6643 )
...
* rspamd: update rspamd to 3.12.1
* compose: correct rspamd tag + pushed image
---------
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-08-06 08:33:11 +02:00
Denis Evers
95eb350f15
[netfilter] fix negative timer, no unbanning of IPs ( #6575 )
...
* [netfilter] added debug logs and updated autopurge
* updated "Allow/Blacklist" terms
* netfilter: bumped compose version
* netfilter: changed black/whitelist terms in code
---------
Co-authored-by: Denis Evers <git@evers.sh>
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-07-16 10:08:55 +02:00
FreddleSpl0it
02557b2098
Merge pull request #6631 from mailcow/fix/jinja2-rendering
...
[Dovecot] Use Jinja2 sandbox for rendering quota and quarantine notif…
2025-07-15 07:38:20 +02:00
FreddleSpl0it
ec6dbb099a
[ACME] Remove deprecated ACME_CONTACT variable
2025-07-02 10:37:23 +02:00
FreddleSpl0it
2fbbbbe9a9
[Dovecot] Use Jinja2 sandbox for rendering quota and quarantine notifications
2025-07-02 08:59:29 +02:00
FreddleSpl0it
8ff0e029f0
Merge pull request #6398 from marvinruder/feat/skip-olefy
...
feat(olefy): Allow disabling Olefy
2025-05-08 15:34:51 +02:00
renovate[bot]
a370499aaa
Update dependency Imagick/imagick to v3.8.0 ( #6480 )
2025-04-11 08:30:54 +02:00
FreddleSpl0it
e452917de9
[SOGo] Show mailcow Settings Button to SOGoSuperUsers
2025-03-31 12:14:43 +02:00
FreddleSpl0it
f37961b7d0
[SOGo] Use JS for mailcow logout
2025-03-31 11:32:01 +02:00
Marvin A. Ruder
8408b82e9c
Add new option with description to existing configuration files during next update
...
* Remove Olefy settings file from rspamd configuration
* Have rspamd container generate Olefy settings file at startup if not disabled
Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
2025-03-26 17:17:13 +01:00
Marvin A. Ruder
05fc4f7aba
fix(ui): Swap translations for oversized dropdown
...
* Fix other typos
* Fixes #6400
Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
2025-03-25 21:24:22 +01:00
Marvin A. Ruder
cd3b1ab828
Allow disabling Olefy
...
* Fixes #6389
Signed-off-by: Marvin A. Ruder <signed@mruder.dev>
2025-03-25 20:24:33 +01:00
FreddleSpl0it
cf2d3c1b4e
Merge branch 'staging' into nightly
2025-03-24 11:38:59 +01:00
FreddleSpl0it
91c82e8a67
Merge pull request #6384 from mailcow/feat/update-components-alp-3.21
...
os: updated alpine containers to 3.21
2025-03-24 11:30:58 +01:00
DerLinkman
463e3ab78c
rspamd: update rspamd to 3.11.1 ( #6374 )
2025-03-14 12:18:59 +01:00
DerLinkman
2f93f1d0c5
os: fixes for newer mariadb-client versions (especially on alpine 3.21)
2025-03-10 16:45:57 +01:00
DerLinkman
0860a7503e
os: updated alpine containers to 3.21
2025-03-10 11:56:12 +01:00
renovate[bot]
86df78255d
chore(deps): update dependency composer/composer to v2.8.6 ( #5719 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 11:39:19 +01:00
FreddleSpl0it
6b165887d8
Merge branch 'staging' into nightly
2025-03-07 13:21:57 +01:00
Peter
3c9d0c9d57
use ghcr.io for backupimage ( #6333 )
...
* use ghcr.io for backup image
* backup script: use renamed script + improved build of image
---------
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-02-27 10:58:23 +01:00
DerLinkman
a6c38590ca
rspamd: upgraded rspamd to 3.11.0-2 (incl. NIXSPAM Removal) ( #6328 )
2025-02-25 09:23:10 +01:00
FreddleSpl0it
fcebe98557
Merge branch 'staging' into nightly
2025-02-24 15:09:36 +01:00
FreddleSpl0it
6ec5e88793
Merge pull request #6309 from mailcow/fix/6308
...
[Dovecot][Netfilter] Fix dovecot failed login regex
2025-02-24 11:26:06 +01:00
FreddleSpl0it
7d35646342
[Netfilter] adjust dovecot failed login regex
2025-02-24 09:20:41 +01:00
FreddleSpl0it
321965adee
[Netfilter] Fix dovecot password mismatch regex
2025-02-18 15:05:59 +01:00
Peter
7bce5d836b
Move sed cmd to remove discontinued DNSBLs ( #6315 )
...
* Move sed cmd to remove discontinued DNSBLs
* compose: bump postfix version
---------
Co-authored-by: DerLinkman <niklas.meyer@servercow.de>
2025-02-18 11:20:03 +01:00
FreddleSpl0it
a567d5dc31
[Nginx] Add support for trusted proxies via env var
2025-02-18 11:03:34 +01:00
Dmitriy Alekseev
f6dc0b463f
Update Rspamd to 3.11.0 and enable SMTPUTF8 for outgoing mail ( #6216 )
...
* Update Rspamd to 3.11
* Enable SMTPUTF8 and hide it from SMTPD greeting
* Update options.inc
* compose: increased rspamd tag
2025-02-17 14:41:39 +01:00
DerLinkman
16e22e23dc
sogo: switched apt source to sogo again (supports aarch64 now)
2025-02-17 14:31:50 +01:00
FreddleSpl0it
d8afa6f393
[Dovecot][Netfilter] Fix dovecot failed login regex
2025-02-14 13:12:12 +01:00
FreddleSpl0it
3912341b32
[SOGo] rename custom logo
2025-02-12 11:31:14 +01:00
FreddleSpl0it
ef2f5f7be0
[Dovecot] Use Redis ACL user quota_notify with restricted access
2025-02-11 16:59:18 +01:00
FreddleSpl0it
54728bf780
[Dovecot] Fix create sogo-sso.conf
2025-02-11 14:40:38 +01:00
FreddleSpl0it
f64c6aa1d4
Merge pull request #6269 from mailcow/staging
...
Automatic PR to nightly from 2025-01-27T10:00:26Z
2025-02-07 15:10:10 +01:00
FreddleSpl0it
3544a2246e
[Nginx] fix ADDITIONAL_SERVER_NAMES array
2025-02-04 13:30:00 +01:00
FreddleSpl0it
97890b71f1
[Nginx] Invert SKIP container condition
2025-02-03 12:22:13 +01:00
FreddleSpl0it
e645f931dc
[Nginx] Add env var for HTTP to HTTPS redirection
2025-02-03 12:05:08 +01:00
FreddleSpl0it
bbdec0960a
Merge pull request #6290 from mailcow/fix/nginx-vhosts
...
[Nginx] Use vhosts for additional server names
2025-02-03 11:35:09 +01:00
DerLinkman
aac4c6b5f4
postfix: added master.pid removal and startsecs to supervisord ( #6284 )
2025-01-31 12:49:39 +01:00
DerLinkman
2407aa7895
Merge branch 'feat/clamd-rebuild' into staging
2025-01-29 14:01:39 +01:00
FreddleSpl0it
0ad327bbe5
[Nginx] Use separate vhosts for additional server names
2025-01-29 09:51:45 +01:00
DerLinkman
1a087bb2c8
clamd: cleanup dockerfile
2025-01-28 14:49:11 +01:00
DerLinkman
65bc581fab
clamd: remove exposed ports from buildfile
2025-01-28 14:36:43 +01:00
DerLinkman
60a2270d1e
clamd: update to 1.4.2 + build from source instead using alpine packages
2025-01-28 14:25:56 +01:00
FreddleSpl0it
45d14254f2
[Postfix] Remove discontinued Nixspam DNSBL from existing dns_blocklists.cf
2025-01-24 10:06:50 +01:00
Michael Kuron
04116982a5
Remove discontinued Nixspam DNSBL
2025-01-23 22:16:54 +01:00
FreddleSpl0it
d430b595c1
Merge branch 'staging' into nightly
2025-01-23 08:11:45 +01:00
FreddleSpl0it
7bcd61ecb5
[Nginx] Generate includes for custom configs
2025-01-22 14:30:47 +01:00
Alyx
36db68677c
Reduce sa rules download retry limit to 5 ( #6225 )
...
Reduces the retry limit for the sa rules download to a more reasonable 5 retries to prevent running in a timeout condition.
2025-01-20 14:10:29 +01:00
FreddleSpl0it
1e70a20188
[SOGo] Add mailcow Buttons to SOGo navbar
2025-01-15 16:15:25 +01:00
Niklas Meyer
3e8bb06a37
dovecot: replace solr fts with flatcurve (xapian) ( #5680 )
...
* fts-flatcurve: inital implementation
* fts: removed solr from compose.yml
* flatcurve: added heap and proc logic to dovecot
* added logic for update.sh & generate for Flatcurve
* delete old iteration of fts-flatcurve.conf
* updated default fts.conf
* updated .gitignore to exclude fts.conf for further git updates
* Remove autogeneration of fts.conf (disable override)
* cleanup all left solr stuff
* renamed SKIP_FLATCURVE to SKIP_FTS
* cleanup leftovers solr in lang files
* moved lazy_expunge plugin only to mail_plugins
* added fts timeout value
* compose: remove dev image of dovecot
* updated japanese translation
2024-12-12 16:44:42 +01:00
Peter
ed2837edd8
Remove legacy Nextcloud settings ( #6050 )
2024-12-09 13:49:24 +01:00
FreddleSpl0it
8853e2c44a
[Nginx] Use SOGo IPv4 for upstream
2024-12-09 09:50:16 +01:00
FreddleSpl0it
a41bb55c83
Merge remote-tracking branch 'origin/staging' into nightly
2024-12-05 14:33:41 +01:00
FreddleSpl0it
6831f94fdb
[Redis] redis-cli suppress auth warning
2024-11-19 15:10:52 +01:00
FreddleSpl0it
89fb1322c6
Enable password protection for Redis
2024-11-19 14:25:31 +01:00
FreddleSpl0it
70ca5fde95
[Nginx] Use jinja2 for templating nginx configuration
2024-11-19 08:39:52 +01:00
FreddleSpl0it
9542698e95
Merge remote-tracking branch 'origin/staging' into nightly
2024-11-12 15:10:03 +01:00
Niklas Meyer
6ec1e357c3
fix: broken sogo cron notifications (for appointments etc.) ( #6128 )
2024-11-05 16:21:14 +01:00
FreddleSpl0it
d8c8e4ab1b
[DockerApi] Fix IMAP ACL migration issue when renaming mailbox
2024-10-31 11:00:03 +01:00
FreddleSpl0it
2d76ffc88c
Merge pull request #6045 from mailcow/feat/rename-mbox
...
[Web][DockerApi] Add Feature to Rename Email Addresses
2024-10-25 10:49:58 +02:00
Niklas Meyer
b106945c73
Feat/rspamd 3.10.2 ( #6122 )
...
* rspamd: update to 3.10.2
* rspamd: fix broken archive_extension gz
2024-10-21 16:03:51 +02:00
Niklas Meyer
ee2791d93a
rspamd: update to 3.10.1 ( #6115 )
...
* rspamd: upgrade to 3.10.1
* rspamd: adapt 30s task timeout per default now
2024-10-18 15:50:45 +02:00
Niklas Meyer
38907b5032
dovecot: activate lazy_expunge plugin per default (unconfigured) ( #6112 )
2024-10-16 15:56:40 +02:00
Niklas Meyer
8dcaffe925
php: upgrade to alpine 3.20 (base os) ( #6106 )
2024-10-16 10:35:54 +02:00
Niklas Meyer
982e823c71
sogo: upgrade to 5.11.1 ( #6109 )
2024-10-15 16:13:51 +02:00
renovate[bot]
382056ec18
chore(deps): update dependency krakjoe/apcu to v5.1.24 ( #6087 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 11:24:26 +02:00
renovate[bot]
4c9690e87c
chore(deps): update dependency php/pecl-mail-mailparse to v3.1.8 ( #6096 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 11:09:23 +02:00
renovate[bot]
9a58e5e35a
chore(deps): update dependency phpredis/phpredis to v6.1.0 ( #6098 )
...
Signed-off-by: milkmaker <milkmaker@mailcow.de>
2024-10-15 10:45:32 +02:00