aboutsummaryrefslogtreecommitdiff
path: root/nixops/modules/websites/ftp/immae.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-30 09:54:43 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-30 09:54:43 +0100
commitf759f52e50c1099724c0a172cbebfdcb0823a25f (patch)
treed98254a9b43bcdddc33eae7a089dcd73803b23d7 /nixops/modules/websites/ftp/immae.nix
parent10bd8c08a3bbd9e0e5f5b25ffb278b8385083bd0 (diff)
downloadNix-f759f52e50c1099724c0a172cbebfdcb0823a25f.tar.gz
Nix-f759f52e50c1099724c0a172cbebfdcb0823a25f.tar.zst
Nix-f759f52e50c1099724c0a172cbebfdcb0823a25f.zip
Add Immae's website
Fixes https://git.immae.eu/mantisbt/view.php?id=76
Diffstat (limited to 'nixops/modules/websites/ftp/immae.nix')
-rw-r--r--nixops/modules/websites/ftp/immae.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/nixops/modules/websites/ftp/immae.nix b/nixops/modules/websites/ftp/immae.nix
new file mode 100644
index 0000000..6acfe44
--- /dev/null
+++ b/nixops/modules/websites/ftp/immae.nix
@@ -0,0 +1,69 @@
1{ lib, pkgs, config, myconfig, mylibs, ... }:
2let
3 cfg = config.services.myWebsites.Immae;
4 varDir = "/var/lib/ftp/immae";
5 env = myconfig.env.websites.immae;
6in {
7 options.services.myWebsites.Immae = {
8 production = {
9 enable = lib.mkEnableOption "enable Immae's website";
10 };
11 };
12
13 imports = [
14 ../commons/stats.nix
15 ];
16
17 config = lib.mkIf cfg.production.enable {
18 services.myWebsites.commons.stats.enable = true;
19 services.myWebsites.commons.stats.sites = [
20 {
21 name = "www.immae.eu";
22 conf = ./immae_goaccess.conf;
23 }
24 ];
25
26 security.acme.certs."eldiron".extraDomains."www.immae.eu" = null;
27
28 services.myPhpfpm.poolConfigs.immae = ''
29 listen = /run/phpfpm/immae.sock
30 user = wwwrun
31 group = wwwrun
32 listen.owner = wwwrun
33 listen.group = wwwrun
34
35 pm = ondemand
36 pm.max_children = 5
37 pm.process_idle_timeout = 60
38
39 php_admin_value[open_basedir] = "${varDir}:/tmp"
40 '';
41 services.myWebsites.production.modules = [ "proxy_fcgi" ];
42 services.myWebsites.production.vhostConfs.immae = {
43 certName = "eldiron";
44 hosts = [ "www.immae.eu" ];
45 root = varDir;
46 extraConfig = [
47 ''
48 Use Stats www.immae.eu
49
50 <FilesMatch "\.php$">
51 SetHandler "proxy:unix:/run/phpfpm/immae.sock|fcgi://localhost"
52 </FilesMatch>
53
54 <Directory ${varDir}>
55 DirectoryIndex index.php index.htm index.html
56 Options Indexes FollowSymLinks MultiViews Includes
57 AllowOverride All
58 Require all granted
59 </Directory>
60
61 <Location /blog_old/>
62 Use LDAPConnect
63 Require ldap-group cn=blog,cn=immae.eu,ou=services,dc=immae,dc=eu
64 </Location>
65 ''
66 ];
67 };
68 };
69}