Files
nixos/modules/server/cloudflared.nix
T
2025-06-28 17:29:05 +03:00

73 lines
2.1 KiB
Nix
Executable File

{ inputs, ... }@flakeContext:
{
config,
lib,
pkgs,
...
}:
{
services = {
cloudflared = {
enable = true;
certificateFile = "${inputs.zeroq.dirs.server-credentials}/cloudflared/cert.pem";
tunnels = {
"58b340ee-e98a-4af9-b786-74600c71f49e" = {
credentialsFile = "${inputs.zeroq.dirs.server-credentials}/cloudflared/server.json";
warp-routing.enabled = true;
ingress = {
"immich.zeroq.ru" = {
service = "http://localhost:2283";
};
"nextcloud.zeroq.ru" = {
service = "http://localhost:10000";
};
};
default = "http_status:404";
};
# "58b340ee-e98a-4af9-b786-74600c71f49e" = {
# credentialsFile = "${inputs.zeroq.dirs.server-credentials}/cloudflared/server.json";
# warp-routing.enabled = true;
# ingress = {
# "nextcloud.zeroq.ru" = {
# service = "http://localhost:10000";
# };
# };
# default = "http_status:404";
# };
};
};
};
# users.users = {
# cloudflared = {
# group = "cloudflared";
# isSystemUser = true;
# };
# };
# users.groups.cloudflared = { };
#
# systemd.services.cloudflared = {
# after = [
# "network.target"
# "network-online.target"
# ];
# wants = [
# "network.target"
# "network-online.target"
# ];
# wantedBy = [ "multi-user.target" ];
# serviceConfig = {
# ExecStart = "${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate --config=${inputs.zeroq.dirs.server-credentials}/cloudflared/config.yaml --origincert=${inputs.zeroq.dirs.server-credentials}/cloudflared/cert.pem --credentials-file=${inputs.zeroq.dirs.server-credentials}/cloudflared/server.json run";
# Group = "root";
# User = "root";
# Restart = "on-failure";
# };
# };
environment = {
systemPackages = with pkgs; [
cloudflared
];
};
}