53 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  lib,
 | 
						|
  pkgs,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
with lib; {
 | 
						|
  systemd.services.wiki-js = {
 | 
						|
    requires = ["postgresql.service"];
 | 
						|
    after = ["postgresql.service"];
 | 
						|
  };
 | 
						|
 | 
						|
  services = {
 | 
						|
    nginx = {
 | 
						|
      virtualHosts."wjs.posixlycorrect.com" = {
 | 
						|
        enableACME = true;
 | 
						|
        forceSSL = true;
 | 
						|
        extraConfig = ''
 | 
						|
          proxy_headers_hash_max_size 512;
 | 
						|
          proxy_headers_hash_bucket_size 128;
 | 
						|
        '';
 | 
						|
        locations."/" = {
 | 
						|
          proxyPass = "http://127.0.0.1:3000";
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
 | 
						|
    wiki-js = {
 | 
						|
      enable = true;
 | 
						|
      environmentFile = "/var/trust/wiki-js/env.txt";
 | 
						|
      settings = {
 | 
						|
        bindIP = "127.0.0.1";
 | 
						|
        port = 3000;
 | 
						|
        db = {
 | 
						|
          db = "wiki-js";
 | 
						|
          user = "wiki-js";
 | 
						|
          type = "postgres";
 | 
						|
          host = "/run/postgresql";
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
 | 
						|
    postgresql = {
 | 
						|
      enable = true;
 | 
						|
      ensureDatabases = ["wiki-js"];
 | 
						|
      ensureUsers = [
 | 
						|
        {
 | 
						|
          name = "wiki-js";
 | 
						|
          ensureDBOwnership = true;
 | 
						|
        }
 | 
						|
      ];
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |