From 16d1db039d4444c62da605ca2a44858f2a2ff048 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Mon, 18 Nov 2024 09:56:44 +0000 Subject: [PATCH 1/5] build: update Docker dev environment - add some more local code directories to the docker dev build. - update the docs. --- docker-compose.dev.yml | 4 ++++ docs/development/docker.md | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 84d0aab..d703b02 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -28,8 +28,12 @@ services: YAML_TEMPLATE: "config/oxford.yaml" command: "yarn dev" volumes: + - ./.material:/app/.material + - ./config:/app/config - ./components:/app/components - ./pages:/app/pages + - ./public:/app/public + - ./styles:/app/styles ports: - "3000:3000" links: diff --git a/docs/development/docker.md b/docs/development/docker.md index 4a7d017..223985d 100644 --- a/docs/development/docker.md +++ b/docs/development/docker.md @@ -40,3 +40,18 @@ value (under `services.gutenberg.build.args`) to a different config yaml file or changing `MATERIAL_METHOD` to `"copy"` to copy a locally checked out folder into the container at build-time instead of pulling fresh - for more details on how to pull material to edit locally follow the below section. + +## Local development with Docker + +`docker-compose.dev.yaml` configures a local development environment in Docker, +including Node and Yarn. It runs the app in development mode, so that you can make +changes to the code and see them on http://localhost:3000. + +```sh +# build the development image +docker compose -f docker-compose.dev.yaml build +# run the Next.js app on http://localhost:3000 in development mode +docker compose -f docker-compose.dev.yaml up +# shut down the app and database when you're finished +docker compose -f docker-compose.dev.yaml down +``` From bc6af30106d6e68e6dbafcb9a81fd367df527c02 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Mon, 18 Nov 2024 18:15:54 +0000 Subject: [PATCH 2/5] Add /lib to mounted volumes --- docker-compose.dev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index d703b02..19b2bf4 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -31,6 +31,7 @@ services: - ./.material:/app/.material - ./config:/app/config - ./components:/app/components + - ./lib:/app/lib - ./pages:/app/pages - ./public:/app/public - ./styles:/app/styles From ddbb2345a90a413e1d55fe0f622301852195829f Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Wed, 5 Feb 2025 14:39:47 +0000 Subject: [PATCH 3/5] add /scripts and app config files to mounted volumes --- docker-compose.dev.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 19b2bf4..3478091 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -34,7 +34,13 @@ services: - ./lib:/app/lib - ./pages:/app/pages - ./public:/app/public + - ./scripts:/app/scripts - ./styles:/app/styles + - ./.env:/app/.env + - ./next.config.js:/app/next.config.js + - ./cypress.config.ts:/app/cypress.config.ts + - ./postcss.config.js:/app/postcss.config.js + - ./tailwind.config.js:/app/tailwind.config.js ports: - "3000:3000" links: From 342b8812491ee7147c0a2b09d32ec23138a022a6 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Wed, 5 Feb 2025 14:51:46 +0000 Subject: [PATCH 4/5] persist /node_modules across builds --- docker-compose.dev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 3478091..01e146e 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -28,6 +28,7 @@ services: YAML_TEMPLATE: "config/oxford.yaml" command: "yarn dev" volumes: + - node-modules:/app/node_modules - ./.material:/app/.material - ./config:/app/config - ./components:/app/components @@ -53,3 +54,4 @@ services: DATABASE_URL: postgresql://postgres:super-secret-password@db:5432 volumes: dev-data: + node-modules: From 56939a8756d456ba213a1a6540fd0e5859a92cd9 Mon Sep 17 00:00:00 2001 From: Jim O'Donnell Date: Thu, 6 Feb 2025 12:18:08 +0000 Subject: [PATCH 5/5] Fix Dockerfile syntax error --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4481689..380fac7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -61,7 +61,7 @@ ONBUILD RUN \ # Here we use the MATERIAL_METHOD arg to determine which method we use to get # material into our container for build time. -FROM ${MATERIAL_METHOD}_material as material +FROM ${MATERIAL_METHOD}_material AS material #### # BUILDER