This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

machines.neoprism: add snappymail webmail on mail.lassul.us

SnappyMail PHP webmail served via nginx + php-fpm.
Data stored in /var/lib/snappymail.
Admin panel at mail.lassul.us/?admin after first deploy.

+66
+65
2configs/snappymail.nix
··· 1 + { config, pkgs, ... }: 2 + let 3 + snappymail = pkgs.snappymail; 4 + dataDir = "/var/lib/snappymail"; 5 + pool = "snappymail"; 6 + fpmSocket = config.services.phpfpm.pools.${pool}.socket; 7 + in 8 + { 9 + services.phpfpm.pools.${pool} = { 10 + user = "snappymail"; 11 + group = "snappymail"; 12 + settings = { 13 + "listen.owner" = "nginx"; 14 + "listen.group" = "nginx"; 15 + "pm" = "dynamic"; 16 + "pm.max_children" = 4; 17 + "pm.start_servers" = 1; 18 + "pm.min_spare_servers" = 1; 19 + "pm.max_spare_servers" = 2; 20 + }; 21 + phpOptions = '' 22 + upload_max_filesize = 25M 23 + post_max_size = 25M 24 + ''; 25 + phpEnv = { 26 + SNAPPYMAIL_DATA_PATH = dataDir; 27 + }; 28 + }; 29 + 30 + users.users.snappymail = { 31 + isSystemUser = true; 32 + group = "snappymail"; 33 + home = dataDir; 34 + createHome = true; 35 + }; 36 + users.groups.snappymail = { }; 37 + 38 + systemd.tmpfiles.rules = [ 39 + "d ${dataDir} 0750 snappymail snappymail -" 40 + ]; 41 + 42 + services.nginx.virtualHosts."mail.lassul.us" = { 43 + forceSSL = true; 44 + useACMEHost = "mail.lassul.us"; 45 + root = "${snappymail}"; 46 + locations."/" = { 47 + index = "index.php"; 48 + tryFiles = "$uri $uri/ /index.php$is_args$args"; 49 + }; 50 + locations."~ \\.php$" = { 51 + extraConfig = '' 52 + fastcgi_pass unix:${fpmSocket}; 53 + include ${pkgs.nginx}/conf/fastcgi.conf; 54 + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 55 + fastcgi_param SNAPPYMAIL_DATA_PATH ${dataDir}; 56 + ''; 57 + }; 58 + locations."~ /\\." = { 59 + extraConfig = "deny all;"; 60 + }; 61 + locations."^~ /data" = { 62 + extraConfig = "deny all;"; 63 + }; 64 + }; 65 + }
+1
machines/neoprism/config.nix
··· 6 6 ../../2configs/ssh-redirect.nix 7 7 ../../2configs/retiolum.nix 8 8 ../../2configs/mailserver.nix 9 + ../../2configs/snappymail.nix 9 10 ../../2configs/gsm-wiki.nix 10 11 ../../2configs/monitoring/telegraf.nix 11 12 ../../2configs/pair-programming.nix