Add the sovr role and initial frps deployment

This commit is contained in:
Eli Ribble 2025-10-13 17:06:15 +00:00
parent 29fa447da6
commit 8995e95041
6 changed files with 47 additions and 1 deletions

7
configs/frps/frps.toml Normal file
View file

@ -0,0 +1,7 @@
# frps.toml
auth.method = "token"
auth.token = "{{ .Envs.FRP_AUTH_TOKEN }}"
bindAddr = "{{ .Envs.FRP_BIND_ADDRESS }}"
bindPort = {{ .Envs.FRP_BIND_PORT }}
vhostHTTPPort = {{ .Envs.FRP_VHOST_HTTP_PORT }}

View file

@ -49,7 +49,10 @@
};
"nocix-amd-legacy-sexcore" = import ./system.nix {
configuration = ./host/nocix/amd-legacy-sexcore;
roles = [ ./roles/nidus-sync.nix ];
roles = [
./roles/nidus-sync.nix
./roles/sovr.nix
];
inherit configFiles disko home-manager inputs nixpkgs nixvim sops-nix system timecard-bot;
};
"sync.nidus.cloud" = import ./system.nix {

View file

@ -8,6 +8,7 @@
./collabora.nix
./cloudreve.nix
./do-agent.nix
./frps.nix
./glitchtip
./element-web.nix
./fieldseeker-sync.nix

8
modules/system/frps.nix Normal file
View file

@ -0,0 +1,8 @@
{ config, configFiles, inputs, lib, pkgs, ... }:
with lib;
{
options.myModules.frps.enable = mkEnableOption "custom frps configuration";
config = mkIf config.myModules.frps.enable {
environment.etc."frps.toml".source = "${configFiles}/frps/frps.toml";
};
}

4
roles/sovr.nix Normal file
View file

@ -0,0 +1,4 @@
{ config, lib, pkgs, ... }: {
myModules.caddy.enable = true;
myModules.frps.enable = true;
}

23
secrets/frps.env Normal file
View file

@ -0,0 +1,23 @@
#ENC[AES256_GCM,data:QYNVUKixhz/gVUD8Ca+qQ0dgBUl5W9PzcA==,iv:Xo4td1iW3OC9NgyhDam/deN+pfQ2XAyKjY5I+DgwGQ4=,tag:2RCk46oN4x97YvMlZYKqyA==,type:comment]
FRPS_AUTH_TOKEN=ENC[AES256_GCM,data:TQ0Zir+fee/Brj13SOgFQrmeYLC3xqmjyFhFB6p3UEry+Kqm,iv:Ew7BOjG+GfSuCLwQsQsv+PXe5AAU2oJbbEMRcl3b7lQ=,tag:UkuuqsTgF+sVfcymy5MZ5Q==,type:str]
FRPS_BIND_ADDRESS=ENC[AES256_GCM,data:oWYIwYY6ldzjQAiBdlaDBSVIOP1wtol/vnA=,iv:uw53Bz5ZzdREYoaN8X3QgtRPiqrBXQMbiP/mXWIZ4Ss=,tag:/FY8XGzsiyLpY1NbXeml6w==,type:str]
FRPS_BIND_PORT=ENC[AES256_GCM,data:a08ImA==,iv:7lQuMRCMm7wE6/SIzlAZUKGV8Q/GlvHyiGxplDeRhGw=,tag:zIQeBWu+vncn2z6LHhsE2w==,type:str]
FRPS_VHOST_HTTP_PORT=ENC[AES256_GCM,data:y4kUxw==,iv:Fn2lqZJOCL8xdANf9DClYQZZ5jrpD0tfCIShdtYosZo=,tag:W7o5cPxVNZjVdAgXlXPv1w==,type:str]
sops_age__list_0__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjOEpSMkNncVUwYjJ0bXN6\nMWNZTVI0VGZwVXpPRTgwSGp5R2pFYy9ra0RJCm9NQ2xpQzY4MHZEZkxKWWtsZ0tZ\nSjFqUGFjSHVBRzViOE41TUhHRjNEMncKLS0tIFB0bnQvblN1ZjBvTEQrVUJMR2Q4\nL1hSMXlqVzBwdG9Pdm1qU1l0VUx0SmcKzVKJK5K0Pf3E64oZ4WC9FeUkPZJhWBtl\n7/DRkqkbk1/HdZBHH9dGh3/DUQ+SgVcB0lr2cUqsWVUxrQFuzkgyvg==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_0__map_recipient=age1fnkhk9rv7r8gh84vxnhvndk4fgh20qcj4hvnfhdpumcydl6m6vrse50lrz
sops_age__list_1__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VFk3QkFJdDFaUzdZRGM0\nL2NNMUtmVEN1amJhM2RZNEFwN1dISGNRc3hFCnlRVUxoUCtnc2RNWjQwazVSSkxJ\nVHdSYkFvOXp4dE5DNXdVS2x5VDlEUTAKLS0tIFVsMzduOXVBU1pOY01FdmJYNFdR\nQTlLZmtmOGFlYm1iY1F2V09jdzlWbWMKKKfL1fAC1+cTrg55juf19+XHdOFP8W8M\n6DRpsiHpJ6c/dgsMGPHZJD5t32xpMATFADvch1MAxCp4qgwtpD8T/w==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_1__map_recipient=age1x704pjnueguchkl54ly8w4w26ltys5900v7xnl7w3zlgasus09jszz45t8
sops_age__list_2__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpaUtBMGhTNWpXdXNSQmFR\nUDJjRkNiQkdoUTl0bVdNejQvb3JlRHpYV1UwCjRiUTkzRFRaaGhwWWo4a3FxOU9q\nem95cWhMZDVxV05ja3NWMVdaYlE2VXcKLS0tIERSVGZqbVVVRXhYTFJUZHh1YStr\nc1o1ckhUQ2FMeFhGZEt1R3UrdjNuMTQKKATBbqE7GIhItN0Dg4rhDR3Ni1f4FvSj\nH0IUBBdEWB1nxIBzscCevdmizk01WAeXQ7roQeAXjUkTFI5IN5+a0A==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_2__map_recipient=age15y4k929zaj9fdg3vd40pa40tgvrgv9mn22xfummn5zxfmkcw5d0st6prjx
sops_age__list_3__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArQTBXUDhVVE9kdlhnUjZ5\nZmRVblJOdDZZZTRRUXJTWk1DS2t2cGhUNW1VCi9ZbVAwK3ZQSU9QcEkxbnZWRDVu\nNzdSTVVlUUlYb0g1TVI5R2VhMi9RemcKLS0tIDc3dFFlQzBWQTIvVEtiL3ZPZ05a\ncU5xY3h0b25iV3AxckVWN1FZbEFpbXMKX8Txov09BU+XtLp7i4t4rfjvItbwSOcj\nojG+GpwvccY5pNntI5pxLVGg/923vjICAGE1DRmHgv512JAPa1yojA==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_3__map_recipient=age1ck44jqpuz3zlthquvuh7wsemrjrgfzhn462sk7rlfetwxpgy0uqs79xn2h
sops_age__list_4__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwcUtEaWtya0JyVUZaeDEv\ncGdFOWNJeXc0eUZSb1VrcEt1b3RBcmFNcWpnCkxkTjQrR3NzTy9vaDVJbXNpQ2NZ\nZ3hGenN1NVJUR1UzMDNJOUhLTTNSMGsKLS0tIE1wVkcxelhxQXQwendHOTZHdkNU\nd2VaUWg1OWQ1YXUxczRnMldzeElwMkEKS37hQ2SMQ2NdeaYGJ82d7D4hD6SlPWlV\nY48/IND9Dp3wIKNiW7r1Uz12TSQlUknfTHV12+G3L/bzNTF1cKe/rQ==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_4__map_recipient=age1z87rm3qrrspv44nsg73ntn9zys5g498lry4t4cy6x9hffapug5cqfprntm
sops_age__list_5__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtNUpnQ0Y0YjJ0ZmR1NGkv\neVBjVTFjVVBCeHpDRDFQRnFZNndsQ1JVNDFBCnJKUFNxRC92SGw3QnVYc1RIcENu\nWWFvRE42UnhESGhkM1NUeUZBWjEyVFEKLS0tIFJ4UUdGNjZUaVhBTlZPdHlGS3FZ\nbWl6VmZRVHJleStrOFhaVkpObXd5cWsKe0h2eBWL/K9chhsfCx7xD98CtNCpNK7L\nu2y7OlrOLhPXaKawcZ0+7A+uUN6AndU/8kgS9caT1srX9CpCvUPRWg==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_5__map_recipient=age1t3ryfktuhr3cysf49m9q2n8fkjf9ajjjnhztxw9hz8paxgk4lpcq065jge
sops_age__list_6__map_enc=-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB5SENucVlxVzViSm1pWGZq\nMTNNZWROQzIyaXV6Z2JmY0Ivb2QrWlZvaWdNCnhGUEVHdnhMczFxdUJVQ3VxK2Vn\nWVJrMi84K1R5N2N5QytwOWl2R0xhSUEKLS0tIDFaVHlnTGoxUUpmWnJ4VmZkWW9C\nRWhZV0tieDhBNXhjMnZEeUJxdHNHMDQK4jAP8OeQd4Bg7feyNimsePe9ZBFg63eV\n0zQy6C99VEGspfNPVrCHf9+UuacwNVuYmwGO2LyOxATsuuMI+t67rw==\n-----END AGE ENCRYPTED FILE-----\n
sops_age__list_6__map_recipient=age1j90h7hcp4fctr2xwj4zf9cxuelm43wkujvryc9hk6rzzc37rwdmss035w7
sops_lastmodified=2025-10-10T13:54:56Z
sops_mac=ENC[AES256_GCM,data:Uq1Qg3UObcIqloVoewRluiWBGSVJXCk+imlgz7m+8Ju5elDzOmk/p3FvWUfW54i0+63Xu5+s7hnJiGBfLzagHeCManhqCNDrgkGmUWnhzmvottMXRqFDSpy+QR5T13GSzZC2q05DdPQ1Ifnr1dGEV05CP6BY3/Pvd/dknsp7yBs=,iv:xieywO8zf7Qa0rGKAQJ/BNJM6o3QlKwUdGbL/aGdZD0=,tag:ZkDe4dbN8ryl9LNAckGmGQ==,type:str]
sops_unencrypted_suffix=_unencrypted
sops_version=3.10.2