aboutsummaryrefslogtreecommitdiff
path: root/roles/web/stargazers/default.nix
diff options
context:
space:
mode:
authorCaroline Larimore <caroline@larimo.re>2024-07-18 23:39:42 -0700
committerCaroline Larimore <caroline@larimo.re>2024-07-18 23:39:42 -0700
commit65174b4b5c05bb143e6681a4cbcd0a95f04987e2 (patch)
tree35383af43f2aa972b316dd12e1d5d1bd5df84086 /roles/web/stargazers/default.nix
parent15c5050590415fd64e984e994ec77186918cf7b7 (diff)
Begin modularization!
Diffstat (limited to 'roles/web/stargazers/default.nix')
-rw-r--r--roles/web/stargazers/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/roles/web/stargazers/default.nix b/roles/web/stargazers/default.nix
new file mode 100644
index 0000000..78b37d3
--- /dev/null
+++ b/roles/web/stargazers/default.nix
@@ -0,0 +1,37 @@
+{ config, pkgs, lib, inputs, ... }:
+with lib;
+
+let cfg = config.roles.web.stargazers; in {
+ options.roles.web.stargazers = {
+ enable = mkEnableOption "stargazers webserver";
+ };
+
+ config = mkIf cfg.enable {
+ containers.web-stargazers = {
+ autoStart = true;
+
+ privateNetwork = true;
+ hostAddress = "192.168.0.1";
+ localAddress = "192.168.0.3";
+
+ bindMounts = {
+ "/srv/web/stargazers" = {
+ hostPath = "/srv/web/stargazers";
+ isReadOnly = true;
+ };
+ };
+
+ config = { ... }: {
+ system.stateVersion = "23.11";
+ networking.firewall.allowedTCPPorts = [ 80 ];
+
+ services.nginx = {
+ enable = true;
+ virtualHosts = {
+ "192.168.0.3".root = "/srv/web/stargazers";
+ };
+ };
+ };
+ };
+ };
+}