initial commit

This commit is contained in:
2026-05-14 13:39:10 +02:00
commit 7e444146d2
37 changed files with 1537 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
{ 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
];
}

View File

@@ -0,0 +1,31 @@
{ stdenvNoCC
, libssh
, system
}: let
currentSystem = {
"x86_64-linux" = { arch = "amd64"; os = "linux"; };
"aarch64-linux" = { arch = "arm64"; os = "linux"; };
}.${system};
in stdenvNoCC.mkDerivation (finalAttrs: {
name = "teamspeak6-server";
version = "v6.0.0-beta10";
src = fetchTarball {
url = "https://github.com/teamspeak/${finalAttrs.name}/releases/download/${finalAttrs.version}/${finalAttrs.name}-${currentSystem.os}-${currentSystem.arch}.tar.xz";
sha256 = "0lcx1zsab951dywjq6wjkqa9ckzpy6wszvgyjaa97ad8mkk4vdfk";
};
builtInputs = [ libssh ];
installPhase = ''
mkdir -p $out/bin $out/lib $out/share/teamspeak/
cp libtsdb_sqlite3.so $out/lib/
cp libtsdb_mariadb.so $out/lib/
cp tsserver $out/bin
cp -r serverquerydocs $out/share/teamspeak
cp -r sql $out/share/teamspeak
cp -r doc $out/share/teamspeak
cp CHANGELOG $out/share/teamspeak
cp LICENSE $out/share/teamspeak
cp THIRD_PARTY_LICENSES $out/share/teamspeak
'';
meta.mainProgram = "tsserver";
})