teamspeak3/ts3server.yml

93 lines
2.4 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_postgres"
- name: TS3SERVER_DB_SQLCREATEPATH
value: "create_postgres"
- name: TS3SERVER_DB_WAITUNTILREADY
value: 30
- name: TS3SERVER_DB_HOST
value: "localhost"
- 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
# --- Postgres Database ---
- name: ts3-db
image: docker.io/postgres:18
env:
# Database Configuration
- name: POSTGRES_DB
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-name
- name: POSTGRES_USER
valueFrom:
configMapKeyRef:
name: ts3-config
key: database-user
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: ts3-secrets
key: database-password
volumeMounts:
- mountPath: /var/lib/postgresql
name: ts3-db-data
# --- Volume Definitions ---
volumes:
- name: ts3-server-data
persistentVolumeClaim:
claimName: ts3-server-data
- name: ts3-db-data
persistentVolumeClaim:
claimName: ts3-db-data