mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
WebRTC bridge (5-Applications/webrtc-bridge/): - Go signaling server with pion/webrtc v4 + gorilla/websocket - Browser client with dark UI, RTT/ICE metrics, request builder - HTTP proxy over WebRTC data channel to Traefik - k3s deployment on 361395-1 with hostNetwork - Traefik IngressRoute at /webrtc with stripPrefix middleware - Bypasses Tailscale DERP relay latency (~129ms → direct P2P) Caddy edge config (5-Applications/caddy-edge/): - Caddyfile with Porkbun DNS-01 challenge - JSON config with explicit TLS connection policies - k3s deployment on 361395-1 with hostNetwork - Note: TLS handshake fails in Caddy 2.10.2 (internal error) despite certs being loaded. Using Tailscale Funnel instead. Infrastructure fixes: - Tailscale Funnel enabled on 361395-1 → Traefik - Traefik ingress for 361395-1.tail4e7094.ts.net → Homer - Funnel hostname: https://361395-1.tail4e7094.ts.net
13 lines
434 B
Docker
13 lines
434 B
Docker
FROM docker.io/library/golang:1.23-alpine AS builder
|
|
WORKDIR /build
|
|
COPY go.mod ./
|
|
RUN go mod download || true
|
|
COPY signaling-server.go .
|
|
RUN go mod tidy && CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /webrtc-bridge .
|
|
|
|
FROM docker.io/library/alpine:3.20
|
|
RUN apk add --no-cache ca-certificates
|
|
COPY --from=builder /webrtc-bridge /usr/local/bin/webrtc-bridge
|
|
COPY client/ /app/client/
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["webrtc-bridge"]
|