103 lines
2.7 KiB
YAML
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: "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
|
|
|
|
# --- 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
|