feature : Connect front to backend #1

Merged
BoxOfPandor merged 25 commits from feat/connect-front-to-backend into main 2026-03-19 14:56:19 +01:00
4 changed files with 9 additions and 11 deletions
Showing only changes of commit db647fe7ac - Show all commits

View File

@@ -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;"]

View File

@@ -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;

View File

@@ -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));
}, []);

View File

@@ -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}`
);
},