From 6de56bfd1017bf3de79d8e8430feeca001c7b29c Mon Sep 17 00:00:00 2001 From: Lumpiasty Date: Sun, 25 Jan 2026 01:03:40 +0100 Subject: [PATCH] add ispeak3 ts3 server --- apps/ispeak3/kustomization.yaml | 7 +++++ apps/ispeak3/namespace.yaml | 4 +++ apps/ispeak3/pvc.yaml | 49 +++++++++++++++++++++++++++++++++ apps/ispeak3/service.yaml | 20 ++++++++++++++ apps/ispeak3/statefulset.yaml | 34 +++++++++++++++++++++++ apps/kustomization.yaml | 1 + 6 files changed, 115 insertions(+) create mode 100644 apps/ispeak3/kustomization.yaml create mode 100644 apps/ispeak3/namespace.yaml create mode 100644 apps/ispeak3/pvc.yaml create mode 100644 apps/ispeak3/service.yaml create mode 100644 apps/ispeak3/statefulset.yaml diff --git a/apps/ispeak3/kustomization.yaml b/apps/ispeak3/kustomization.yaml new file mode 100644 index 0000000..fb0cecf --- /dev/null +++ b/apps/ispeak3/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - statefulset.yaml + - service.yaml diff --git a/apps/ispeak3/namespace.yaml b/apps/ispeak3/namespace.yaml new file mode 100644 index 0000000..0dcd948 --- /dev/null +++ b/apps/ispeak3/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: ispeak3 diff --git a/apps/ispeak3/pvc.yaml b/apps/ispeak3/pvc.yaml new file mode 100644 index 0000000..ecad527 --- /dev/null +++ b/apps/ispeak3/pvc.yaml @@ -0,0 +1,49 @@ +apiVersion: local.openebs.io/v1alpha1 +kind: LVMVolume +metadata: + labels: + kubernetes.io/nodename: anapistula-delrosalae + name: ispeak3-ts3-data + namespace: openebs +spec: + capacity: 1Gi + ownerNodeID: anapistula-delrosalae + shared: "yes" + thinProvision: "no" + vgPattern: ^openebs-hdd$ + volGroup: openebs-hdd +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: ispeak3-ts3-data +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Delete + storageClassName: openebs-lvmpv + volumeMode: Filesystem + csi: + driver: local.csi.openebs.io + volumeHandle: ispeak3-ts3-data + claimRef: + apiVersion: v1 + kind: PersistentVolumeClaim + namespace: ispeak3 + name: ispeak3-ts3-data +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: ispeak3-ts3-data + namespace: ispeak3 +spec: + storageClassName: openebs-lvmpv + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + volumeName: ispeak3-ts3-data diff --git a/apps/ispeak3/service.yaml b/apps/ispeak3/service.yaml new file mode 100644 index 0000000..9418d51 --- /dev/null +++ b/apps/ispeak3/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: teamspeak3 + namespace: ispeak3 +spec: + selector: + app: teamspeak3 + ports: + - name: voice + protocol: UDP + port: 9987 + targetPort: 9987 + - name: filetransfer + protocol: TCP + port: 30033 + targetPort: 30033 + type: LoadBalancer + externalTrafficPolicy: Local + ipFamilyPolicy: PreferDualStack diff --git a/apps/ispeak3/statefulset.yaml b/apps/ispeak3/statefulset.yaml new file mode 100644 index 0000000..983d4ea --- /dev/null +++ b/apps/ispeak3/statefulset.yaml @@ -0,0 +1,34 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: teamspeak3-server + namespace: ispeak3 +spec: + serviceName: "teamspeak3" + replicas: 0 + selector: + matchLabels: + app: teamspeak3 + template: + metadata: + labels: + app: teamspeak3 + spec: + containers: + - name: teamspeak3 + image: teamspeak:3.13.7 + ports: + - containerPort: 9987 + name: voice + protocol: UDP + - containerPort: 10011 + name: query + - containerPort: 30033 + name: filetransfer + volumeMounts: + - name: ts3-data + mountPath: /var/ts3server/ + volumes: + - name: ts3-data + persistentVolumeClaim: + claimName: ispeak3-ts3-data diff --git a/apps/kustomization.yaml b/apps/kustomization.yaml index ccf748f..aa36734 100644 --- a/apps/kustomization.yaml +++ b/apps/kustomization.yaml @@ -10,3 +10,4 @@ resources: - immich - nas - searxng + - ispeak3