default.nix 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. {
  2. config,
  3. inputs,
  4. outputs,
  5. ...
  6. }:
  7. {
  8. containers = {
  9. grist-latest = {
  10. autoStart = false;
  11. privateNetwork = true;
  12. hostAddress = "192.168.1.1";
  13. localAddress = "192.168.1.2";
  14. specialArgs = { inherit outputs; };
  15. config = import ./grist.nix;
  16. };
  17. grasp = {
  18. autoStart = false;
  19. privateNetwork = true;
  20. hostAddress = "192.168.1.1";
  21. localAddress = "192.168.1.4";
  22. specialArgs = { inherit outputs inputs; };
  23. bindMounts = {
  24. "/run/secrets/grasp-owner" = {
  25. hostPath = config.age.secrets."odin/services/grasp-owner".path;
  26. isReadOnly = true;
  27. };
  28. };
  29. config = import ./grasp.nix;
  30. };
  31. gogs = {
  32. autoStart = false;
  33. privateNetwork = true;
  34. hostAddress = "192.168.1.1";
  35. localAddress = "192.168.1.3";
  36. specialArgs = { inherit outputs; };
  37. bindMounts = {
  38. "/run/secrets/gogs-admin" = {
  39. hostPath = config.age.secrets."odin/services/gogs-admin".path;
  40. isReadOnly = true;
  41. };
  42. };
  43. config = import ./gogs.nix;
  44. };
  45. };
  46. services.caddy.virtualHosts.grist = {
  47. hostName = "grist.{$DOMAIN}";
  48. extraConfig = ''
  49. encode gzip zstd
  50. reverse_proxy 192.168.1.2:8484
  51. '';
  52. };
  53. }