如何在 nixos 上启用 cloudflared?使用配置.nix

问题描述 投票:0回答:1

我正在使用 Nixos,如何以声明方式使用 Cloudflare 隧道?

cloudflare nixos
1个回答
0
投票

创建一个 nix 文件为

/etc/nixos/cloudflared.nix

sudo vim /etc/nixos/cloudflared.nix

粘贴以下代码

:wq
保存并退出

文件 /etc/nixos/cloudflared.nix

{ config, lib, pkgs, ... }:

{
environment.systemPackages = [ pkgs.cloudflared ];




 users.users.cloudflared = {
    group = "cloudflared";
    isSystemUser = true;
  };
  users.groups.cloudflared = { };
  
  
    systemd.services.my_tunnel = {
    wantedBy = [ "multi-user.target" ];
#    after = [ "network.target" ];
    after = [ "network-online.target" "systemd-resolved.service" ];
    serviceConfig = {
      ExecStart = "${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate run --token=<myToken>";
#      ExecStart = "${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate run --credentials-file=/home/prateek/cloudflare.token";
      Restart = "always";
      User = "cloudflared";
      Group = "cloudflared";
    };
  };

}

使用

验证文件内容
cat /etc/nixos/cloudflared.nix

导入

/etc/nixos/configuration.nix


{ pkgs, lib, config, ... }:
#let
#    sources = import ./npins;
#    proxmox-nixos = import sources.proxmox-nixos;
#in
{
  imports = [ 
                ./hardware-configuration.nix
                ./cloudflare.nix
              
            ];


#...
# rest of config
#...

© www.soinside.com 2019 - 2024. All rights reserved.