Search before asking
What happened
n config-ui/vite.config.ts, the /api dev proxy target is hardcoded directly to http://localhost:8081/:
// config-ui/vite.config.ts
proxy: {
'/api': {
target: 'http://localhost:8081/',
changeOrigin: true,
rewrite: (path) => path.replace(/^/api//, ''),
},
// ...
}
This causes two problems:
Port mismatch with the default backend
The DevLake backend defaults to port 8080, as defined in .env.example, docker-compose-dev.yml, and AGENTS.md.
Anyone starting the backend on its default port and launching config-ui gets ECONNREFUSED proxy errors unless they modify vite.config.ts or change their backend port.
Inflexible development/container setup
When developing inside Dev Containers, Docker, or with a remote backend host, the API target cannot be overridden via environment variables without modifying the tracked vite.config.ts file.
In contrast, the /grafana proxy directly below it in the same file already supports dynamic configuration via:
VITE_GRAFANA_URL
VITE_GRAFANA_PORT
VITE_GRAFANA_HOST
VITE_GRAFANA_PROTOCOL
These variables were introduced in PR #8645.
What do you expect to happen
The /api proxy should:
Default to the DevLake backend's default port (8080).
Allow the backend host, protocol, and port to be overridden through environment variables.
Avoid requiring developers to modify the tracked vite.config.ts file for different development or container environments.
How to reproduce
- Start DevLake backend on the default port (http://localhost:8080).
- Run config-ui with yarn dev (runs on http://localhost:4000).
- Open http://localhost:4000/ in the browser.
- Any API request directed to /api/... fails with ECONNREFUSED because Vite
forwards requests to http://localhost:8081/.
Anything else
• File: config-ui/vite.config.ts (lines 40–44)
• Consistent with how config-ui/nginx.conf and config-ui/nginx.sh
dynamically use ${DEVLAKE_ENDPOINT} in production.
I found this while developing grafana_irm plugin
Version
main (commit 05dad99)
Are you willing to submit PR?
Code of Conduct
Search before asking
What happened
n config-ui/vite.config.ts, the /api dev proxy target is hardcoded directly to http://localhost:8081/:
// config-ui/vite.config.ts
proxy: {
'/api': {
target: 'http://localhost:8081/',
changeOrigin: true,
rewrite: (path) => path.replace(/^/api//, ''),
},
// ...
}
This causes two problems:
Port mismatch with the default backend
The DevLake backend defaults to port 8080, as defined in .env.example, docker-compose-dev.yml, and AGENTS.md.
Anyone starting the backend on its default port and launching config-ui gets ECONNREFUSED proxy errors unless they modify vite.config.ts or change their backend port.
Inflexible development/container setup
When developing inside Dev Containers, Docker, or with a remote backend host, the API target cannot be overridden via environment variables without modifying the tracked vite.config.ts file.
In contrast, the /grafana proxy directly below it in the same file already supports dynamic configuration via:
VITE_GRAFANA_URL
VITE_GRAFANA_PORT
VITE_GRAFANA_HOST
VITE_GRAFANA_PROTOCOL
These variables were introduced in PR #8645.
What do you expect to happen
The /api proxy should:
Default to the DevLake backend's default port (8080).
Allow the backend host, protocol, and port to be overridden through environment variables.
Avoid requiring developers to modify the tracked vite.config.ts file for different development or container environments.
How to reproduce
forwards requests to http://localhost:8081/.
Anything else
• File: config-ui/vite.config.ts (lines 40–44)
• Consistent with how config-ui/nginx.conf and config-ui/nginx.sh
dynamically use ${DEVLAKE_ENDPOINT} in production.
I found this while developing grafana_irm plugin
Version
main (commit 05dad99)
Are you willing to submit PR?
Code of Conduct