Commit graph

46 commits

Author SHA1 Message Date
27d388e1c8 mailsystem: rspamd: Make rspamd-controller.socket accessible for dovecot2 user
This is required for functional spam/ham learning.
2025-08-12 09:38:33 +02:00
4c2eed3421 pkgs: mailnix: Cargo.lock: Update dependencies
All checks were successful
Test / tests (push) Successful in 4m12s
2025-05-28 14:46:58 +02:00
8c96ece585 flake.nix: Update NixOS release to 25.05 2025-05-28 14:45:27 +02:00
f110705435 tests: basic: Add tests whether system users can dispatch mails
All checks were successful
Test / tests (push) Successful in 3m26s
2025-03-27 19:29:02 +01:00
2db35aed07 pkgs: mailnix: Include password hash in system-users' passwd to enable sending mails 2025-03-27 19:28:14 +01:00
6052072c3f pkgs: mailnix: Improve alias-validation to also regard catch-all aliases and domain-aliases
All checks were successful
Test / tests (push) Successful in 3m45s
2025-03-23 15:46:55 +01:00
41f8b16a42 pkgs: mailnix: Refactor domain-check and address-parsing into own helper functions 2025-03-23 15:38:07 +01:00
01e63f4bab mailsystem: dovecot: Use expanded variable names
All checks were successful
Test / tests (push) Successful in 3m39s
Starting with dovecot 2.4, short notations for variables are no longer
accepted (see
https://doc.dovecot.org/2.4.0/installation/upgrade/2.3-to-2.4.html#variable-expansion).
2025-03-23 13:27:09 +01:00
6f8bcdf9c0 pkgs: mailnix: Refactor dovecot::update_dynamic_passdb in preparation for unit tests 2025-02-25 17:15:20 +01:00
79b2ec800e pkgs: mailnix: Make errors thrown in config::merge more verbose
All checks were successful
Test / tests (push) Successful in 3m29s
2025-02-23 20:47:32 +01:00
3a9b2c8b59 mailsystem: Add option extraSettingsFile to allow partial encryption of configuration
Some checks failed
Test / tests (push) Failing after 4m45s
2025-02-23 18:11:55 +01:00
c1b19d6e33 mailsystem: Use newly added 'mailnix' package to generate postfix/dovecot files 2025-02-23 18:11:47 +01:00
955a0ec8ba Add package 'mailnix' for assisting in generation of dovecot/postfix files 2025-02-23 18:11:07 +01:00
ce2784e17d flake.lock: Update inputs 2025-02-23 18:11:07 +01:00
a1e87f70fa Merge options virtualAccountAliases and virtualDomainAliases into virtualAliases 2025-02-23 18:11:01 +01:00
faf6f549b0 Remove accounts.<name>.aliases and rename extraVirtualAliases to virtualAccountAliases
Some checks failed
Test / tests (push) Failing after 3m0s
In order to simplify configuration and reduce configuration variability,
this commit removes the option to directly add aliases to each single
mail account. Instead, aliaes should be centrally configured using the
option 'virtualAccountAliases'.
2025-01-06 23:29:40 +01:00
28796695af Add github actions workflow for CI tests 2025-01-06 23:25:59 +01:00
30532bbfca Actually reject mails sent to system accounts and add respective testcase 2025-01-06 23:25:59 +01:00
55183f5585 tests: Add tests for rspamd-related functionality 2025-01-06 23:25:59 +01:00
de330a87a4 mailsystem: Add configuration options for dkim signatures 2025-01-06 23:25:59 +01:00
88d2b387c7 mailsystem: roundcube: Fix mixup with dovecotpw and passwdfile 2025-01-06 23:25:59 +01:00
cbdbb94512 mailsystem: dovecot: Grant roundcube user access to dynamic passwd file 2025-01-06 23:25:59 +01:00
1b26a41aaf mailsystem: rspamd: Ensure proxy headers for webui are configured 2025-01-06 23:25:59 +01:00
35aeb19b24 mailsystem: roundcube: Use imaps and submissions instead of disabled starttls variant 2025-01-06 23:25:59 +01:00
53e2b9f621 mailsystem: nginx: Replace incorrect usage of lib.mkIf with lib.optionalAttrs
Evaluation of lib.mkIf and lib.optionalAttrs is slightly different. In
this specific case, the usage of lib.mkIf resulted in the defined
virtualHost never actually being applied due to an earlier error in the
evaluation order.
2025-01-06 23:25:59 +01:00
e6e91b775a Disable roundcube and rspamd webui by default 2025-01-06 23:25:59 +01:00
5f49caec49 Add configuration option to alias entire domains and respective tests 2025-01-06 23:25:59 +01:00
92d0a6e1f8 tests: Add various tests for alias functionality 2025-01-06 23:25:59 +01:00
457d91bcca tests: Add basic tests for sending/receiving mails and verification of headers 2025-01-06 23:25:59 +01:00
e4fa3bee38 tests: common: Add lib.nix containing various helpers for testing mailsystem behaviour 2025-01-06 23:25:59 +01:00
6f1964e6f2 flake.nix: Add and configure treefmt-nix for nix fmt 2025-01-06 23:25:59 +01:00
d5107df08d flake.nix: Rename pre-commit-hooks-nix into git-hooks-nix
Cachix has renamed their project.
2025-01-06 23:25:59 +01:00
617b116f4c tests: minimal: Configure and verify vmail user/group/uid/gid 2025-01-06 23:25:59 +01:00
84542be242 Add minimal (internal) tests 2025-01-06 23:25:59 +01:00
e185d301ff mailsystem: Add option to use selfsigned certificates in preparation for testing 2025-01-06 23:25:59 +01:00
8a64eb9287 flake.nix: Actually expose mailsystem as nixosModule 2025-01-06 23:25:59 +01:00
c8a44b9b48 mailsystem: Add configuration for roundcube as webmail interface 2025-01-06 23:25:59 +01:00
aff4f9117f mailsystem: rspamd: Add configuration options to make rspamd's web ui accessible 2025-01-06 23:25:50 +01:00
aacf9a9b8c mailsystem: dovecot: Autolearn ham/spam when moving mails 2025-01-06 23:04:45 +01:00
9149f03384 mailsystem: Configure rspamd as spam filter 2025-01-06 23:04:45 +01:00
b805502099 mailsystem: Add basic postfix configuration 2025-01-06 23:04:45 +01:00
c738037669 mailsystem: Add minimal dovecot configuration 2025-01-06 23:04:42 +01:00
56feea5754 mailsystem: Add vmail user and group configuration 2024-12-06 16:41:06 +01:00
9180d7345c mailsystem: Add common.nix containing module-internal variables/definitions 2024-12-01 12:40:38 +01:00
3943ec3356 mailsystem: Add nginx configuration to retrieve letsencrypt certificate 2024-11-30 19:56:30 +01:00
77e4cac42d Initial commit 2024-11-26 00:23:32 +01:00