35 lines
1.0 KiB
Nix
35 lines
1.0 KiB
Nix
{ pkgs, lib, system, ... }:
|
|
let ts = pkgs.callPackage ./package.nix { inherit system; };
|
|
in {
|
|
systemd.services.teamspeak6-server = {
|
|
description = "Teamspeak6 voice communication server daemon";
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
|
|
environment.LD_LIBRARY_PATH="${ts}/lib";
|
|
serviceConfig = {
|
|
ExecStart = ''
|
|
${lib.getExe ts} --accept-license --db-sql-create-path ${ts}/share/teamspeak/sql/create_sqlite/ --db-sql-path ${ts}/share/teamspeak/sql/ --log-path /var/lib/teamspeak/
|
|
'';
|
|
StateDirectory = "teamspeak";
|
|
WorkingDirectory = "/var/lib/teamspeak";
|
|
DynamicUser = true;
|
|
User = "teamspeak";
|
|
Group = "teamspeak";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
networking.firewall.allowedTCPPorts = [
|
|
30033 # file transfer
|
|
9987 # voice
|
|
10080 # server query http
|
|
10022 # server query ssh
|
|
];
|
|
networking.firewall.allowedUDPPorts = [
|
|
30033 # file transfer
|
|
9987 # voice
|
|
10080 # server query http
|
|
10022 # server query ssh
|
|
];
|
|
}
|