teamspeak3/ts3server.yml
2025-12-13 21:42:55 +01:00

103 lines
2.7 KiB
YAML

apiVersion: v1
kind: Pod
metadata:
name: ts3
spec:
restartPolicy: Always
containers:
# --- TeamSpeak 3 Server ---
- name: ts3server
image: docker.io/teamspeak:latest
ports:
- containerPort: 9987
protocol: UDP
- containerPort: 10011
protocol: TCP
- containerPort: 10022
protocol: TCP
- containerPort: 30033
protocol: TCP
env:
# General Configuration
- name: TZ
valueFrom:
configMapKeyRef:
name: ts3-config
key: timezone
# Teamspeak Config
- name: TS3SERVER_LICENSE
value: "accept"
- name: TS3SERVER_QUERY_PROTOCOLS
value: "ssh,raw"
# Database Configuration
- name: TS3SERVER_DB_PLUGIN
value: "ts3db_mariadb"
- name: TS3SERVER_DB_SQLCREATEPATH
value: "create_mariadb"
- name: TS3SERVER_DB_WAITUNTILREADY
value: 30
- name: TS3SERVER_DB_HOST
value: "127.0.0.1"
- name: TS3SERVER_DB_NAME
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-name
- name: TS3SERVER_DB_USER
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-user
- name: TS3SERVER_DB_PASSWORD
valueFrom:
secretKeyRef:
name: ts3-secrets
key: database-password
volumeMounts:
- mountPath: /var/ts3server
name: ts3-server-data
# --- MariaDB Database ---
- name: ts3-db
image: docker.io/mariadb:12-ubi
env:
# Database Configuration
- name: MARIADB_DATABASE
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-name
- name: MARIADB_USER
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-user
- name: MARIADB_PASSWORD_FILE
value: /run/secrets/db-user-password
- name: MARIADB_ROOT_PASSWORD_FILE
value: /run/secrets/db-root-password
volumeMounts:
- mountPath: /var/lib/mysql
name: ts3-db-data
- mountPath: /run/secrets
name: ts3-secrets
readOnly: true
# --- Volume Definitions ---
volumes:
- name: ts3-secrets
secret:
secretName: ts3-secrets
items:
- key: database-password
path: db-user-password
- key: database-root-password
path: db-root-password
- name: ts3-server-data
persistentVolumeClaim:
claimName: ts3-server-data
- name: ts3-db-data
persistentVolumeClaim:
claimName: ts3-db-data