From e836b23c66c7c0ecd9c69c37de8a3d922b949c10 Mon Sep 17 00:00:00 2001 From: m3tam3re
Date: Thu, 16 Jul 2026 16:35:58 +0200 Subject: [PATCH] +phishboard --- flake.lock | 21 ++++++++++++++++ flake.nix | 5 ++++ hosts/AZ-PRM-1/secrets.nix | 3 +++ hosts/AZ-PRM-1/services/default.nix | 1 + hosts/AZ-PRM-1/services/phishboard.nix | 32 +++++++++++++++++++++++++ hosts/common/ports.nix | 1 + secrets.nix | 1 + secrets/phishboard-env.age | Bin 0 -> 771 bytes 8 files changed, 64 insertions(+) create mode 100644 hosts/AZ-PRM-1/services/phishboard.nix create mode 100644 secrets/phishboard-env.age diff --git a/flake.lock b/flake.lock index fe2a687..a6da1a3 100644 --- a/flake.lock +++ b/flake.lock @@ -1294,6 +1294,26 @@ "type": "github" } }, + "phishboard": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784207158, + "narHash": "sha256-Y8ZUZMBA/EZCt9qIFhZBC/39O+BofLjclmLyrFkCPLU=", + "ref": "refs/heads/master", + "rev": "514ee9a2e3541db65f6934a425d291de9782e7ce", + "revCount": 1, + "type": "git", + "url": "https://git.az-gruppe.com/AZ-Intec-GmbH/phishboard.git" + }, + "original": { + "type": "git", + "url": "https://git.az-gruppe.com/AZ-Intec-GmbH/phishboard.git" + } + }, "pyproject-build-systems": { "inputs": { "nixpkgs": [ @@ -1402,6 +1422,7 @@ "nixpkgs": "nixpkgs_7", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur_2", + "phishboard": "phishboard", "zugferd-service": "zugferd-service" } }, diff --git a/flake.nix b/flake.nix index 191d8ec..78f3dbc 100644 --- a/flake.nix +++ b/flake.nix @@ -66,6 +66,10 @@ url = "git+https://git.az-gruppe.com/AZ-Intec-GmbH/AZess"; inputs.nixpkgs.follows = "nixpkgs"; }; + phishboard = { + url = "git+https://git.az-gruppe.com/AZ-Intec-GmbH/phishboard.git"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { @@ -168,6 +172,7 @@ inputs.azion-scheduler.nixosModules.default inputs.zugferd-service.nixosModules.default inputs.azess.nixosModules.default + inputs.phishboard.nixosModules.default ]; }; }; diff --git a/hosts/AZ-PRM-1/secrets.nix b/hosts/AZ-PRM-1/secrets.nix index 736698b..ef3b6fb 100644 --- a/hosts/AZ-PRM-1/secrets.nix +++ b/hosts/AZ-PRM-1/secrets.nix @@ -56,6 +56,9 @@ in { group = "postgres"; mode = "0600"; }; + phishboard-env = { + file = ../../secrets/phishboard-env.age; + }; smb-autoablage = { file = ../../secrets/smb-autoablage.age; }; diff --git a/hosts/AZ-PRM-1/services/default.nix b/hosts/AZ-PRM-1/services/default.nix index 229986d..3b623c8 100644 --- a/hosts/AZ-PRM-1/services/default.nix +++ b/hosts/AZ-PRM-1/services/default.nix @@ -9,6 +9,7 @@ ./n8n.nix ./netbird.nix ./pgadmin.nix + ./phishboard.nix ./postgres.nix ./printing.nix ./traefik.nix diff --git a/hosts/AZ-PRM-1/services/phishboard.nix b/hosts/AZ-PRM-1/services/phishboard.nix new file mode 100644 index 0000000..d5cb541 --- /dev/null +++ b/hosts/AZ-PRM-1/services/phishboard.nix @@ -0,0 +1,32 @@ +{ + config, + inputs, + pkgs, + ... +}: let + serviceName = "phishboard"; + servicePort = config.m3ta.ports.get serviceName; +in { + services.phishboard = { + enable = true; + package = inputs.phishboard.packages.${pkgs.stdenv.hostPlatform.system}.default; + host = "127.0.0.1"; + port = servicePort; + environmentFile = config.age.secrets.phishboard-env.path; + }; + + services.traefik.dynamicConfigOptions.http = { + services.${serviceName}.loadBalancer.servers = [ + {url = "http://localhost:${toString servicePort}/";} + ]; + + routers.${serviceName} = { + rule = "Host(`pb.l.az-gruppe.com`)"; + tls = { + certResolver = "ionos"; + }; + service = serviceName; + entrypoints = "websecure"; + }; + }; +} diff --git a/hosts/common/ports.nix b/hosts/common/ports.nix index da8de83..84cbe41 100644 --- a/hosts/common/ports.nix +++ b/hosts/common/ports.nix @@ -19,6 +19,7 @@ netbird = 3038; azion-scheduler = 3039; azion-scheduler-proxy = 3049; + phishboard = 3055; metabase = 3013; baserow = 3050; diff --git a/secrets.nix b/secrets.nix index 04b9bf5..dcc4441 100644 --- a/secrets.nix +++ b/secrets.nix @@ -45,6 +45,7 @@ in { "secrets/snipe-it-db-password.age".publicKeys = systems ++ users; "secrets/snipe-it-mail-password.age".publicKeys = systems ++ users; "secrets/pgadmin-pw.age".publicKeys = systems ++ users; + "secrets/phishboard-env.age".publicKeys = systems ++ users; "secrets/vaultwarden-env.age".publicKeys = systems ++ users; "secrets/vaultwarden-db.age".publicKeys = systems ++ users; "secrets/zammad-pw.age".publicKeys = systems ++ users; diff --git a/secrets/phishboard-env.age b/secrets/phishboard-env.age new file mode 100644 index 0000000000000000000000000000000000000000..0a014a5a4ec12d02c5dea3c69dec12d6da7a09b8 GIT binary patch literal 771 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCTS$_Oh?O;>O!(D%{L zG04x4%#8FZcXvxN^AF85F3j+7&M6DX2#s{|4t5K2(hkcvcH}B>_6jWs@Q6rG*LN)S zb}84c$VfEGw(!pL3QaC|cXuiC(snG$$O$p_jzqUDxX2^1&`}{bEH%W_pd`ZIuRPd2 zGb5}xAm7BIygVw&Al1br%*@%aBq`7^D8<7v+=9#3AkZs6(=fxJEZ-|MtS~4lB{9v= zDA&*<*dov)rzFax$kU=CASz8iBpuzh9QVSosC0!WSD(yMmqJS?V^`PU5O?j6WNnkY zqJmt@(&7xy(2(?~tg5nNuUzloasw{E$ZX3%4}Ir|h$@p3?d0&3L_<^me50_$5a&Fn zl5iJox2Q71P;+hHbVqdCoP&KUGtw1I0zFMkQ;U5alLOo=Eu6xG0xgVuE%H5+L(@#M z-9jqMye(Y9(wrikvXi-7Q_L;>11tT)GcAK6iXvT;N`eBj3bQRD^R<(Ui<~noEd5PF zETbwN!?U?`b#)cAy<8&w3o4R*vb<6Xj3X)v-Agm|i~J0I5=#vOJyWvFjPgS*f}E?& z3bVN)-#E^!2>O2VkdA(3byLB|MV$K*B(m%Kw}(2+=6v*Z>7v%CU)gKY-X(}LpO{xC zr2XsP;>j~u*mySnGQA*h;sM9EHHodSWOq#e|J}1dHu+rBzHOWzzh-@VbakHalr`tq zDw?+mb6;fGCn&!y!TjYNv3F5IziI?I_q&w|O*H<0T5gujAKRk0p`UYBx~hoqF8e#} ztKrpD1q*>GD^_!Eti4co&|LE)=Yxjku;nGpwx{`*95~Cma>rC>eb3pdZy!xeD%kW= zL``_b1Gbxea&A+M+qg1}e@4$q{o2n{Jz0Ai-~Rns)$YN6nO{C$s`IIF4vUk>!;IJE Xm;F3#HQqFQF1$S7ed7lS|4I%3!-*m% literal 0 HcmV?d00001