From 6be487f012f5b7d236a7d77ce9dcba69c738c51e Mon Sep 17 00:00:00 2001 From: Daniel Kempkens Date: Fri, 17 Mar 2023 21:58:31 +0100 Subject: [PATCH] webserver: rename to weewx --- agenix/hosts/sail/config.nix | 8 +++ agenix/hosts/sail/mosquitto/passwordWeewx.age | 13 ++++ .../sail/mosquitto/passwordWeewxProxy.age | 12 ++++ container/proxitok/default.nix | 2 +- container/webserver/config.nix | 33 --------- container/{webserver => weewx}/default.nix | 66 ++++++++++++------ secret/container/webserver/config/weewx.conf | Bin 24222 -> 0 bytes secret/container/webserver/default.nix | Bin 384 -> 0 bytes secret/container/weewx/config/weewx.conf | Bin 0 -> 24223 bytes secret/container/weewx/default.nix | Bin 0 -> 90 bytes secrets.nix | 3 + system/hosts/sail.nix | 2 +- system/nixos/arion.nix | 5 +- system/nixos/mosquitto.nix | 6 ++ 14 files changed, 90 insertions(+), 60 deletions(-) create mode 100644 agenix/hosts/sail/mosquitto/passwordWeewx.age create mode 100644 agenix/hosts/sail/mosquitto/passwordWeewxProxy.age delete mode 100644 container/webserver/config.nix rename container/{webserver => weewx}/default.nix (50%) delete mode 100644 secret/container/webserver/config/weewx.conf delete mode 100644 secret/container/webserver/default.nix create mode 100644 secret/container/weewx/config/weewx.conf create mode 100644 secret/container/weewx/default.nix create mode 100644 system/nixos/mosquitto.nix diff --git a/agenix/hosts/sail/config.nix b/agenix/hosts/sail/config.nix index f47204d..b8a7c06 100644 --- a/agenix/hosts/sail/config.nix +++ b/agenix/hosts/sail/config.nix @@ -54,6 +54,14 @@ group = "matrix-synapse"; }; + mosquitto-password-weewx-proxy = { + file = ./mosquitto/passwordWeewxProxy.age; + }; + + mosquitto-password-weewx = { + file = ./mosquitto/passwordWeewx.age; + }; + atuin-environment = { file = ./atuin/environment.age; owner = "atuin"; diff --git a/agenix/hosts/sail/mosquitto/passwordWeewx.age b/agenix/hosts/sail/mosquitto/passwordWeewx.age new file mode 100644 index 0000000..86f2d1a --- /dev/null +++ b/agenix/hosts/sail/mosquitto/passwordWeewx.age @@ -0,0 +1,13 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE10R3A2ZyAyU1ZF +UWtzZ3h0R3B1RWVYMWFMWllieHI5WTlVVXFteGhWckhFOVRwQlFFCnZJUUxVdFgr +OHUzc3lrSWpwVytMWDc0Z0FoTWhLREtEaVE0bkcxZEdGU2MKLT4gc3NoLWVkMjU1 +MTkgTmJWNGh3IG5DM2oyTVpnNitSSzU2am8rWDJSMXVmZGgvOGZNdWp3YktvVkNZ +TmE2U2MKYlJOUEFKZTF0UjNiVm5SNmpwaEIzaWhWWG9YZldiLzIyUWNxRE5NaHZY +YwotPiBRcmVHKS1ncmVhc2UgMyA1TCdCRm5fCllvNXk4RzVVekxGeXRDSWlacFI4 +U1RvRUQ1dDcvS0ZVZm5FNUt5TUlTNkFXdjVzCi0tLSBxeUowYnpuVG5BYUpOZlFT +c2NzOWhlQ1dVUFg0bDA5T2ROeHFvU2lJeE5JCqSG2JIv7FpYbfZ4ERbSW0G5vQeF +teqNb71repTGwOW5BiAadvWpiv0o5Oq2Plpq9etsm8Jgm21F8UFR71DlefpTXVOH +rIxfm4YTTY68aVGLx90/dxmw8qOZsGZvQ1EoKZQh+p+SO9BwC2//0uKhBFbSbwrK +sbRurKBcA+xr0LB1dxZZhEqe8CXLaVlvsMklT7A= +-----END AGE ENCRYPTED FILE----- diff --git a/agenix/hosts/sail/mosquitto/passwordWeewxProxy.age b/agenix/hosts/sail/mosquitto/passwordWeewxProxy.age new file mode 100644 index 0000000..f44a51d --- /dev/null +++ b/agenix/hosts/sail/mosquitto/passwordWeewxProxy.age @@ -0,0 +1,12 @@ +-----BEGIN AGE ENCRYPTED FILE----- +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IE10R3A2ZyBzVjZz +TG9memlGMXZwZFFVK3pNOXVrYjlkak90NkpLUEVBajVaNTNGdkNNCjdPNVYrdjVk +ZUVSeVJmS2QzaitIa014TGFKM01QVWN3bHhEbktjY0UvS1UKLT4gc3NoLWVkMjU1 +MTkgTmJWNGh3IGFab21mL2FVV3VVYXhYMjI2SGlZWVl3UW9RTzNEbU1qVVFMWHlo +eWM4UUEKODl1Zis5VlFtWTR0NWcvSFpHdk1EaG5BekttRk5GNktzNXU0c0xrQkFD +TQotPiByW1t4NkssLWdyZWFzZQpvYVBsK3ptYkRsRDEKLS0tIHRQVmhMY3JFYmE1 +dmdLai9CVkltM0VKcXJzNkEzMjN3TVVGeERvb3lZbTgK6mbrGDx3FqUB8YD+VHR5 +VcDitTAadwkqAqq6/0Zc0a45M5rJ5P6ThNKsrXpCc50YvtpEQM0kVBWyJIz2qXuE +z4/i7DY7MxpndiQhjaD4e2KToDRLa3uGYbnnKYE9ZhsmdDQqyM0lx9dMvo6aV/nt +WMRO84wxSi+jPoPYh7659IPOHbwGW1wZiJv1mGZA6bN3Dg== +-----END AGE ENCRYPTED FILE----- diff --git a/container/proxitok/default.nix b/container/proxitok/default.nix index 6878e69..6ebe393 100644 --- a/container/proxitok/default.nix +++ b/container/proxitok/default.nix @@ -1,4 +1,4 @@ -{ config, secret, ... }: +{ config, ... }: { virtualisation.arion.projects.proxitok.settings = { diff --git a/container/webserver/config.nix b/container/webserver/config.nix deleted file mode 100644 index 664637a..0000000 --- a/container/webserver/config.nix +++ /dev/null @@ -1,33 +0,0 @@ -{ secret, ... }: - -{ - systemd.tmpfiles.rules = [ - "d /etc/container-webserver/weewx 0755 421 421" - "d /etc/container-webserver/weewx/html 0755 421 421" - ]; - - # mosquitto - - environment.etc."container-webserver/mosquitto/mosquitto.conf" = { - text = '' - listener 1883 - password_file /mosquitto/config/users.conf - ''; - - mode = "0644"; - }; - - environment.etc."container-webserver/mosquitto/users.conf" = { - text = secret.container.webserver.mosquitto.users; - mode = "0644"; - }; - - # weewx - - environment.etc."container-webserver/weewx/weewx.conf" = { - source = ../../secret/container/webserver/config/weewx.conf; - mode = "0644"; - uid = 421; - gid = 421; - }; -} diff --git a/container/webserver/default.nix b/container/weewx/default.nix similarity index 50% rename from container/webserver/default.nix rename to container/weewx/default.nix index 938f5d2..3693760 100644 --- a/container/webserver/default.nix +++ b/container/weewx/default.nix @@ -1,26 +1,12 @@ +{ config, ... }: + let - secret = import ../../secret/container/webserver; - custom-config = import ./config.nix { inherit secret; }; + secret = import ../../secret/container/weewx; + data-dir = "/etc/container-weewx"; in { - virtualisation.arion.projects.webserver.settings = { + virtualisation.arion.projects.weewx.settings = { services = { - mosquitto = { - service = { - image = "eclipse-mosquitto:2"; - container_name = "mosquitto"; - restart = "unless-stopped"; - ports = [ "1883:1883" ]; - user = "nobody"; - volumes = [ - "/etc/container-webserver/mosquitto:/mosquitto/config:ro" - ]; - labels = { - "com.centurylinklabs.watchtower.enable" = "true"; - }; - }; - }; - weewx = { service = { image = "ghcr.io/nifoc/weewx-docker:master"; @@ -32,7 +18,7 @@ in "TZ" = "Europe/Berlin"; }; volumes = [ - "/etc/container-webserver/weewx:/data" + "${data-dir}:/data" ]; labels = { "com.centurylinklabs.watchtower.enable" = "true"; @@ -42,11 +28,45 @@ in }; }; - services.nginx.virtualHosts."${secret.container.webserver.hostname}" = { + systemd.tmpfiles.rules = [ + "d ${data-dir} 0755 421 421" + "d ${data-dir}/html 0755 421 421" + ]; + + environment.etc."container-weewx/weewx.conf" = { + source = ../../secret/container/weewx/config/weewx.conf; + mode = "0644"; + uid = 421; + gid = 421; + }; + + services.mosquitto.listeners = { + weewx-private = { + address = "0.0.0.0"; + port = 1883; + + users = { + weewx-proxy = { + hashedPasswordFile = config.age.secrets.mosquitto-password-weewx-proxy.path; + acl = [ "write weewx/+" ]; + }; + + weewx = { + hashedPasswordFile = config.age.secrets.mosquitto-password-weewx.path; + acl = [ "read weewx/+" ]; + }; + }; + }; + }; + + networking.firewall.interfaces."enp7s0".allowedTCPPorts = [ 1883 ]; + networking.firewall.interfaces."tailscale0".allowedTCPPorts = [ 1883 ]; + + services.nginx.virtualHosts."${secret.container.weewx.hostname}" = { http3 = true; kTLS = true; - root = "/etc/container-webserver/weewx/html/wdc"; + root = "${data-dir}/html/wdc"; forceSSL = true; useACMEHost = "kempkens.io"; @@ -72,4 +92,4 @@ in expires modified 1h; ''; }; -} // custom-config +} diff --git a/secret/container/webserver/config/weewx.conf b/secret/container/webserver/config/weewx.conf deleted file mode 100644 index 3e09ac73191904868879c8c009ba2ec3ec3c31b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24222 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 diff --git a/secret/container/weewx/config/weewx.conf b/secret/container/weewx/config/weewx.conf new file mode 100644 index 0000000000000000000000000000000000000000..cf3bf24daf6fe509afa64c6525bc88f0664a333d GIT binary patch literal 24223 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 G#n8PVmpp3# literal 0 HcmV?d00001 diff --git a/secret/container/weewx/default.nix b/secret/container/weewx/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..1470f1072a0b4ca7a5dfb576beffcafedb5dd0d7 GIT binary patch literal 90 zcmV-g0Hyx`M@dveQdv+`05=jl0i3p3$}hM?*{}k{=qFBPM`y%vo8fgJC)~klNw-=h wQwXa`w%a}NQq1f~DA`bFC*|*nub5HZ#OuN#?2=ls?0s971aRUPrUxX_bKfc|RsaA1 literal 0 HcmV?d00001 diff --git a/secrets.nix b/secrets.nix index afd3d24..2e68edd 100644 --- a/secrets.nix +++ b/secrets.nix @@ -19,6 +19,9 @@ in "agenix/hosts/sail/synapse/extraConfig.age".publicKeys = sail; + "agenix/hosts/sail/mosquitto/passwordWeewxProxy.age".publicKeys = sail; + "agenix/hosts/sail/mosquitto/passwordWeewx.age".publicKeys = sail; + "agenix/hosts/sail/atuin/environment.age".publicKeys = sail; "agenix/hosts/sail/freshrss/userPassword.age".publicKeys = sail; diff --git a/system/hosts/sail.nix b/system/hosts/sail.nix index 8af7628..fe65744 100644 --- a/system/hosts/sail.nix +++ b/system/hosts/sail.nix @@ -40,7 +40,7 @@ in (import ../nixos/tailscale.nix (args // { inherit secret; })) (import ../nixos/arion.nix (args // { inherit secret; })) - ../../container/webserver + ../../container/weewx ../../container/matrix ../../container/proxitok ]; diff --git a/system/nixos/arion.nix b/system/nixos/arion.nix index f5f5909..e345809 100644 --- a/system/nixos/arion.nix +++ b/system/nixos/arion.nix @@ -19,6 +19,7 @@ autoPrune = { enable = true; dates = "weekly"; + flags = [ "--all" ]; }; }; @@ -32,7 +33,7 @@ }; networking.firewall.interfaces."podman+" = { - allowedUDPPorts = [ 53 443 ]; - allowedTCPPorts = [ 53 443 ]; + allowedUDPPorts = [ 53 ]; + allowedTCPPorts = [ 53 ]; }; } diff --git a/system/nixos/mosquitto.nix b/system/nixos/mosquitto.nix new file mode 100644 index 0000000..6b680ea --- /dev/null +++ b/system/nixos/mosquitto.nix @@ -0,0 +1,6 @@ +{ + services.mosquitto = { + enable = true; + persistence = true; + }; +}