35 lines
		
	
	
	
		
			803 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			803 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
| {
 | |
|   lib,
 | |
|   config,
 | |
|   flake-inputs,
 | |
|   ...
 | |
| }: let
 | |
|   domain = "foundryvtt.${config.services.nginx.domain}";
 | |
| in {
 | |
|   imports = [flake-inputs.foundryvtt.nixosModules.foundryvtt];
 | |
| 
 | |
|   services.foundryvtt = {
 | |
|     enable = true;
 | |
|     hostName = domain;
 | |
|     minifyStaticFiles = true;
 | |
|   };
 | |
| 
 | |
|   # Want to start it manually when I need it, not have it constantly
 | |
|   # running
 | |
|   systemd.services.foundryvtt.wantedBy = lib.mkForce [];
 | |
| 
 | |
|   services.nginx.virtualHosts."${domain}" = let
 | |
|     inherit (config.services.foundryvtt) port;
 | |
|   in {
 | |
|     forceSSL = true;
 | |
|     enableACME = true;
 | |
|     extraConfig = ''
 | |
|       add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
 | |
|     '';
 | |
| 
 | |
|     locations."/" = {
 | |
|       proxyWebsockets = true;
 | |
|       proxyPass = "http://localhost:${toString port}";
 | |
|     };
 | |
|   };
 | |
| }
 |