diff --git a/apollo-gateway/Dockerfile b/apollo-gateway/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..d0ec9c9cb4f420dd0147cca4d0e736347388af50 --- /dev/null +++ b/apollo-gateway/Dockerfile @@ -0,0 +1,11 @@ +FROM node:14 + +COPY . /opt/app + +WORKDIR /opt/app + +RUN npm install + +EXPOSE 5000 + +CMD npm start \ No newline at end of file diff --git a/apollo-gateway/graphql/adapters/CommentsService.js b/apollo-gateway/graphql/adapters/CommentsService.js index a89b8fda3ea147837c645bc44674a1a18ac9ca67..70ba9d3a1022f390221cc9d1083261d4497a77c3 100644 --- a/apollo-gateway/graphql/adapters/CommentsService.js +++ b/apollo-gateway/graphql/adapters/CommentsService.js @@ -1,6 +1,6 @@ import axios from 'axios'; -const COMMENTS_SERVICE_URI = "http://localhost:5003"; +const COMMENTS_SERVICE_URI = "http://comments-service:5003"; export default class PostsService { static async fetchAllPostComments({ postId }) { diff --git a/apollo-gateway/graphql/adapters/PostsService.js b/apollo-gateway/graphql/adapters/PostsService.js index d0df8d64355b8250f3d816b9208cd62214c422ca..122dc714b86092a1e4edfaaaac7b7c22420a4877 100644 --- a/apollo-gateway/graphql/adapters/PostsService.js +++ b/apollo-gateway/graphql/adapters/PostsService.js @@ -1,6 +1,6 @@ import axios from 'axios'; -const POSTS_SERVICE_URI = "http://localhost:5002"; +const POSTS_SERVICE_URI = "http://posts-service:5002"; export default class PostsService { static async fetchAllPosts() { diff --git a/apollo-gateway/graphql/adapters/UsersService.js b/apollo-gateway/graphql/adapters/UsersService.js index aca9cd3afb39376b4e252539fc4dcba5d1ee7326..b9f9905c79a2fdca60dff56217e2153ce23fd5fa 100644 --- a/apollo-gateway/graphql/adapters/UsersService.js +++ b/apollo-gateway/graphql/adapters/UsersService.js @@ -1,6 +1,6 @@ import axios from 'axios'; -const USERS_SERVICE_URI = "http://localhost:5001/user"; +const USERS_SERVICE_URI = "http://users-service:5001/user"; export default class UsersService { static async signup({ name, email, password }) { diff --git a/comments-service/Dockerfile b/comments-service/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..c4303bdd4fbcefaabf54381a2b8dbfe5551e4d94 --- /dev/null +++ b/comments-service/Dockerfile @@ -0,0 +1,11 @@ +FROM node:14 + +COPY . /opt/app + +WORKDIR /opt/app + +RUN npm install + +EXPOSE 5003 + +CMD npm start \ No newline at end of file diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e8a62b4876c384921f014f91167bfee3065ea2d3 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,34 @@ +version: "3" +services: + apollo-gateway: + build: "./apollo-gateway" + depends_on: + - users-service + - posts-service + - comments-service + volumes: + - ./apollo-gateway:/opt/app + ports: + - 5000:5000 + + users-service: + build: "./users-service" + volumes: + - ./users-service:/opt/app + - /opt/app/node_modules + ports: + - 5001:5001 + + posts-service: + build: "./posts-service" + volumes: + - ./posts-service:/opt/app + ports: + - 5002:5002 + + comments-service: + build: "./comments-service" + volumes: + - ./comments-service:/opt/app + ports: + - 5003:5003 \ No newline at end of file diff --git a/posts-service/Dockerfile b/posts-service/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..4306abe89aa5d93583b2db3c67de635a89adc3e7 --- /dev/null +++ b/posts-service/Dockerfile @@ -0,0 +1,11 @@ +FROM node:14 + +COPY . /opt/app + +WORKDIR /opt/app + +RUN npm install + +EXPOSE 5002 + +CMD npm start \ No newline at end of file diff --git a/users-service/Dockerfile b/users-service/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b27ddbaeb2da3818c19dc27f45bb4cf424bd598b --- /dev/null +++ b/users-service/Dockerfile @@ -0,0 +1,11 @@ +FROM node:14 + +COPY . /opt/app + +WORKDIR /opt/app + +RUN npm install + +EXPOSE 5001 + +CMD npm start \ No newline at end of file