1 { lib, pkgs, config, ... }:
3 cfg = config.myServices.websites.immae.temp;
4 varDir = "/var/lib/immae_temp";
5 env = config.myEnv.websites.immae.temp;
7 options.myServices.websites.immae.temp.enable = lib.mkEnableOption "enable Temp' website";
9 config = lib.mkIf cfg.enable {
10 services.duplyBackup.profiles.immae_temp.rootDir = varDir;
11 services.duplyBackup.profiles.immae_temp_surfer.rootDir = "/var/lib/surfer";
12 services.websites.env.production.vhostConfs.immae_temp = {
15 hosts = [ "temp.immae.eu" ];
21 ProxyPass / unix:///run/surfer/listen.sock|http://temp.immae.eu/
22 ProxyPassReverse / unix:///run/surfer/listen.sock|http://temp.immae.eu/
24 Options FollowSymLinks MultiViews
31 secrets.keys."webapps/surfer" = {
36 CLOUDRON_LDAP_URL=ldaps://${env.ldap.host}
37 CLOUDRON_LDAP_USERS_BASE_DN=${env.ldap.base}
38 TOKENSTORE_FILE=/var/lib/surfer/tokens.json
39 CLOUDRON_LDAP_BIND_DN=${env.ldap.dn}
40 CLOUDRON_LDAP_BIND_PASSWORD=${env.ldap.password}
41 CLOUDRON_LDAP_USERS_BASE_DN=${env.ldap.base}
42 CLOUDRON_LDAP_FILTER="${env.ldap.filter}"
43 LISTEN=/run/surfer/listen.sock
47 systemd.services.surfer = {
48 description = "Surfer";
49 wantedBy = [ "multi-user.target" ];
50 after = [ "network.target" ];
53 exec ${pkgs.webapps.surfer}/bin/surfer-server ${varDir}
56 EnvironmentFile = config.secrets.fullPaths."webapps/surfer";
59 StateDirectory = "surfer";
60 RuntimeDirectory = "surfer";