skyvern icon indicating copy to clipboard operation
skyvern copied to clipboard

Live stream doesn't work when put behind reverse proxy

Open Expro opened this issue 5 months ago • 2 comments

I have set up Skyvern on Kubernetes behind reverse proxy for TLS. Everything works correctly (workflows, artifacts etc) with one exception - Live stream. It's always:

Image

Considering that it's only component utilizing WebSocket, it's most likely WebSocket issue. No errors in browser's console or container's console.

Skyvern version 0.2.5

Other applications that utilize websockets on same setup works correctly.

Expro avatar Jul 16 '25 15:07 Expro

I have the same issue trying to use Skyvern using Kubeadm. The streams doesn't work at all, there's no screenshot but navigating through the PVC, I was able to find the files. Seems that the Ingress controller is not able to let pass the WSS (websocket) communication or something similar. I am using the version 2.11.

This is an example of my ingress.yaml file:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: skyvern-ingress
  namespace: skyvern
  annotations:
    cert-manager.io/cluster-issuer: HIDDEN
    nginx.ingress.kubernetes.io/proxy-body-size: 100m
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/proxy-http-version: "1.1"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
spec:
  ingressClassName: nginx
  rules:
  - host: skyvern.contoso.com
    http:
      paths:
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: skyvern-backend
            port:
              number: 8000
      - path: /artifacts
        pathType: Prefix
        backend:
          service:
            name: skyvern-frontend
            port:
              number: 9090
      - path: /
        pathType: Prefix
        backend:
          service:
            name: skyvern-frontend
            port:
              number: 8080
  tls:
  - hosts:
    - skyvern.contoso.com
    secretName: skyvern.contoso.com-tls

djlio86 avatar Sep 08 '25 14:09 djlio86

After apply the last image version, the streaming was showing a black screen instead an error or wait message. After a bit of trial and error, I was able to detect the problem.

Solution: Seems that the /artifacts configured into the ingress configuration should be /artifact. With this modification the screenshots and recordings started to work as excepted.

djlio86 avatar Sep 15 '25 10:09 djlio86