154 lines
3.2 KiB
YAML
154 lines
3.2 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: coturn
|
|
namespace: matrix
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: coturn
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: coturn
|
|
spec:
|
|
containers:
|
|
- name: coturn
|
|
image: coturn/coturn:latest
|
|
ports:
|
|
- name: turn-udp
|
|
containerPort: 3478
|
|
protocol: UDP
|
|
- name: turn-tcp
|
|
containerPort: 3478
|
|
protocol: TCP
|
|
- name: turns-tcp
|
|
containerPort: 5349
|
|
protocol: TCP
|
|
volumeMounts:
|
|
- name: coturn-cert
|
|
mountPath: "/etc/coturn/certs"
|
|
readOnly: true
|
|
- name: coturn-config
|
|
mountPath: /etc/coturn
|
|
- name: coturn-data
|
|
mountPath: /var/log
|
|
subPath: logs
|
|
args:
|
|
- "--tls-listening-port=5349"
|
|
- "--cert=/etc/coturn/certs/tls.crt"
|
|
- "--pkey=/etc/coturn/certs/tls.key"
|
|
volumes:
|
|
- name: coturn-config
|
|
configMap:
|
|
name: coturn-config
|
|
- name: coturn-data
|
|
persistentVolumeClaim:
|
|
claimName: coturn-pvc
|
|
- name: coturn-cert
|
|
secret:
|
|
secretName: coturn-cert
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: coturn-config
|
|
namespace: matrix
|
|
data:
|
|
turnserver.conf: |
|
|
listening-port=3478
|
|
tls-listening-port=5349
|
|
listening-ip=0.0.0.0
|
|
relay-ip=0.0.0.0
|
|
total-quota=100
|
|
bps-capacity=0
|
|
cert=/etc/coturn/certs/fullchain.pem
|
|
pkey=/etc/coturn/certs/privkey.pem
|
|
log-file=/var/log/turnserver.log
|
|
no-stdout-log
|
|
verbose
|
|
|
|
min-port=49152
|
|
max-port=65535
|
|
|
|
# External IP (public or internal depending on setup)
|
|
listening-ip=0.0.0.0
|
|
relay-ip=0.0.0.0
|
|
external-ip=82.174.234.158
|
|
|
|
# Secure authentication
|
|
use-auth-secret
|
|
static-auth-secret=heleenvanderpol
|
|
realm=matrix-prod.allarddcs.nl
|
|
|
|
# Enable TLS
|
|
cert=/etc/coturn/certs/fullchain.pem
|
|
pkey=/etc/coturn/certs/privkey.pem
|
|
|
|
# WebRTC-specific settings
|
|
fingerprint
|
|
lt-cred-mech
|
|
stale-nonce
|
|
|
|
# Allow peers to communicate via relay
|
|
no-multicast-peers
|
|
no-loopback-peers
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: coturn
|
|
namespace: matrix
|
|
spec:
|
|
selector:
|
|
app: coturn
|
|
type: LoadBalancer
|
|
ports:
|
|
- name: coturn-udp
|
|
port: 3478
|
|
targetPort: 3478
|
|
protocol: UDP
|
|
- name: coturn-tcp
|
|
port: 3478
|
|
targetPort: 3478
|
|
protocol: TCP
|
|
- name: coturn-tls
|
|
port: 5349
|
|
targetPort: 5349
|
|
protocol: TCP
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: coturn-pvc
|
|
namespace: matrix
|
|
spec:
|
|
storageClassName: ""
|
|
volumeName: coturn-pv
|
|
accessModes:
|
|
- ReadWriteMany
|
|
volumeMode: Filesystem
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: coturn-pv
|
|
spec:
|
|
storageClassName: ""
|
|
capacity:
|
|
storage: 1Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
mountOptions:
|
|
- hard
|
|
- nfsvers=4.1
|
|
nfs:
|
|
server: 192.168.2.110
|
|
path: /mnt/nfs_share/coturn
|
|
readOnly: false
|