Skip to content

Instantly share code, notes, and snippets.

@evanfoster
Last active November 26, 2023 21:22
Show Gist options
  • Save evanfoster/1405453c69a224f88e45fefaacda5d2a to your computer and use it in GitHub Desktop.
Save evanfoster/1405453c69a224f88e45fefaacda5d2a to your computer and use it in GitHub Desktop.
A very basic manifest for deploying docker-wyze-bridge. Isn't following certain best practices, should probably be a helm chart or kustomize thingy.
---
apiVersion: v1
kind: Secret
metadata:
name: docker-wyze-bridge-credentials
data:
API_ID: <>
API_KEY: <>
WYZE_EMAIL: <>
WYZE_PASSWORD: <>
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: docker-wyze-bridge
labels:
app: docker-wyze-bridge
spec:
replicas: 1
selector:
matchLabels:
app: docker-wyze-bridge
template:
metadata:
labels:
app: docker-wyze-bridge
spec:
containers:
- name: bridge
image: mrlt8/wyze-bridge:latest
ports:
- containerPort: 1935
name: rtmp
- containerPort: 8554
name: rtsp
- containerPort: 8888
name: hls
- containerPort: 8889
name: webrtc
- containerPort: 8189
name: webrtcice
protocol: UDP
- containerPort: 5000
name: webui
envFrom:
- secretRef:
name: docker-wyze-bridge-credentials
env:
# makes it so we don't have to have so many loadbalancer ports
# could also be done with the TCP protocol ports, provided
# you use something like an IngressRoute or the new Gateway API
# stuff
- name: WB_HLS_URL
value: https://wyze-hls.example.com
---
# Service that has ports we'll be using ingressroutes for
apiVersion: v1
kind: Service
metadata:
name: docker-wyze-bridge
labels:
app: docker-wyze-bridge
spec:
ports:
- port: 8888
protocol: TCP
name: hls
- port: 5000
protocol: TCP
name: webui
selector:
app: docker-wyze-bridge
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: docker-wyze-bridge
spec:
rules:
- host: wyze.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: docker-wyze-bridge
port:
name: webui
tls:
- hosts:
- wyze.example.com
secretName: cert
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: docker-wyze-bridge-hls
spec:
rules:
- host: wyze-hls.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: docker-wyze-bridge
port:
name: hls
tls:
- hosts:
- wyze-hls.example.com
secretName: cert
---
apiVersion: v1
kind: Service
metadata:
name: docker-wyze-bridge-load-balancer
labels:
app: docker-wyze-bridge
spec:
selector:
app: docker-wyze-bridge
ports:
- port: 1935
protocol: TCP
name: rtmp
- port: 8554
protocol: TCP
name: rtsp
- port: 8889
protocol: TCP
name: webrtc
- port: 8189
protocol: UDP
name: webrtcice
type: LoadBalancer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment