Test api ai
All checks were successful
Build and Deploy Nuxt / build (push) Successful in 23s

This commit is contained in:
2026-10-01 22:09:26 +02:00
parent b0f99b6033
commit 5feeeabbf7
4 changed files with 27 additions and 3 deletions

View File

@@ -14,6 +14,12 @@ RUN npm install
ARG CACHEBUST=1
COPY . .
# Production API wiring (baked into the build):
# - the browser calls /api on its own origin; nginx forwards that to backend:5000
# - the Nuxt server (SSR) reaches the backend container by service name
ENV NUXT_PUBLIC_API_BASE=
ENV NUXT_API_PROXY_TARGET=http://backend:5000
# Build the Nuxt app
RUN npm run build

View File

@@ -61,6 +61,12 @@ Handy macros: `\R`, `\N`, `\Z`, `\Q`, `\C` for the number sets.
| `backend/.env` | `PORT` | `5000` | API port |
| `backend/.env` | `MONGO_URI` | `mongodb://127.0.0.1:27017/mathew` | Mongo connection |
| `frontend` env | `NUXT_PUBLIC_API_BASE` | `http://localhost:5000` | Where the UI calls the API |
| `frontend` build | `NUXT_API_PROXY_TARGET` | `http://localhost:5000` | Where the Nuxt server's own (SSR) `/api` calls are forwarded |
In Docker the frontend image builds with `NUXT_PUBLIC_API_BASE=` (empty): the browser calls
`/api` on its own origin and nginx routes it to `http://backend:5000` — the same hop answers
the Nuxt server's SSR calls, which the image points at the backend container via
`NUXT_API_PROXY_TARGET`.
## Editing tips

View File

@@ -39,11 +39,20 @@ export default defineNuxtConfig({
runtimeConfig: {
public: {
// Override with NUXT_PUBLIC_API_BASE in production
apiBase: process.env.NUXT_PUBLIC_API_BASE || 'http://localhost:5000',
// Where the UI calls the API. The Docker image sets this to "" so the
// browser calls /api on its own origin and nginx routes it to the
// backend; dev keeps the absolute localhost address.
apiBase: process.env.NUXT_PUBLIC_API_BASE ?? 'http://localhost:5000',
},
},
// The Nuxt server's own API calls (SSR) are relative once apiBase is "",
// and land on this Nitro route, which forwards them to the backend. The
// Docker image bakes NUXT_API_PROXY_TARGET=http://backend:5000 in at build.
routeRules: {
'/api/**': { proxy: `${process.env.NUXT_API_PROXY_TARGET || 'http://localhost:5000'}/api/**` },
},
app: {
head: {
meta: [