diff --git a/docker-compose.yml b/docker-compose.yml index fbb506b4753bb35ad034b91b5320fa7a0243fd7f..c0a12497a101a2f830db1851b15baa6e14dfc8c7 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 0000000000000000000000000000000000000000..b336a35d89bc4d94cfd3d79ae2c63cb810276304 --- /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