gifford-compute-1/services.nix

26 lines
950 B
Nix
Raw Normal View History

2023-12-29 12:39:26 +00:00
{pkgs, ...}: {
environment.etc."srv/docker-compose.yml" = builtins.readFile ./docker-compose.yml;
systemd.services.load-balancer = let dataset = "gc1_srv";
in {
wantedBy = ["multi-user.target"];
requires = ["public-network.service"
"zfs-import-${dataset}.service"];
after = ["public-network.service"
"zfs-import-${dataset}.service"];
serviceConfig = {
ExecStart = "${pkgs.docker}/bin/docker compose up";
WorkingDirectory = "/etc/srv/load-balancer";
};
};
}
# '//' in nix means "merge attribute sets". We're importing a function at the
# path, then calling it with the attr set as an argument, and merging the
# results with the config above
// import ./common/services/load-balancer { dataset = "gc1_srv"; pkgs = pkgs; }
// import ./common/services/conduit.nix {
dataset = "gc1_srv";
pkgs = pkgs;
domain = "chat.techwork.zone";
}