diff --git a/nest-front/Dockerfile b/nest-front/Dockerfile index 0015b92..8729d50 100644 --- a/nest-front/Dockerfile +++ b/nest-front/Dockerfile @@ -17,14 +17,8 @@ RUN npm run build FROM nginx:alpine COPY --from=build /app/dist /usr/share/nginx/html -COPY nginx.conf /etc/nginx/nginx.conf.template +COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 -# API_URL is the backend's public base URL used by nginx proxy_pass. -# Set this at runtime in Coolify, e.g. API_URL=https://api.crowmate.fr -ENV API_URL=http://localhost:3000 - -# Substitute ${API_URL} in the nginx template at container start, then launch nginx. -# The quoted variable list prevents envsubst from replacing nginx variables like $host. -CMD ["/bin/sh", "-c", "envsubst '${API_URL}' < /etc/nginx/nginx.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"] +CMD ["nginx", "-g", "daemon off;"] diff --git a/nest-front/nginx.conf b/nest-front/nginx.conf index 4cfc168..54e1ef3 100644 --- a/nest-front/nginx.conf +++ b/nest-front/nginx.conf @@ -3,8 +3,12 @@ server { root /usr/share/nginx/html; index index.html; + # Use Docker's embedded DNS resolver; defer resolution to request time + resolver 127.0.0.11 valid=30s; + location /api/ { - proxy_pass ${API_URL}/api/; + set $api_upstream http://api:3000; + proxy_pass $api_upstream; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; diff --git a/nest-front/src/pages/public/EventsPage.tsx b/nest-front/src/pages/public/EventsPage.tsx index d7c297a..34a8017 100644 --- a/nest-front/src/pages/public/EventsPage.tsx +++ b/nest-front/src/pages/public/EventsPage.tsx @@ -257,7 +257,7 @@ export default function EventsPage() { useEffect(() => { eventsApi.getEvents(true) - .then((res) => setEvents(res.data)) + .then((res) => setEvents(res.events)) .catch(() => setEvents([])) .finally(() => setLoading(false)); }, []); diff --git a/nest-front/src/utils/api.ts b/nest-front/src/utils/api.ts index 9a40638..390dcb8 100644 --- a/nest-front/src/utils/api.ts +++ b/nest-front/src/utils/api.ts @@ -173,7 +173,7 @@ export const eventsApi = { getEvents: (publicOnly = true) => { const q = new URLSearchParams({ limit: '50' }); if (publicOnly) q.set('public', 'true'); - return apiFetch<{ data: EventPost[]; total: number; page: number; pages: number }>( + return apiFetch<{ events: EventPost[]; total: number; page: number; pages: number }>( `/events?${q}` ); },