noVNC defaults to WebSocket path "websockify" relative to origin root,
but Traefik only routes /vnc/* to the studio container. Setting
path=vnc/websockify ensures the WebSocket goes through the correct
Traefik router and gets stripped to /websockify inside the container.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Use jq to cleanly remove encryptid SDK from package.json in Docker
- Fix TypeScript strict mode errors in dashboard and assistant
- Add .dockerignore to exclude node_modules from build context
- Use project root as Docker build context for frontend
- Fix Traefik routing: separate frontend/api/studio paths
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cloudflare tunnel terminates TLS, so internal traffic is HTTP (web
entrypoint, not websecure). Set priority > 100 to beat the rSpace
wildcard HostRegexp router.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>