From 5cec6533e5d04b9ef6e625f89abe1ca1613e248d Mon Sep 17 00:00:00 2001 From: abdu <abdukiran@gmail.com> Date: Mon, 11 Nov 2024 20:17:56 +0100 Subject: [PATCH] add init db script --- docker-compose.yml | 10 +++++++++- init-db.js | 11 +++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 init-db.js diff --git a/docker-compose.yml b/docker-compose.yml index fbb506b..c0a1249 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -20,8 +20,15 @@ services: # virtual drive for storage of the db between reboots volumes: - ./data/db:/data/db + - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js networks: - todo-network + # mongo is being initialized too late so we have to wait for it + healthcheck: + test: [ "CMD", "mongo", "--eval", "db.adminCommand('ping')" ] + interval: 10s + timeout: 5s + retries: 5 # backend stuff backend: @@ -42,7 +49,8 @@ services: ports: - "9876:9876" depends_on: - - mongodb + mongodb: + condition: service_healthy # were gonna use this network for both our backend and frontend networks: diff --git a/init-db.js b/init-db.js new file mode 100644 index 0000000..b336a35 --- /dev/null +++ b/init-db.js @@ -0,0 +1,11 @@ +db = db.getSiblingDB('admin') + +if(db.system.users.find({user: "tododbuser"}).count() === 0){ + db.createUser({ + user: "tododbuser", + pwd: "tododbadminpassword", + roles: [{ + role: "readWrite", db: "todo" + }] + }) +} \ No newline at end of file -- GitLab