diff --git a/docker-compose.yml b/docker-compose.yml index 86255ea8f..d9ba84030 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,10 +15,12 @@ services: build: context: ./src/frontend dockerfile: ./dev.Dockerfile + args: + - BACKEND_URL=http://backend:7860 ports: - "3000:3000" volumes: - ./src/frontend/public:/home/node/app/public - ./src/frontend/src:/home/node/app/src - ./src/frontend/package.json:/home/node/app/package.json - restart: on-failure + restart: on-failure \ No newline at end of file diff --git a/src/frontend/dev.Dockerfile b/src/frontend/dev.Dockerfile index df7028c24..df5f7f5dc 100644 --- a/src/frontend/dev.Dockerfile +++ b/src/frontend/dev.Dockerfile @@ -1,13 +1,23 @@ #baseline -FROM node:19-alpine AS base +FROM node:19-bullseye-slim AS base RUN mkdir -p /home/node/app RUN chown -R node:node /home/node && chmod -R 770 /home/node +RUN apt-get update && apt-get install -y jq WORKDIR /home/node/app # client build FROM base AS builder-client +ARG BACKEND_URL +ENV BACKEND_URL $BACKEND_URL +RUN echo "BACKEND_URL: $BACKEND_URL" + WORKDIR /home/node/app COPY --chown=node:node . ./ + +COPY ./set_proxy.sh . +RUN chmod +x set_proxy.sh && ./set_proxy.sh + USER node + RUN npm install --loglevel warn CMD ["npm", "start"] \ No newline at end of file diff --git a/src/frontend/set_proxy.sh b/src/frontend/set_proxy.sh new file mode 100755 index 000000000..e9ad9f109 --- /dev/null +++ b/src/frontend/set_proxy.sh @@ -0,0 +1,10 @@ +#! /bin/bash +# Edit package.json to set proxy +backend_url=$BACKEND_URL +echo "Setting proxy to $backend_url" +# Load package.json file and edit proxy +packagejson=$(cat package.json) + +packagejson=$(echo "$packagejson" | jq ".proxy = \"$backend_url\"") + +echo "$packagejson" > package.json