diff --git a/Dockerfile.canvas b/Dockerfile.canvas index 9c5f2f6..95af028 100644 --- a/Dockerfile.canvas +++ b/Dockerfile.canvas @@ -6,6 +6,9 @@ FROM node:20-alpine AS frontend-builder WORKDIR /app +ARG CUSTOM_VITE_WS_URL +ENV CUSTOM_VITE_WS_URL=$CUSTOM_VITE_WS_URL + COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm npm ci --ignore-scripts diff --git a/docker-compose.yml b/docker-compose.yml index f607a5a..3115717 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,8 @@ services: build: context: . dockerfile: Dockerfile.canvas + args: + - CUSTOM_VITE_WS_URL=${CUSTOM_VITE_WS_URL:-wss://excalidraw.forkless.com} image: celstnblacc/excalidraw-mcp-sentinel-canvas:latest container_name: mcp-excalidraw-canvas ports: diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index b7e64f0..c587c85 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -435,7 +435,7 @@ function App(): JSX.Element { return } - const wsUrl = 'wss://excalidraw.forkless.com' + const wsUrl = import.meta.env.CUSTOM_VITE_WS_URL || 'wss://excalidraw.forkless.com' websocketRef.current = new WebSocket(wsUrl) diff --git a/vite.config.js b/vite.config.js index 72e6ca0..cfe6479 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,9 +1,14 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' +const wsUrl = process.env.CUSTOM_VITE_WS_URL || 'wss://excalidraw.forkless.com'; + export default defineConfig({ root: 'frontend', plugins: [react()], + define: { + 'import.meta.env.CUSTOM_VITE_WS_URL': JSON.stringify(wsUrl), + }, build: { outDir: '../dist/frontend', emptyOutDir: true,