dotfiles/nixos/boxes/cupsnet/foundryvtt.nix
Cyryl Płotnicki 0c4da09b99
Some checks failed
use nix / build (push) Failing after 4m25s
add fancy nix on bolty to build foundry on cupsnet
2024-09-09 18:47:53 +01:00

62 lines
1.3 KiB
Nix

{
config,
pkgs,
inputs,
lib,
...
}: let
foundryvtt = pkgs.fetchzip {
name = "foundryvtt";
url = "file:///" + ./FoundryVTT-12.331.zip;
postFetch = "";
sha256 = "sha256-H4IpflEkwsmeDAOdVWLbhh4i3F7zhTYdOZPFT34H8ng=";
stripRoot = false;
};
in {
imports = [../nginx.nix];
services.nginx = {
virtualHosts = {
"foundryvtt.peninsula.industries" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:30000";
proxyWebsockets = true;
};
};
};
};
containers.foundryvtt = {
autoStart = true;
forwardPorts = [
{
containerPort = 30000;
hostPort = 30000;
}
];
bindMounts = {
"/var/lib/foundryvtt" = {
hostPath = "/var/lib/foundryvtt";
isReadOnly = false;
};
};
config = {
config,
pkgs,
...
}: {
system.stateVersion = "23.11";
systemd.services."foundryvtt" = {
requires = ["network-online.target"];
wantedBy = ["multi-user.target"];
script = ''
mkdir -p /var/lib/foundryvtt
${pkgs.nodejs-18_x}/bin/node ${foundryvtt}/resources/app/main.js --dataPath=/var/lib/foundryvtt
'';
serviceConfig.Restart = "always";
};
};
};
}