diff --git a/home/christoph/default.nix b/home/christoph/default.nix index 6ce0650c..7e74eaa9 100644 --- a/home/christoph/default.nix +++ b/home/christoph/default.nix @@ -373,6 +373,7 @@ tidal-dl-ng picard handbrake + teamspeak6-client # Office kdePackages.wacomtablet # For xournalpp/krita diff --git a/system/servenix/default.nix b/system/servenix/default.nix index b2e0af57..fc645054 100644 --- a/system/servenix/default.nix +++ b/system/servenix/default.nix @@ -34,6 +34,7 @@ ../services/nginx-proxy-manager.nix ../services/paperless.nix ../services/portainer-agent.nix + ../services/teamspeak.nix ../services/tinymediamanager.nix ../services/whats-up-docker.nix ]; @@ -64,12 +65,18 @@ 53 # DNS 80 # HTTP 3000 # Gitea runner needs to reach local gitea instance + # 9987 # Teamspeak + # 30033 # Teamspeak + # 10080 # Teamspeak ]; allowedUDPPorts = [ 53 # DNS 67 # DHCP 3000 # Gitea runner needs to reach local gitea instance + # 9987 # Teamspeak + # 30033 # Teamspeak + # 10080 # Teamspeak ]; }; diff --git a/system/services/teamspeak.nix b/system/services/teamspeak.nix new file mode 100644 index 00000000..d92febdf --- /dev/null +++ b/system/services/teamspeak.nix @@ -0,0 +1,50 @@ +{ + config, + lib, + pkgs, + ... +}: let + teamspeakVersion = "v6.0.0-beta7"; +in { + virtualisation.oci-containers.containers = { + teamspeak = { + image = "teamspeaksystems/teamspeak6-server:${teamspeakVersion}"; + autoStart = true; + + login = { + # Uses DockerHub by default + # registry = ""; + + # DockerHub Credentials + username = "christoph.urlacher@protonmail.com"; + passwordFile = "${config.sops.secrets.docker-password.path}"; + }; + + dependsOn = []; + + ports = [ + "9987:9987/udp" # Voice port + "30033:30033" # File transfer + "10080:10080/tcp" # Web query + ]; + + volumes = [ + "teamspeak_data:/var/tsserver" + ]; + + environment = { + PUID = "1000"; + PGID = "1000"; + TZ = "Europe/Berlin"; + + TSSERVER_LICENSE_ACCEPTED = "accept"; + }; + + extraOptions = [ + # "--privileged" + # "--device=nvidia.com/gpu=all" + # "--net=behind-nginx" + ]; + }; + }; +}