X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fprivate%2Fwebsites%2Fimmae%2Ftemp.nix;h=19aef1a5acfdfcd48c0d88d259f39d51d114446b;hb=5315b439af1f72c3282549508ae58d86d66e38ec;hp=288c8cc209461a320989bc0ce89f6cd031d0cff2;hpb=29f8cb850d74b456d6481a456311bbf5361d328c;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/private/websites/immae/temp.nix b/modules/private/websites/immae/temp.nix index 288c8cc..19aef1a 100644 --- a/modules/private/websites/immae/temp.nix +++ b/modules/private/websites/immae/temp.nix @@ -1,35 +1,63 @@ -{ lib, pkgs, config, myconfig, ... }: +{ lib, pkgs, config, ... }: let cfg = config.myServices.websites.immae.temp; - varDir = "/var/lib/ftp/temp.immae.eu"; - env = myconfig.env.websites.temp; + varDir = "/var/lib/immae_temp"; + env = config.myEnv.websites.immae.temp; in { options.myServices.websites.immae.temp.enable = lib.mkEnableOption "enable Temp' website"; config = lib.mkIf cfg.enable { - services.websites.env.production.modules = [ "headers" ]; - services.websites.env.production.vhostConfs.temp = { - certName = "eldiron"; + services.websites.env.production.vhostConfs.immae_temp = { + certName = "immae"; addToCerts = true; hosts = [ "temp.immae.eu" ]; - root = varDir; - extraConfig = [ - '' - Use Apaxy "${varDir}" "title .duplicity-ignore" - - Header set Content-Disposition attachment - - - Options -Indexes + root = null; + extraConfig = [ '' + ProxyVia On + ProxyRequests Off + ProxyPreserveHost On + ProxyPass / unix:///run/surfer/listen.sock|http://temp.immae.eu/ + ProxyPassReverse / unix:///run/surfer/listen.sock|http://temp.immae.eu/ + + Options FollowSymLinks MultiViews AllowOverride None Require all granted - + + '' ]; + }; + + secrets.keys."webapps/surfer" = { + permissions = "0400"; + user = "wwwrun"; + group = "wwwrun"; + text = '' + CLOUDRON_LDAP_URL=ldaps://${env.ldap.host} + CLOUDRON_LDAP_USERS_BASE_DN=${env.ldap.base} + TOKENSTORE_FILE=/var/lib/surfer/tokens.json + CLOUDRON_LDAP_BIND_DN=${env.ldap.dn} + CLOUDRON_LDAP_BIND_PASSWORD=${env.ldap.password} + CLOUDRON_LDAP_USERS_BASE_DN=${env.ldap.base} + CLOUDRON_LDAP_FILTER="${env.ldap.filter}" + LISTEN=/run/surfer/listen.sock + ''; + }; + + systemd.services.surfer = { + description = "Surfer"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; - - Options Indexes - - '' - ]; + script = '' + exec ${pkgs.webapps.surfer}/bin/surfer-server ${varDir} + ''; + serviceConfig = { + EnvironmentFile = config.secrets.fullPaths."webapps/surfer"; + User = "wwwrun"; + Group = "wwwrun"; + StateDirectory = "surfer"; + RuntimeDirectory = "surfer"; + Type = "simple"; + }; }; }; }