From 718d27ca5d7538693d43b883a490b27fc6e98df4 Mon Sep 17 00:00:00 2001 From: jbirddog <100367399+jbirddog@users.noreply.github.com> Date: Thu, 22 Feb 2024 19:31:55 -0500 Subject: [PATCH] docker compose overlay file for editable frontend container (#1092) --- Makefile | 26 +++++++++++++++++++ spiffworkflow-frontend/dev.Dockerfile | 9 +++++++ .../dev.Dockerfile.dockerignore | 0 spiffworkflow-frontend/dev.docker-compose.yml | 10 +++++++ spiffworkflow-frontend/package.json | 1 + 5 files changed, 46 insertions(+) create mode 100644 Makefile create mode 100644 spiffworkflow-frontend/dev.Dockerfile create mode 100644 spiffworkflow-frontend/dev.Dockerfile.dockerignore create mode 100644 spiffworkflow-frontend/dev.docker-compose.yml diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..f09f2c467 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +FRONTEND_CONTAINER ?= spiffworkflow-frontend +FRONTEND_DEV_OVERLAY ?= spiffworkflow-frontend/dev.docker-compose.yml + +dev-env: + docker compose -f docker-compose.yml \ + -f $(FRONTEND_DEV_OVERLAY) \ + build + +start-dev: + docker compose -f docker-compose.yml \ + -f $(FRONTEND_DEV_OVERLAY) \ + up -d + +stop-dev: + docker compose -f docker-compose.yml \ + -f $(FRONTEND_DEV_OVERLAY) \ + down + +fe-lint-fix: + docker exec -it $(FRONTEND_CONTAINER) npm run lint:fix + +fe-sh: + docker exec -it $(FRONTEND_CONTAINER) /bin/bash + +.PHONY: dev-env start-dev stop-dev \ + fe-lint-fix fe-sh diff --git a/spiffworkflow-frontend/dev.Dockerfile b/spiffworkflow-frontend/dev.Dockerfile new file mode 100644 index 000000000..b174a86f1 --- /dev/null +++ b/spiffworkflow-frontend/dev.Dockerfile @@ -0,0 +1,9 @@ +FROM node:20.8.1-bookworm-slim AS base + +WORKDIR /app + +COPY package.json package-lock.json . + +RUN npm i + +CMD ["npm", "run", "docker:start"] diff --git a/spiffworkflow-frontend/dev.Dockerfile.dockerignore b/spiffworkflow-frontend/dev.Dockerfile.dockerignore new file mode 100644 index 000000000..e69de29bb diff --git a/spiffworkflow-frontend/dev.docker-compose.yml b/spiffworkflow-frontend/dev.docker-compose.yml new file mode 100644 index 000000000..37669061c --- /dev/null +++ b/spiffworkflow-frontend/dev.docker-compose.yml @@ -0,0 +1,10 @@ +services: + spiffworkflow-frontend: + build: + context: spiffworkflow-frontend + dockerfile: dev.Dockerfile + environment: + HOST: "0.0.0.0" + PORT: "${SPIFFWORKFLOW_FRONTEND_PORT:-8001}" + volumes: + - ./spiffworkflow-frontend:/app diff --git a/spiffworkflow-frontend/package.json b/spiffworkflow-frontend/package.json index 3b4b59214..03e65f665 100644 --- a/spiffworkflow-frontend/package.json +++ b/spiffworkflow-frontend/package.json @@ -66,6 +66,7 @@ }, "scripts": { "start": "ESLINT_NO_DEV_ERRORS=true PORT=7001 craco start", + "docker:start": "ESLINT_NO_DEV_ERRORS=true craco start", "build": "craco build", "test": "react-scripts test --coverage", "t": "npm test -- --watchAll=false",