From d17addd6f92ef7ab2afdd9941547deb7951874d6 Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Thu, 26 Jan 2023 17:51:44 -0500 Subject: [PATCH 01/10] readd monogo db. --- docker-compose-dev.yml | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 475948e6..72b72528 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -144,32 +144,27 @@ services: - rems_dev_pims-nodeModules:/home/node/app/pims/node_modules # - rems_dev_pims-backend-nodeModules:/home/node/app/pims/backend/node_modules - rems_dev_pims-logs:/home/node/app/pims/logs - # pharmacy-information-system-database: # Name of our service - # image: mongo - # container_name: rems_dev_pharmacy-information-system-database - # environment: - # MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root - # MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password - # expose: - # - "27017" - # ports: # Port binding to host from docker container - # - "27017:27017" - # volumes: - # - rems_dev_pharmacy-infomation-system-database:/data/db + pims-remsadmin-mongo: # Name of our service + image: mongo:6.0 + container_name: pims-remsadmin-mongo + environment: + MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root + MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password + ports: + - "27018:27017" + volumes: + - pims-remsadmin-mongo:/data/db + # - ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh volumes: rems_dev_test-ehr-sync: - external: true # rems_dev_crd-sync: # external: true rems_dev_crd-request-generator-sync: - external: true rems_dev_dtr-sync: - external: true rems_dev_rems-sync: - external: true rems_dev_pims-sync: - external: true + #external: true rems_dev_keycloak-data: rems_dev_test-ehr-gradle: @@ -195,3 +190,4 @@ volumes: rems_dev_pims-nodeModules: # rems_dev_pims-backend-nodeModules: rems_dev_pims-logs: # rems_dev_pims-database: + pims-remsadmin-mongo: From fb8cfd69ecedb51f2015836ec7831254db1988dc Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Thu, 26 Jan 2023 18:54:57 -0500 Subject: [PATCH 02/10] Add mongo express. --- docker-compose-dev.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 72b72528..1e71acf5 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -155,6 +155,16 @@ services: volumes: - pims-remsadmin-mongo:/data/db # - ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh + mongo-express: + image: mongo-express + depends_on: + - pims-remsadmin-mongo + ports: + - "8088:8081" + environment: + ME_CONFIG_MONGODB_ADMINUSERNAME: pharmacy-information-root + ME_CONFIG_MONGODB_ADMINPASSWORD: pharmacy-information-password + ME_CONFIG_MONGODB_SERVER: pims-remsadmin-mongo volumes: rems_dev_test-ehr-sync: From a65cea253728ba819ecdfee83b8d493d61deeef4 Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Thu, 26 Jan 2023 19:52:50 -0500 Subject: [PATCH 03/10] mongo init script. --- docker-compose-dev.yml | 6 ++++-- mongo-init.js | 11 +++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 mongo-init.js diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 1e71acf5..f3cb1729 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -144,7 +144,8 @@ services: - rems_dev_pims-nodeModules:/home/node/app/pims/node_modules # - rems_dev_pims-backend-nodeModules:/home/node/app/pims/backend/node_modules - rems_dev_pims-logs:/home/node/app/pims/logs - pims-remsadmin-mongo: # Name of our service + + pims-remsadmin-mongo: image: mongo:6.0 container_name: pims-remsadmin-mongo environment: @@ -154,7 +155,8 @@ services: - "27018:27017" volumes: - pims-remsadmin-mongo:/data/db - # - ./mongo-init.sh:/docker-entrypoint-initdb.d/mongo-init.sh + - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js + mongo-express: image: mongo-express depends_on: diff --git a/mongo-init.js b/mongo-init.js new file mode 100644 index 00000000..4baf98a6 --- /dev/null +++ b/mongo-init.js @@ -0,0 +1,11 @@ +// Create Databases +const dbPims = db.getSiblingDB('pims'); +const dbRemsAdmin = db.getSiblingDB('remsadmin'); + +// Create Collections +dbPims.createCollection('pimscollection'); +dbRemsAdmin.createCollection('remsadmincollection'); + +// Insert document to ensure db/collection is created +dbPims.pimscollection.insertOne({name: 'Hello World!'}) +dbRemsAdmin.remsadmincollection.insertOne({name: 'Hello World Again!'}) \ No newline at end of file From e739e1d0f607a0eda73111b24531798f8b4f5e46 Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Fri, 27 Jan 2023 19:28:42 -0500 Subject: [PATCH 04/10] cleanup docker-compose-dev --- docker-compose-dev.yml | 73 +++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 40 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index f3cb1729..f986f83c 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -16,13 +16,10 @@ services: context: ../test-ehr dockerfile: Dockerfile.keycloak - # Create test ehr container test-ehr: - # Name of our service container_name: rems_dev_test-ehr ports: - # Port binding to host from docker container - - '8080:8080' # Bind port 3000 of host to 3000 of container + - '8080:8080' - "8081:8081" environment: - DOCKER_PROFILE=true @@ -39,6 +36,17 @@ services: extra_hosts: - "host.docker.internal:host-gateway" + pims_remsadmin_mongo: + image: mongo:6.0 + container_name: pims_remsadmin_mongo + ports: + - '27018:27017' + environment: + MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root + MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password + volumes: + - pims_remsadmin_mongo:/data/db + - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js # Create crd container # crd: # # Name of our service @@ -63,9 +71,7 @@ services: # - rems_dev_crd-operations-build:/CRD/operations/build # - rems_dev_crd-resources-build:/CRD/resources/build - # Create crd request generator container crd-request-generator: - # Name of our service build: context: ../crd-request-generator dockerfile: Dockerfile.dev @@ -73,8 +79,7 @@ services: environment: - REACT_APP_REMS_CONFIG=true ports: - # Port binding to host from docker container - - "3000:3000" # Bind port 3000 of host to 3000 of container + - "3000:3000" - "3001:3001" volumes: - rems_dev_crd-request-generator-sync:/home/node/app/crd-request-generator:nocopy # nocopy is important @@ -83,16 +88,13 @@ services: - rems_dev_crd-request-generator-build:/home/node/app/crd-request-generator/build - rems_dev_crd-request-generator-logs:/home/node/app/crd-request-generator/logs - # Create dtr container dtr: - # Name of our service build: context: ../dtr dockerfile: Dockerfile.dev container_name: rems_dev_dtr ports: - # Port binding to host from docker container - - "3005:3005" # Bind port 3000 of host to 3000 of container + - "3005:3005" - "3006:3006" volumes: - rems_dev_dtr-sync:/home/node/app/dtr:nocopy # nocopy is important @@ -100,16 +102,13 @@ services: - rems_dev_dtr-databaseData:/home/node/app/dtr/databaseData - rems_dev_dtr-logs:/home/node/app/dtr/logs - # Create rems container rems-administrator: - # Name of our service build: context: '.' dockerfile: Dockerfile.dev container_name: rems_dev_rems ports: - # Port binding to host from docker container - - "9020:8090" # Bind port 3000 of host to 3000 of container + - "9020:8090" volumes: - rems_dev_rems-sync:/REMS:nocopy # nocopy is important @@ -145,40 +144,35 @@ services: # - rems_dev_pims-backend-nodeModules:/home/node/app/pims/backend/node_modules - rems_dev_pims-logs:/home/node/app/pims/logs - pims-remsadmin-mongo: - image: mongo:6.0 - container_name: pims-remsadmin-mongo - environment: - MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root - MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password - ports: - - "27018:27017" - volumes: - - pims-remsadmin-mongo:/data/db - - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js - - mongo-express: - image: mongo-express - depends_on: - - pims-remsadmin-mongo - ports: - - "8088:8081" - environment: - ME_CONFIG_MONGODB_ADMINUSERNAME: pharmacy-information-root - ME_CONFIG_MONGODB_ADMINPASSWORD: pharmacy-information-password - ME_CONFIG_MONGODB_SERVER: pims-remsadmin-mongo + # pharmacy-information-system-database: # Name of our service + # image: mongo + # container_name: rems_dev_pharmacy-information-system-database + # environment: + # MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root + # MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password + # expose: + # - "27017" + # ports: # Port binding to host from docker container + # - "27017:27017" + # volumes: + # - rems_dev_pharmacy-infomation-system-database:/data/db volumes: rems_dev_test-ehr-sync: + external: true # rems_dev_crd-sync: # external: true rems_dev_crd-request-generator-sync: + external: true rems_dev_dtr-sync: + external: true rems_dev_rems-sync: + external: true rems_dev_pims-sync: - #external: true + external: true rems_dev_keycloak-data: + pims_remsadmin_mongo: rems_dev_test-ehr-gradle: rems_dev_test-ehr-bin: rems_dev_test-ehr-build: @@ -202,4 +196,3 @@ volumes: rems_dev_pims-nodeModules: # rems_dev_pims-backend-nodeModules: rems_dev_pims-logs: # rems_dev_pims-database: - pims-remsadmin-mongo: From e0211cc91ebcaf183d8c3f5cda69b28b69ef9815 Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Fri, 27 Jan 2023 19:38:44 -0500 Subject: [PATCH 05/10] ignore mongo-init from linter. --- .eslintignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintignore b/.eslintignore index e69de29b..92920aa7 100644 --- a/.eslintignore +++ b/.eslintignore @@ -0,0 +1 @@ +mongo-init.js \ No newline at end of file From 0270e986fbcce7f615561655be4a7a9cd95ee695 Mon Sep 17 00:00:00 2001 From: Kenny Ung Date: Fri, 27 Jan 2023 19:56:46 -0500 Subject: [PATCH 06/10] add prettier ignore file to ignore mongo-init --- .prettierignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..98623b4c --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +mongo-init.js From 74013673884f7152155ed07d402c5d9904ccd884 Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Mon, 6 Feb 2023 12:04:02 -0500 Subject: [PATCH 07/10] docker configs --- Dockerfile.dev | 3 ++- docker-compose-dev.yml | 14 +++++++++----- docker-sync.yml | 3 ++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/Dockerfile.dev b/Dockerfile.dev index ce072618..a8f56aee 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,5 +1,6 @@ FROM node:18-alpine WORKDIR /REMS -COPY . . +COPY --chown=node:node . . RUN npm install +EXPOSE 8090 CMD ./dockerRunnerDev.sh \ No newline at end of file diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index f986f83c..75265ee5 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -40,7 +40,7 @@ services: image: mongo:6.0 container_name: pims_remsadmin_mongo ports: - - '27018:27017' + - '27017:27017' environment: MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password @@ -108,9 +108,11 @@ services: dockerfile: Dockerfile.dev container_name: rems_dev_rems ports: - - "9020:8090" + - "8090:8090" volumes: - rems_dev_rems-sync:/REMS:nocopy # nocopy is important + - rems_dev_rems-nodeModules:/REMS/node_modules + - rems_dev_rems-logs:/REMS/logs # pharmacy-information-system: # Name of our service # build: @@ -137,11 +139,11 @@ services: dockerfile: Dockerfile.dev container_name: rems_dev_pims ports: - - "4200:3000" #4200 was the frontend port for the old pims + - "5050:5050" + - "5051:5051" volumes: - rems_dev_pims-sync:/home/node/app/pims:nocopy - rems_dev_pims-nodeModules:/home/node/app/pims/node_modules - # - rems_dev_pims-backend-nodeModules:/home/node/app/pims/backend/node_modules - rems_dev_pims-logs:/home/node/app/pims/logs # pharmacy-information-system-database: # Name of our service @@ -193,6 +195,8 @@ volumes: rems_dev_dtr-nodeModules: rems_dev_dtr-databaseData: rems_dev_dtr-logs: + rems_dev_pims-logs: # rems_dev_pims-database: rems_dev_pims-nodeModules: # rems_dev_pims-backend-nodeModules: + rems_dev_rems-nodeModules: + rems_dev_rems-logs: - rems_dev_pims-logs: # rems_dev_pims-database: diff --git a/docker-sync.yml b/docker-sync.yml index 0e24cbfa..acc3d17a 100644 --- a/docker-sync.yml +++ b/docker-sync.yml @@ -20,6 +20,7 @@ syncs: rems_dev_rems-sync: src: '.' + sync_excludes: ['node_modules', 'logs'] rems_dev_pharmacy-information-system-sync: src: '../pharmacy-information-system' @@ -27,4 +28,4 @@ syncs: rems_dev_pims-sync: src: '../pims' - sync_excludes: ['node_modules', 'backend/node_modules', 'logs'] \ No newline at end of file + sync_excludes: ['node_modules', 'logs'] \ No newline at end of file From 5f118fb13fc1d4404d3f92d37fadc9e7ca62bc05 Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Mon, 6 Feb 2023 12:08:47 -0500 Subject: [PATCH 08/10] remove hello world collection documents --- mongo-init.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mongo-init.js b/mongo-init.js index 4baf98a6..250634c2 100644 --- a/mongo-init.js +++ b/mongo-init.js @@ -2,10 +2,10 @@ const dbPims = db.getSiblingDB('pims'); const dbRemsAdmin = db.getSiblingDB('remsadmin'); -// Create Collections -dbPims.createCollection('pimscollection'); -dbRemsAdmin.createCollection('remsadmincollection'); +// // Create Collections +// dbPims.createCollection('pimscollection'); +// dbRemsAdmin.createCollection('remsadmincollection'); -// Insert document to ensure db/collection is created -dbPims.pimscollection.insertOne({name: 'Hello World!'}) -dbRemsAdmin.remsadmincollection.insertOne({name: 'Hello World Again!'}) \ No newline at end of file +// // Insert document to ensure db/collection is created +// dbPims.pimscollection.insertOne({name: 'Hello World!'}) +// dbRemsAdmin.remsadmincollection.insertOne({name: 'Hello World Again!'}) \ No newline at end of file From 7c3bb120178d95a716cf942d096736879387d35c Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Mon, 6 Feb 2023 13:00:21 -0500 Subject: [PATCH 09/10] mongo changes --- README.md | 18 +++++++++++++++++- docker-compose-dev.yml | 8 +++++--- mongo-init.js | 6 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0622b13a..17ef1973 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,25 @@ You can find complete end-to-end full-stack set up guides for DRLS REMS at the f ``` 2. Run dockerRunner.sh script ```bash - ./dockerRunner.sh + npm run start ``` +## Running the Mongo DB instance +1. On the first run use the following command to create a docker mongo instance: + ```bash + docker run --name rems_local_pims_remsadmin_mongo --expose 27017 -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME='rems-admin-pims-root' -e MONGO_INITDB_ROOT_PASSWORD='rems-admin-pims-password' -v rems_local_pims_remsadmin_mongo:/data/db -v "$(pwd)"/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js mongo + ``` + To stop the running container, simply use ctrl + c + + +2. On subsequent runs use the following command to start the existing mongo container: + ```bash + docker start rems_local_pims_remsadmin_mongo + ``` + To stop the running container, simply run the below command + ```bash + docker stop rems_local_pims_remsadmin_mongo + ``` # REMS Administrator NOTE: The REMS Administrator is a work in progress. diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 75265ee5..3c625f24 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -37,16 +37,18 @@ services: - "host.docker.internal:host-gateway" pims_remsadmin_mongo: - image: mongo:6.0 + image: mongo container_name: pims_remsadmin_mongo ports: - '27017:27017' environment: - MONGO_INITDB_ROOT_USERNAME: pharmacy-information-root - MONGO_INITDB_ROOT_PASSWORD: pharmacy-information-password + MONGO_INITDB_ROOT_USERNAME: rems-admin-pims-root + MONGO_INITDB_ROOT_PASSWORD: rems-admin-pims-password volumes: - pims_remsadmin_mongo:/data/db - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js + + # Create crd container # crd: # # Name of our service diff --git a/mongo-init.js b/mongo-init.js index 250634c2..657e799d 100644 --- a/mongo-init.js +++ b/mongo-init.js @@ -2,9 +2,9 @@ const dbPims = db.getSiblingDB('pims'); const dbRemsAdmin = db.getSiblingDB('remsadmin'); -// // Create Collections -// dbPims.createCollection('pimscollection'); -// dbRemsAdmin.createCollection('remsadmincollection'); +// Create Collections +dbPims.createCollection('pims-tmp'); +dbRemsAdmin.createCollection('remsadmin-tmp'); // // Insert document to ensure db/collection is created // dbPims.pimscollection.insertOne({name: 'Hello World!'}) From bec7a52e39b7068bbad2fe65b55c3f1ac41547aa Mon Sep 17 00:00:00 2001 From: Sahil Malhotra Date: Mon, 6 Feb 2023 14:57:18 -0500 Subject: [PATCH 10/10] compose container names consistency --- docker-compose-dev.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 3c625f24..53b410ed 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -38,7 +38,7 @@ services: pims_remsadmin_mongo: image: mongo - container_name: pims_remsadmin_mongo + container_name: rems_dev_pims-remsadmin-mongo ports: - '27017:27017' environment: @@ -108,7 +108,7 @@ services: build: context: '.' dockerfile: Dockerfile.dev - container_name: rems_dev_rems + container_name: rems_dev_rems-administrator ports: - "8090:8090" volumes: