Advertisement
fbg111

nixos-rustdesk-systemd-service-working

Oct 17th, 2023 (edited)
1,177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 2.73 KB | Source Code | 0 0
  1.     networking.firewall = {
  2.       # 8000 = Rustdesk?
  3.       # 21115-21117 = Rustdesk  https://rustdesk.com/docs/en/self-host/
  4.       # 21118 and 21119 = Rustdesk Web Client
  5.       allowedUDPPorts = [ ... 22 21116 ... ];
  6.       allowedTCPPorts = [ ... 22 8000 21115 21116 21117 21118 21119 ... ];
  7.     };
  8.  
  9.     systemd.tmpfiles.rules = [
  10.       "d /opt/rustdesk 0700 root root"
  11.       "d /var/log/rustdesk 0700 root root"
  12.       # optional (only for [Erase Your Darlings](https://grahamc.com/blog/erase-your-darlings) or [tmpfs as root](https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/) setups):
  13.       "L /opt/rustdesk/db_v2.sqlite3 - - - - /persist/opt/rustdesk/db_v2.sqlite3"
  14.       "L /opt/rustdesk/db_v2.sqlite3-shm - - - - /persist/opt/rustdesk/db_v2.sqlite3-shm"
  15.       "L /opt/rustdesk/db_v2.sqlite3-wal - - - - /persist/opt/rustdesk/db_v2.sqlite3-wal"
  16.       "L /opt/rustdesk/id_ed25519 - - - - /persist/opt/rustdesk/id_ed25519"
  17.       "L /opt/rustdesk/id_ed25519.pub - - - - /persist/opt/rustdesk/id_ed25519.pub"
  18.     ];
  19.  
  20.     systemd.services.rustdesksignal = {
  21.       description = "Rustdesk Signal Server (hbbs)";
  22.       documentation = [
  23.         "https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/"
  24.         "https://github.com/techahold/rustdeskinstall/blob/master/install.sh"
  25.       ];
  26.       after = [ "network-pre.target" ];
  27.       wants = [ "network-pre.target" ];
  28.       partOf = [ "rustdeskrelay.service" ];
  29.       wantedBy = [ "multi-user.target" ];
  30.       serviceConfig = {
  31.         Type = "simple";
  32.         LimitNOFILE=1000000;
  33.         WorkingDirectory="/opt/rustdesk";
  34.         StandardOutput="append:/var/log/rustdesk/hbbs.log";
  35.         StandardError="append:/var/log/rustdesk/hbbs.error";
  36.         ExecStart="${pkgs.rustdesk-server}/bin/hbbs -k _";
  37.         Restart="always";
  38.         RestartSec=10;
  39.       };
  40.       #script = with pkgs; ''
  41.       #'';
  42.     };
  43.    
  44.     systemd.services.rustdeskrelay = {
  45.       description = "Rustdesk Relay Server (hbbr)";
  46.       documentation = [
  47.         "https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/"
  48.         "https://github.com/techahold/rustdeskinstall/blob/master/install.sh"
  49.       ];
  50.       after = [ "network-pre.target" ];
  51.       wants = [ "network-pre.target" ];
  52.       partOf = [ "rustdesksignal.service" ];
  53.       wantedBy = [ "multi-user.target" ];
  54.       serviceConfig = {
  55.         Type = "simple";
  56.         LimitNOFILE=1000000;
  57.         WorkingDirectory="/opt/rustdesk";
  58.         StandardOutput="append:/var/log/rustdesk/hbbr.log";
  59.         StandardError="append:/var/log/rustdesk/hbbr.error";
  60.         ExecStart="${pkgs.rustdesk-server}/bin/hbbr -k _";
  61.         Restart="always";
  62.         RestartSec=10;
  63.       };
  64.       #script = with pkgs; ''
  65.       #'';
  66.     };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement