added cloudflared
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
services.caddy = {
|
services.caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
environmentFile = config.sops.secrets.cloudflare-api-key.path;
|
environmentFile = config.sops.secrets.cloudflare-api-key.path;
|
||||||
virtualHosts."paperless.john-stream.com".extraConfig = ''
|
virtualHosts."panoptes.john-stream.com".extraConfig = ''
|
||||||
reverse_proxy 192.168.1.110:8000
|
reverse_proxy 192.168.1.110:8000
|
||||||
tls {
|
tls {
|
||||||
dns cloudflare {env.CF_API_TOKEN}
|
dns cloudflare {env.CF_API_TOKEN}
|
||||||
@@ -19,4 +19,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||||
|
|
||||||
|
# systemd.services.caddy.serviceConfig = {
|
||||||
|
# # EnvironmentFile = "/etc/caddy/cloudflare.env";
|
||||||
|
# AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||||
|
# };
|
||||||
}
|
}
|
||||||
38
nixosModules/cloudflared.nix
Normal file
38
nixosModules/cloudflared.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
# https://wiki.nixos.org/wiki/Cloudflared
|
||||||
|
{
|
||||||
|
boot.kernel.sysctl."net.ipv4.ping_group_range" = "0 65535";
|
||||||
|
users.groups.cloudflared = {};
|
||||||
|
users.users.cloudflared = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "cloudflared"; # Match allowed range
|
||||||
|
};
|
||||||
|
|
||||||
|
sops.secrets.cloudflared-creds = {};
|
||||||
|
environment.systemPackages = with pkgs; [ cloudflared ];
|
||||||
|
services.cloudflared = {
|
||||||
|
enable = true;
|
||||||
|
tunnels = {
|
||||||
|
"panoptes-nix" = {
|
||||||
|
credentialsFile = config.sops.secrets.cloudflared-creds.path;
|
||||||
|
# credentialsFile = /root/.cloudflared/c5d343b4-c12c-4490-9d92-9a2345738dc2.json;
|
||||||
|
default = "http_status:404";
|
||||||
|
ingress = {
|
||||||
|
"panoptes.john-stream.com" = {
|
||||||
|
service = "https://localhost:443";
|
||||||
|
# path = ".*";
|
||||||
|
originRequest = {
|
||||||
|
originServerName = "panoptes.john-stream.com";
|
||||||
|
noTLSVerify = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.services.cloudflared-tunnel-panoptes-nix.serviceConfig = {
|
||||||
|
DynamicUser = lib.mkForce false;
|
||||||
|
User = "cloudflared";
|
||||||
|
Group = "cloudflared";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
./caddy.nix
|
# ./caddy.nix
|
||||||
|
./cloudflared.nix
|
||||||
./services/loki.nix
|
./services/loki.nix
|
||||||
./users.nix
|
./users.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
cloudflare-api-key: ENC[AES256_GCM,data:ktlEznpdv7H6+w7vPe+0ylHdNR9ODZe2TMRiKs5RMEmblqMsvZTiCG5J/54cjaGwgwPHdw02pwc=,iv:H4YoS7sqxl9MBmwYb6N7pA/hGm21AyYgBQv64dSQU/o=,tag:93Ah+xReidRHuhvnuMWqdQ==,type:str]
|
cloudflare-api-key: ENC[AES256_GCM,data:ktlEznpdv7H6+w7vPe+0ylHdNR9ODZe2TMRiKs5RMEmblqMsvZTiCG5J/54cjaGwgwPHdw02pwc=,iv:H4YoS7sqxl9MBmwYb6N7pA/hGm21AyYgBQv64dSQU/o=,tag:93Ah+xReidRHuhvnuMWqdQ==,type:str]
|
||||||
|
cloudflared-creds: ENC[AES256_GCM,data:O0gfegXK/qCZRwgf6I3PTu6wV8dcvLE8Bz4vdoNAqofY3SKVuP0O1xgP+tOZ4kI9Eow/q9EOmDR5sVUTls89515EY9PE/3PG7OmGMK1hRFH63kvXAa9ElUP0W2NU2mtz48qex8DQ12cMBX49C2gvJ9ezhPp930nB+deGb4XOzBuzvixexiEXixyTdOVzjxDULEQL+C2v+HFJP8XncoqjReNSwUg0Xv13TobQdnzHRlM=,iv:bHBu+vGvOKtIb1asfxOlRPk27/3b5vqyqPjV02Z7xk8=,tag:04ey2e4txAoQzhuqWjjmWw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age102mctuw7xvs3fakft0mlfh740kc6rdaqqgmmwf400c4g3spefyjqrfmwct
|
- recipient: age102mctuw7xvs3fakft0mlfh740kc6rdaqqgmmwf400c4g3spefyjqrfmwct
|
||||||
@@ -10,7 +11,7 @@ sops:
|
|||||||
ZnExa3NseGRrdXcrNTN4YkVSa2d6SDAKlzXHOUKAjNxY/okZJQurTpeaZUjjnyp/
|
ZnExa3NseGRrdXcrNTN4YkVSa2d6SDAKlzXHOUKAjNxY/okZJQurTpeaZUjjnyp/
|
||||||
OrvFMTxuMfK+EIIgj6WTm23ZKV4vmk0q0yboS4eXgDZTEB79tKxgyA==
|
OrvFMTxuMfK+EIIgj6WTm23ZKV4vmk0q0yboS4eXgDZTEB79tKxgyA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2025-05-27T05:32:23Z"
|
lastmodified: "2025-05-27T06:37:54Z"
|
||||||
mac: ENC[AES256_GCM,data:ogFHQuKe2RkkaZRdbkUWaF61+bmyCAoesJuCDCPgKLEoCaLSfnQ/gSI5eNbrKvBGc7UsMjl86iTkLksPVHKOZQi4dCETVxbxh5ASSxTTREgBHKRGx4Vx+3aWjhyU/ympHKiAQ58Q1FnkwaF38ub42BszfqMTnjmODNTL75mz/9k=,iv:Q4514nGzCWJaDn+Lk4w6OOasnIafHHK0WxSAn6B8WLc=,tag:E8vEGwXPk1CfFSUS3xeHBA==,type:str]
|
mac: ENC[AES256_GCM,data:RWtEhFz2rVae8RZImbcMCwRjv1Zmn0CAKa3O+RU4dEujLxLbu8NGyqJUi5iCloubetTzdAIvYd43Z0bxLQSPyZzCrRAwe6M7t0MMAwpbJnM8oPWzdciotCz4JRiegKTfpYMWx6s+Ixa+b7Dohj76zpToU3c39+llbN1/suGPIUw=,iv:+6cAZt6Nf514YK5yFTVmjL+XE85+bSb7phjFcKe+4j8=,tag:KAYnzouBVLSUI9ScX9tnog==,type:str]
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.10.2
|
||||||
|
|||||||
Reference in New Issue
Block a user