diff --git a/hosts/nixedo/configuration.nix b/hosts/nixedo/configuration.nix index 3d64a206..27835659 100644 --- a/hosts/nixedo/configuration.nix +++ b/hosts/nixedo/configuration.nix @@ -20,6 +20,7 @@ ./modules/acme.nix ./modules/audiobookshelf.nix + ./modules/cloudflared.nix ./modules/containers ./modules/forgejo.nix ./modules/immich.nix @@ -27,6 +28,21 @@ ./modules/paperless.nix ]; + services.cloudflared = { + enable = true; + + tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { + credentialsFile = config.age.secrets.cloudflared.path; + default = "http_status:404"; + + ingress = { + "test.oliverdavies.uk" = { + service = "http://localhost:8000"; + }; + }; + }; + }; + nixosModules = { audiobookshelf.enable = true; immich.enable = true; diff --git a/hosts/nixedo/modules/cloudflared.nix b/hosts/nixedo/modules/cloudflared.nix new file mode 100644 index 00000000..8038c8d8 --- /dev/null +++ b/hosts/nixedo/modules/cloudflared.nix @@ -0,0 +1,18 @@ +{ config, ... }: + +{ + services.cloudflared = { + enable = true; + + tunnels."e1514105-327f-4984-974e-e2fbaca76466" = { + credentialsFile = config.age.secrets.cloudflared.path; + default = "http_status:404"; + + ingress = { + "test.oliverdavies.uk" = { + service = "http://localhost:8000"; + }; + }; + }; + }; +} diff --git a/hosts/nixedo/secrets.nix b/hosts/nixedo/secrets.nix index da8e7ae1..4ca1035f 100644 --- a/hosts/nixedo/secrets.nix +++ b/hosts/nixedo/secrets.nix @@ -1,6 +1,7 @@ { age.secrets = { cloudflare.file = ../../secrets/cloudflare.age; + cloudflared.file = ../../secrets/cloudflared-credentials.age; tubearchivist.file = ../../secrets/tubearchivist.age; }; } diff --git a/secrets.nix b/secrets.nix index c1968d74..17947d4d 100644 --- a/secrets.nix +++ b/secrets.nix @@ -8,9 +8,9 @@ let t490 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvtcGJnc94k6wCPfvK9oBvGey0WWVCR8IYSqg5vqage"; }; - users = { - opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; - }; + opdavies = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDkkbYaCD9NUIQT0NnsmlyfepwjxBYeiJSBCotOpdPTyc5inFAd29DiVw98j4skfaHdzjcqWmMFmDQWM6tGkK7eg8n0WuaABmsjdEbzTtfjHwM0tRDCIh5AtoT4IvoLhwLjEI2jKM05BGCQ2m5lS//AYJK1DjiV4UH+IjXHz6oy/3eFzQwANjxWS+mbR565p21yuAu1DKEyaGeVzT1xDhgzlnZG7Cys/rFgUYpIvYDHMOFxG6hsDB8vqyHiTXniniti5tdvGGYHgRGQcynRTU12aerrqHTIOefrElXJdf3/PA8FIY/Pd3MmZocY/vvQe0EVHXWrNtnHOF3MFQ1tFyfubKO51Dcp9KmzHnyBvO4CtvGVr/upSVWfo0I/EqkIqvCvBbdSIPeH9V5hAcyWENGF4Wf0/Yqtc0dBhfXJmPVBsC2ghZp9oERK+h5Xs7DpzkT0vtkN+wjgA5weIuG8e2UVNO29LWASzlychVqb7BVa6kNn5CyGwauyIGsYvAFnUjkyJpK8qleNM3VO5x9aw26IhSKlnSE9PAdX8p7PpdoWfxWRekKTc4h6iAe7pFOENvuokAvCNsE5LolR4VrYKXjA0m3nupDNWYexAWfR3lSeSlKd9nD3OENS0biJKayZHs11iDUTxm5u5gm/U60b4z0zDXjh1H/DI/pSCG6jjaXDpw=="; + + users = [ opdavies ]; in { "secrets/cloudflare.age".publicKeys = [ @@ -21,9 +21,7 @@ in hosts.t490 ] ++ users; - "secrets/cloudflare.age".publicKeys = [ - hosts.hetznix + "secrets/cloudflared-credentials.age".publicKeys = [ hosts.nixedo - hosts.t480 ] ++ users; } diff --git a/secrets/cloudflared-credentials.age b/secrets/cloudflared-credentials.age new file mode 100644 index 00000000..dc592620 --- /dev/null +++ b/secrets/cloudflared-credentials.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-ed25519 IsVD3g jeHVvTzxsEQOGls45oDKjDCWDSejIiPnSNZxnZRRPiQ +sapo+FofxdYGeidn49uEO+D+SDK9KKLRUAWJMoU5T10 +-> ssh-rsa +vTWQw +4SfYg8oc9eBd4zHYfDFYhUTmzHG4HGuz6wpcXMgmiemD5CIt+q2Q5ZzHnUhbfUsm +GIDlRFjN6JWbJSmzW3HpUt/t7WQVk44QyOD5azHM3d8ctcv7ana2npPukQKGqpWu +hWFX6amY5ng2yf1hfeeUgvhKIpDGxgnFKfAbNCheqdgWHWLaUpDSCuc0eugOziMD +RWEsLsHudpdWHtik0cB/Uwycpc/T09sOm2k36H2mMvtjeWdldSHezOcn0uO7Gs9H +OxpPdcuwTeisb6R3zI12ZAL/vEu/8h25OWNkfM64O4p/rkgPpbqhJBiIZL04vRcy +zLnq967b9RqqjmDZFPOkcZBtXm5ck1qo4UYDRck2wkQLfUNkHAYHnwO+29RxstA0 +ShQe1uUo68Hx17st/X2wwUZlnfhTcJ4IZwmuOiEZiNgmwbb9ZXBTi8myV1Tpgpkh +I0ooy/pU/tocS2/4XjYwcjRMmEcI0r7ESOgJmyzoakwM7Jbh3kaTDXd324vPYzhQ +SPvosb9VFNCQFuc02LOD1Psy74IEGp5xIMRKGxDE8VSnFFMiNpu3La6HRlrb6e4s +/G2OZ9lsrXSC8gyOF78olk1QMkuSvT6Lw56QhMbuC1XiVINd3+GKQNkE8T2BPAKS +P5PBYTbi0bZjqA4OwbBf+nSPxljUGed1R3IbpAvPM04 +--- 2VNOkmpXcK+ywl+DBli84MCED52jL/dPiIpzN82Xrqg +��VB�y�r=]���]�Q��6�>�-���3��k�P7�Bi���0�sFԸϣn|�f�0ڡY�$z���U?��"����"%%�<ދ��*yf��^h�V�C�N��g���m�婪g�=�����+�+�v���:u9#�BS�;�Ji7���6���h� @�����7��`$�<�!�Y�b����$���E�m>5$�fV3V�"; \ No newline at end of file