k3s/retired-services/peertube/peertube-deployment.yaml

152 lines
3.8 KiB
YAML
Raw Normal View History

2026-07-23 17:52:53 -04:00
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: peertube
name: peertube
spec:
replicas: 1
selector:
matchLabels:
app: peertube
strategy:
type: Recreate
template:
metadata:
labels:
app: peertube
spec:
containers:
- env:
- name: PEERTUBE_WEBSERVER_HOSTNAME
value: "toucan.mynest.love"
- name: PEERTUBE_WEBSERVER_PORT
value: "443"
- name: PEERTUBE_WEBSERVER_HTTPS
value: "true"
- name: PEERTUBE_SECRET
valueFrom:
secretKeyRef:
name: peertube-secret
key: PEERTUBE_SECRET
- name: PEERTUBE_ADMIN_EMAIL
valueFrom:
secretKeyRef:
name: peertube-secret
key: PEERTUBE_ADMIN_EMAIL
- name: PEERTUBE_DB_HOSTNAME
value: "peertube-db"
- name: PEERTUBE_DB_PORT
value: "5432"
- name: PEERTUBE_DB_USERNAME
valueFrom:
secretKeyRef:
name: peertube-secret
key: POSTGRES_USER
- name: PEERTUBE_DB_PASSWORD
valueFrom:
secretKeyRef:
name: peertube-secret
key: POSTGRES_PASSWORD
- name: PEERTUBE_REDIS_HOSTNAME
value: "peertube-redis"
- name: PEERTUBE_REDIS_PORT
value: "6379"
image: chocobozzz/peertube:production-bookworm
name: peertube
ports:
- containerPort: 9000
protocol: TCP
name: web-ui
- containerPort: 1935
protocol: TCP
name: rtmp-live
volumeMounts:
- mountPath: /config
name: config-volume
- mountPath: /data
name: data-volume
restartPolicy: Always
volumes:
- name: config-volume
persistentVolumeClaim:
claimName: peertube-config-pvc
- name: data-volume
persistentVolumeClaim:
claimName: peertube-data-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: peertube-db
name: peertube-db
spec:
replicas: 1
selector:
matchLabels:
app: peertube-db
strategy:
type: Recreate
template:
metadata:
labels:
app: peertube-db
spec:
containers:
- env:
- name: POSTGRES_DB
value: "peertube"
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: peertube-secret
key: POSTGRES_USER
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: peertube-secret
key: POSTGRES_PASSWORD
image: postgres:15-alpine
name: postgres
ports:
- containerPort: 5432
protocol: TCP
name: tcp-postgres
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: db-volume
subPath: peertube-data
restartPolicy: Always
volumes:
- name: db-volume
persistentVolumeClaim:
claimName: peertube-db-pvc
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: peertube-redis
name: peertube-redis
spec:
replicas: 1
selector:
matchLabels:
app: peertube-redis
strategy:
type: Recreate
template:
metadata:
labels:
app: peertube-redis
spec:
containers:
- image: redis:7-alpine
name: redis
ports:
- containerPort: 6379
protocol: TCP
name: tcp-redis
restartPolicy: Always