Fix API URL config: use Next.js rewrite proxy instead of NEXT_PUBLIC_*

NEXT_PUBLIC_* is baked at build time so runtime docker-compose environment
vars have no effect. Instead:
- next.config.ts rewrites /api/* -> API_BASE_URL/api/* at the server level
- api.ts uses relative paths (no env var in client bundle at all)
- docker-compose passes API_BASE_URL=http://cvfs-backend:8080 at runtime
- Dockerfile no longer needs any build args

Requests: browser -> Next.js server (/api/*) -> cvfs-backend:8080 (/api/*)

https://claude.ai/code/session_01Xmxm2QLgFBgRJyYD6VukR6
This commit is contained in:
Claude
2026-04-02 18:23:58 +00:00
parent 53a05feae5
commit f3d1ddad5d
4 changed files with 9 additions and 6 deletions

View File

@@ -1,4 +1,6 @@
const API = process.env.NEXT_PUBLIC_API_BASE_URL ?? "http://localhost:9812";
// Empty base: all API calls go to /api/* which Next.js rewrites to the backend.
// The actual backend URL is set via API_BASE_URL env var in next.config.ts (server-side, runtime).
const API = "";
export type StructuredBlock = {
path: string;
@@ -130,4 +132,3 @@ export async function publishVersion(
});
}
export { API as API_BASE_URL };