my nixos config
1{ pkgs, lib, config, ... }:
2
3let
4 domain = "cl.yip.eeep.ee";
5 cfg = config.services.cloudlog;
6in
7{
8 services.cloudlog.enable = true;
9 services.mysql.package = pkgs.mariadb; # idk lol thats the example
10 services.cloudlog.database.createLocally = true;
11
12 services.cloudlog.extraConfig = ''
13 $config['base_url'] = "//${domain}";
14 include('${cfg.dataDir}/secrets.php');
15 '';
16 systemd.tmpfiles.rules = [
17 "f ${cfg.dataDir}/secrets.php 0700 ${cfg.user} ${config.services.nginx.group}"
18 # unsafe path transition /assets -> /assets/{json,qslcard}
19 "d ${cfg.dataDir}/assets 0750 ${cfg.user} ${config.services.nginx.group} - -"
20 ];
21
22 # cursed
23 services.nginx.user = config.services.caddy.user;
24 services.nginx.group = config.services.caddy.group;
25 # LET ME USE MY OWN SERVER DAMMIT
26 #services.cloudlog.virtualHost = null;
27 services.nginx.enable = lib.mkForce false;
28
29 services.caddy.enable = true;
30 # https://tenor.com/view/fire-writing-gif-24533171
31 services.caddy.virtualHosts.${domain}.extraConfig = let
32 socket = config.services.phpfpm.pools.cloudlog.socket;
33 in ''
34 #log {
35 # output stdout
36 #}
37 encode zstd gzip
38 root * ${config.services.nginx.virtualHosts.${cfg.virtualHost}.root}
39 php_fastcgi unix/${socket} {
40 #capture_stderr
41 }
42 file_server
43 '';
44 #services.cloudlog.poolConfig = {
45 # pm = "dynamic";
46 # "pm.max_children" = 32;
47 # "pm.max_requests" = 500;
48 # "pm.max_spare_servers" = 4;
49 # "pm.min_spare_servers" = 2;
50 # "pm.start_servers" = 2;
51 # "catch_workers_output" = "yes";
52 # "php_admin_flag[log_errors]" = "on";
53 # "php_flag[display_errors]" = "on";
54 #};
55}