From 20502f5c3c28ad62ca3e8375c5efe7f266f4779f Mon Sep 17 00:00:00 2001 From: QuadAces <107918856+QuadAces@users.noreply.github.com> Date: Thu, 11 Apr 2024 11:46:22 +1000 Subject: [PATCH 1/3] added dev & prod docker files, and their respective compose files --- .dockerignore | 7 +++++++ .env | 0 Dockerfiles/.dev.Dockerfile | 8 ++++++++ Dockerfiles/.prod.Dockerfile | 8 ++++++++ dev.docker-compose.yaml | 13 +++++++++++++ prod.docker-compose.yaml | 13 +++++++++++++ 6 files changed, 49 insertions(+) create mode 100644 .dockerignore create mode 100644 .env create mode 100644 Dockerfiles/.dev.Dockerfile create mode 100644 Dockerfiles/.prod.Dockerfile create mode 100644 dev.docker-compose.yaml create mode 100644 prod.docker-compose.yaml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..72e9aa4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +Dockerfile +.dockerignore +node_modules +npm-debug.log +README.md +.next +.git \ No newline at end of file diff --git a/.env b/.env new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfiles/.dev.Dockerfile b/Dockerfiles/.dev.Dockerfile new file mode 100644 index 0000000..d132d37 --- /dev/null +++ b/Dockerfiles/.dev.Dockerfile @@ -0,0 +1,8 @@ +FROM node:18 + +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . +EXPOSE 3000 +CMD npm run dev \ No newline at end of file diff --git a/Dockerfiles/.prod.Dockerfile b/Dockerfiles/.prod.Dockerfile new file mode 100644 index 0000000..17a0433 --- /dev/null +++ b/Dockerfiles/.prod.Dockerfile @@ -0,0 +1,8 @@ +FROM node:16-alpine +RUN mkdir -p /app +WORKDIR /app +COPY . . +RUN npm install +RUN npm run build +EXPOSE 3000 +CMD ["npm", "start"] \ No newline at end of file diff --git a/dev.docker-compose.yaml b/dev.docker-compose.yaml new file mode 100644 index 0000000..37e0193 --- /dev/null +++ b/dev.docker-compose.yaml @@ -0,0 +1,13 @@ +version: '3.5' + +services: + app: + build: + context: . + dockerfile: ./Dockerfiles/.dev.Dockerfile + container_name: docker-next + ports: + - '3000:3000' + volumes: + - .:/app + - /app/node_modules \ No newline at end of file diff --git a/prod.docker-compose.yaml b/prod.docker-compose.yaml new file mode 100644 index 0000000..89b4028 --- /dev/null +++ b/prod.docker-compose.yaml @@ -0,0 +1,13 @@ +version: '3.5' + +services: + app: + build: + context: . + dockerfile: ./Dockerfiles/.prod.Dockerfile + container_name: docker-next + ports: + - '3000:3000' + volumes: + - .:/app + - /app/node_modules \ No newline at end of file From d0ac027e860f31c2e918d7acd76cce1d34d3683a Mon Sep 17 00:00:00 2001 From: QuadAces <107918856+QuadAces@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:13:59 +1000 Subject: [PATCH 2/3] changed README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 4ced2ef..85e20a5 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,7 @@ ## How to run locally - Install dependencies with `npm install` - Run using `npm run dev` + +## How to run on docker +For a development environment run `docker-compose -f dev.docker-compose.yaml up`. This will reflect live code changes. +For a production environment run `docker-compose -f prod.docker-compose.yaml up`. This builds the environment way done for production. \ No newline at end of file From 496967a658a2ad0ed5bdfa2afe81624e69e55202 Mon Sep 17 00:00:00 2001 From: QuadAces <107918856+QuadAces@users.noreply.github.com> Date: Thu, 11 Apr 2024 12:19:44 +1000 Subject: [PATCH 3/3] changed README.md with docker install instructions --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 85e20a5..4ce2c30 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,9 @@ - Run using `npm run dev` ## How to run on docker +Download Docker Desktop from [here](https://www.docker.com/products/docker-desktop/). +Launch the Docker Desktop App. +Install the Docker extension on Visual Studio Code. + For a development environment run `docker-compose -f dev.docker-compose.yaml up`. This will reflect live code changes. For a production environment run `docker-compose -f prod.docker-compose.yaml up`. This builds the environment way done for production. \ No newline at end of file