From 8967478f210b2651898d8ce6039165ecae33838c Mon Sep 17 00:00:00 2001 From: bogale Date: Sun, 20 Sep 2026 20:38:26 +0900 Subject: [PATCH] postfix configured --- marks | 3 +-- server/configuration.nix | 50 +++++++++++++++++++++++++++++++++------- 2 files changed, 43 insertions(+), 10 deletions(-) diff --git a/marks b/marks index bfff643..d59588c 100644 --- a/marks +++ b/marks @@ -12,6 +12,5 @@ nixos-install --flake "/mnt/etc/nixos#nixos" --no-channel-copy --no-root-passwd systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=0+2+7 todo: -- php-fpm, postgresql, certbot - postfix, dovecot, rspamd -- vaultwarden, gitea, mediawiki +- gitea, mediawiki diff --git a/server/configuration.nix b/server/configuration.nix index 1f6ec8c..3cc16ec 100644 --- a/server/configuration.nix +++ b/server/configuration.nix @@ -2,10 +2,18 @@ { imports = [ ../common.nix ./hardware-configuration.nix ]; boot.kernelParams = [ "memmap=0x4000%0xbfb76000-4" "memmap=0x4000%0xbfb7a000-4" ]; - users.users.nginx.extraGroups = [ "acme" ]; - users.users.bogale.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKH8f3tKQQFFCkLS76TcY7oPzmbVrTkMZN7KSDHPX4o1" - ]; + users = { + groups.vmail.gid = 1819; + users = { + nginx.extraGroups = [ "acme" ]; + bogale.openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB+wc+3rahpNa+OMS9gaWgMQIxXIKHy4Beku5LBDt+Ow" ]; + vmail = { + uid = 1819; + group = "vmail"; + isSystemUser = true; + }; + }; + }; networking = { hostName = "nixos-server"; networkmanager.ensureProfiles.profiles.home-wifi = { @@ -13,7 +21,7 @@ wifi-security.psk = "$BOGALE_2_4_PSK"; }; firewall = { - allowedTCPPorts = [ 80 443 ]; + allowedTCPPorts = [ 25 80 443 ]; allowedUDPPorts = [ 443 ]; }; }; @@ -47,6 +55,33 @@ "listen.group" = "nginx"; }; }; + dovecot2 = { + enable = true; + settings = { + mail_uid = ; + mail_gid = ; + }; + }; + postfix = { + enable = true; + #enableSubmission = true; + virtualMapType = "regexp"; + virtual = ''/.*@bogaledev.ru/ main@bogaledev.ru''; + mapFiles.mailbox = pkgs.writeText "mailbox" ''main@bogaledev.ru bogaledev.ru/''; + settings.main = { + virtual_uid_maps = "static:1819"; + virtual_gid_maps = "static:1819"; + smtp_tls_security_level = "encrypt"; + smtpd_tls_security_level = "encrypt"; + virtual_mailbox_domains = "bogaledev.ru"; + virtual_mailbox_base = "/var/spool/mail/vmail"; + virtual_mailbox_maps = "hash:/etc/postfix/mailbox"; + smtpd_tls_chain_files = [ + "/var/lib/acme/bogaledev.ru/key.pem" + "/var/lib/acme/bogaledev.ru/fullchain.pem" + ]; + }; + }; vaultwarden = { enable = true; configureNginx = true; @@ -80,9 +115,7 @@ forceSSL = true; root = "/srv/http"; useACMEHost = "bogaledev.ru"; - extraConfig = '' - add_header Alt-Svc 'h3=":443"; ma=86400' always; - ''; + extraConfig = ''add_header Alt-Svc 'h3=":443"; ma=86400' always;''; locations = { "/".index = "index.php index.html"; "~ \\.php$".extraConfig = '' @@ -94,6 +127,7 @@ quic = true; forceSSL = true; useACMEHost = "bogaledev.ru"; + serverAliases = [ "vw-wl.bogaledev.ru" ]; extraConfig = '' allow fc00::/64; allow 10.0.0.0/24;