diff --git a/docker-compose.yml b/docker-compose.yml index cae09de..0751b22 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -56,3 +56,13 @@ services: depends_on: - machines-app - products-app + frontend-app: + build: + context: ./frontend + dockerfile: Dockerfile + environment: + - REACT_APP_BACKEND_API_URL="http://localhost:10000" + ports: + - "8080:80" + depends_on: + - proxy diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000..45a24df --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,3 @@ +**/node_modules +**/build + diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000..f1ead48 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,20 @@ +# stage 1: build node frontend +FROM node:21 as node-builder + +WORKDIR /node-builder + +COPY ./package.json . +COPY ./package-lock.json . +COPY ./public ./public +COPY ./src ./src + +RUN \ + npm install && \ + npm run build + + +# stage 2: build final image +FROM nginx:1.25-alpine + +COPY --from=node-builder /node-builder/build/. /usr/share/nginx/html +RUN ls -alF /usr/share/nginx/html diff --git a/frontend/Makefile b/frontend/Makefile new file mode 100644 index 0000000..675f257 --- /dev/null +++ b/frontend/Makefile @@ -0,0 +1,36 @@ +CONTAINER_NAME=frontend-app +IMAGE_NAME=komponiranje-frontend-app + + +run: + @npm start + + +.PHONY: build +build: + @npm run build + + +upgrade-packages: + @go get -u ./... + + +docker-build: clean + @docker build \ + --progress=plain \ + --tag $(IMAGE_NAME) \ + . + + +docker-run: + @docker run \ + --name $(CONTAINER_NAME) \ + --publish 8080:80 \ + --detach \ + $(IMAGE_NAME) + + +clean: + - @docker stop $(CONTAINER_NAME) + - @docker rm $(CONTAINER_NAME) + - @docker rmi $(IMAGE_NAME) diff --git a/frontend/public/logo192.png b/frontend/public/logo192.png deleted file mode 100644 index fc44b0a..0000000 Binary files a/frontend/public/logo192.png and /dev/null differ diff --git a/frontend/public/logo512.png b/frontend/public/logo512.png deleted file mode 100644 index a4e47a6..0000000 Binary files a/frontend/public/logo512.png and /dev/null differ