diff --git a/modules/nixos/guests/projectSite/default.nix b/modules/nixos/guests/projectSite/default.nix index f234c5e..228a2a1 100755 --- a/modules/nixos/guests/projectSite/default.nix +++ b/modules/nixos/guests/projectSite/default.nix @@ -23,7 +23,7 @@ in networking.firewall.allowedTCPPorts = [ 22 - 80 + 8080 ]; services.openssh = { @@ -44,17 +44,15 @@ in gateway = [ serviceCfg.interface.gate ]; }; }; - }; - services.caddy = { - enable = true; - virtualHosts.":80".extraConfig = '' - root * /etc/website - - file_server - - try_files {path} /index.html - ''; + services.website = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.miniserve}/bin/miniserve /etc/website --index index.html -p 8080"; + Restart = "always"; + }; + }; }; microvm = { @@ -68,7 +66,6 @@ in mac = serviceCfg.interface.mac; } ]; - shares = [ { source = "/nix/store"; @@ -84,9 +81,7 @@ in services.caddy = { enable = true; virtualHosts.${host}.extraConfig = '' - reverse_proxy ${serviceCfg.interface.ip}:80 - - tls /var/lib/acme/${host}/fullchain.pem /var/lib/acme/${host}/key.pem + reverse_proxy ${serviceCfg.interface.ip}:8080 ''; }; diff --git a/modules/nixos/guests/website/default.nix b/modules/nixos/guests/website/default.nix index 5d15f5a..40553db 100755 --- a/modules/nixos/guests/website/default.nix +++ b/modules/nixos/guests/website/default.nix @@ -16,34 +16,43 @@ in autostart = true; config = { system.stateVersion = "25.05"; + networking.firewall.allowedTCPPorts = [ 22 - 80 + 8080 ]; + services.openssh = { enable = true; settings.PasswordAuthentication = false; }; + environment.etc."website".source = websitePkg; + users.users.root.openssh.authorizedKeys.keys = flake.config.people.users.${user0}.sshKeys; - systemd.network = { - enable = true; - networks."10-enp" = { - matchConfig.Name = "enp0s3"; - addresses = [ - { Address = "${serviceCfg.interface.ip}/24"; } - ]; - gateway = [ serviceCfg.interface.gate ]; + + systemd = { + network = { + enable = true; + networks."10-enp" = { + matchConfig.Name = "enp0s3"; + addresses = [ + { Address = "${serviceCfg.interface.ip}/24"; } + ]; + gateway = [ serviceCfg.interface.gate ]; + }; + }; + + services.website = { + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + serviceConfig = { + ExecStart = "${pkgs.miniserve}/bin/miniserve /etc/website --index index.html -p 8080"; + Restart = "always"; + }; }; }; - services.caddy = { - enable = true; - virtualHosts.":80".extraConfig = '' - root * /etc/website - file_server - try_files {path} /index.html - ''; - }; + microvm = { vcpu = 2; mem = 3072; @@ -66,17 +75,23 @@ in }; }; }; + services.caddy = { + enable = true; virtualHosts.${host}.extraConfig = '' - reverse_proxy ${serviceCfg.interface.ip}:80 + reverse_proxy ${serviceCfg.interface.ip}:8080 + tls ${serviceCfg.ssl.cert} ${serviceCfg.ssl.key} ''; }; + security.acme.certs.${host} = { dnsProvider = instances.web.dns.provider0; environmentFile = config.sops.secrets."dns/${instances.web.dns.provider0}".path; }; + systemd.tmpfiles.rules = [ "d ${serviceCfg.mntPaths.path0} 0755 microvm wheel - -" ]; + } diff --git a/profiles/user0/files/misc/justfile.nix b/profiles/user0/files/misc/justfile.nix index 3a472fa..f19cba5 100755 --- a/profiles/user0/files/misc/justfile.nix +++ b/profiles/user0/files/misc/justfile.nix @@ -63,6 +63,8 @@ in ${remoteRebuild} ${sshCommand} ${microVMSshCommand} + addr: + http get https://mine.defensio.io/api/statistics/addr1q87k2jlckh6ujqx4ymkdd4jrhy6gukdtum0p77pdh5gqcw8ctl65fvaw097l32ta6m8hth3xu9cjfz70y34gs2mdfzlsj465th | get local_with_donate | get dfo_allocation | $in / 1000000 balance: #!/usr/bin/env nu let results = [${balanceHosts}] | each { |h| let val = (^ssh ...($h.ssh | split row " ") 'nu -c "open /var/lib/defenseio-data/MidnightMiner/balances.json | get snapshots | last | get balance"' | into float); print $"($h.name):"; print $val; $val }