feat(docker-compose.yml): add VITE_PROXY_TARGET environment variable to frontend service

feat(frontend/dev.Dockerfile): change npm start command to npm run dev:docker
feat(frontend/package.json): add dev:docker script to run vite with host 0.0.0.0
feat(frontend/vite.config.ts): use environment variable to determine the target for proxying requests
This commit is contained in:
Gabriel Almeida 2023-05-15 19:08:49 -03:00
commit b0ded58d1e
4 changed files with 31 additions and 30 deletions

View file

@ -1,34 +1,32 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
const apiRoutes = [
'/all',
'/predict',
'^/validate/*',
'^/chat/*',
];
const apiRoutes = ["/all", "/predict", "^/validate/*", "^/chat/*"];
// Use environment variable to determine the target.
const target = process.env.VITE_PROXY_TARGET || "http://127.0.0.1:7860";
const proxyTargets = apiRoutes.reduce((proxyObj, route) => {
proxyObj[route] = {
target: 'http://127.0.0.1:7860',
changeOrigin: true,
secure: false,
ws: true,
};
return proxyObj;
proxyObj[route] = {
target: target,
changeOrigin: true,
secure: false,
ws: true,
};
return proxyObj;
}, {});
export default defineConfig(() => {
return {
build: {
outDir: 'build',
},
plugins: [react()],
server: {
port: 3000,
proxy: {
...proxyTargets
}
},
};
});
return {
build: {
outDir: "build",
},
plugins: [react()],
server: {
port: 3000,
proxy: {
...proxyTargets,
},
},
};
});