Skip to content

Commit 18483fa

Browse files
author
Maksym Mykhailenko
committed
docs: improve local setup
- use single config file `.env` without `local.js` - moved light docker-compose file to a separate dir, and make full docker-compose file to be the main one - renamed some npm commands to be more simple and with logical names - mention Windows support - make up to date guide on how to run Project Services with Docker
1 parent d907df0 commit 18483fa

File tree

11 files changed

+229
-159
lines changed

11 files changed

+229
-159
lines changed

README.md

Lines changed: 115 additions & 104 deletions
Large diffs are not rendered by default.

config/development.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,8 @@
22
"pubsubQueueName": "dev.project.service",
33
"pubsubExchangeName": "dev.projects",
44
"attachmentsS3Bucket": "topcoder-dev-media",
5-
"connectProjectsUrl": "https://connect.topcoder-dev.com/projects/"
5+
"connectProjectsUrl": "https://connect.topcoder-dev.com/projects/",
6+
"fileServiceEndpoint": "https://api.topcoder-dev.com/v3/files/",
7+
"connectProjectsUrl": "https://connect.topcoder-dev.com/projects/",
8+
"memberServiceEndpoint": "https://api.topcoder-dev.com/v3/members"
69
}

local/docker-compose.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

local/full/docker-compose.yml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,28 @@
11
version: "2"
22
services:
33
jsonserver:
4-
extends:
5-
file: ../docker-compose.yml
6-
service: jsonserver
4+
build: "../mock-services"
5+
ports:
6+
- "3001:3001"
77
db:
8-
extends:
9-
file: ../docker-compose.yml
10-
service: db
8+
build: "../postgres-db"
9+
ports:
10+
- "5432:5432"
1111
environment:
12+
- POSTGRES_PASSWORD=mysecretpassword
13+
- POSTGRES_USER=coder
1214
- POSTGRES_MULTIPLE_DATABASES=projectsdb,projectsdb_test,tc_notifications
1315
esearch:
14-
extends:
15-
file: ../docker-compose.yml
16-
service: esearch
16+
image: "elasticsearch:2.3"
17+
ports:
18+
- "9200:9200"
19+
- "9300:9300"
1720
queue:
18-
extends:
19-
file: ../docker-compose.yml
20-
service: queue
21+
image: "rabbitmq:3-management"
22+
restart: always
23+
ports:
24+
- "5672:5672"
25+
- "15672:15672"
2126
zookeeper:
2227
image: wurstmeister/zookeeper
2328
ports:

local/light/docker-compose.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: "2"
2+
services:
3+
jsonserver:
4+
extends:
5+
file: ../full/docker-compose.yml
6+
service: jsonserver
7+
8+
db:
9+
extends:
10+
file: ../full/docker-compose.yml
11+
service: db
12+
environment:
13+
- POSTGRES_MULTIPLE_DATABASES=projectsdb,projectsdb_test
14+
15+
esearch:
16+
extends:
17+
file: ../full/docker-compose.yml
18+
service: esearch
19+
20+
queue:
21+
extends:
22+
file: ../full/docker-compose.yml
23+
service: queue

package-lock.json

Lines changed: 52 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,27 @@
1010
"lint": "eslint .",
1111
"lint:fix": "eslint . --fix || true",
1212
"build": "babel src -d dist --presets es2015 --copy-files",
13-
"sync:all": "cross-env NODE_ENV=development npm run sync:db && cross-env NODE_ENV=development npm run sync:es",
14-
"sync:db": "babel-node migrations/sync.js",
15-
"sync:es": "babel-node migrations/elasticsearch_sync.js",
1613
"prestart": "npm run -s build",
1714
"start": "node dist",
18-
"start:dev": "cross-env NODE_ENV=development PORT=8001 nodemon -w src --exec \"node --require dotenv/config --require babel-core/register src\" | bunyan",
15+
"start:dev": "cross-env NODE_ENV=development PORT=8001 nodemon -w src --exec \"npm run babel-node-script -- src\" | bunyan",
1916
"startKafkaConsumers": "npm run -s build && node dist/index-kafka.js",
20-
"startKafkaConsumers:dev": "cross-env NODE_ENV=development nodemon -w src --exec \"babel-node src/index-kafka.js --presets es2015\" | bunyan",
21-
"test": "cross-env NODE_ENV=test npm run lint && cross-env NODE_ENV=test npm run sync:es && cross-env NODE_ENV=test npm run sync:db && cross-env NODE_ENV=test istanbul cover node_modules/mocha/bin/_mocha -- --timeout 10000 --require babel-core/register \"./src/**/*.spec.js*\" --exit",
17+
"startKafkaConsumers:dev": "cross-env NODE_ENV=development nodemon -w src --exec \"npm run babel-node-script src/index-kafka.js\" | bunyan",
18+
"test": "cross-env NODE_ENV=test npm run lint && cross-env NODE_ENV=test npm run reset:all && cross-env NODE_ENV=test istanbul cover node_modules/mocha/bin/_mocha -- --timeout 10000 --require babel-core/register \"./src/**/*.spec.js*\" --exit",
2219
"test:watch": "cross-env NODE_ENV=test mocha -w --require babel-core/register \"./src/**/*.spec.js*\" ",
23-
"demo-data": "babel-node local/seed",
24-
"es-db-compare": "babel-node scripts/es-db-compare",
25-
"data:export": "cross-env NODE_ENV=development LOG_LEVEL=info node --require dotenv/config --require babel-core/register scripts/data/export",
26-
"data:import": "cross-env NODE_ENV=development LOG_LEVEL=info node --require dotenv/config --require babel-core/register scripts/data/import",
27-
"local:docker:up": "docker-compose -f ./local/full/docker-compose.yml up -d",
28-
"local:docker:down": "docker-compose -f ./local/full/docker-compose.yml down",
29-
"local:docker:logs": "docker-compose -f ./local/full/docker-compose.yml logs",
30-
"local:init": "npm run sync:all && npm run data:import",
31-
"generate:doc:permissions": "babel-node scripts/permissions-doc",
32-
"generate:doc:permissions:dev": "nodemon --watch scripts/permissions-doc --watch src --ext js,jsx,hbs --exec babel-node scripts/permissions-doc"
20+
"reset:all": "npm run reset:db && npm run reset:es",
21+
"reset:db": "npm run babel-node-script -- migrations/sync.js",
22+
"reset:es": "npm run babel-node-script -- migrations/elasticsearch_sync.js",
23+
"import-from-api": "npm run babel-node-script -- scripts/import-from-api",
24+
"es-db-compare": "npm run babel-node-script -- scripts/es-db-compare",
25+
"data:export": "cross-env NODE_ENV=development LOG_LEVEL=info npm run babel-node-script -- scripts/data/export",
26+
"data:import": "cross-env NODE_ENV=development LOG_LEVEL=info npm run babel-node-script -- scripts/data/import",
27+
"services:up": "docker-compose -f ./local/full/docker-compose.yml up -d",
28+
"services:down": "docker-compose -f ./local/full/docker-compose.yml down",
29+
"services:logs": "docker-compose -f ./local/full/docker-compose.yml logs",
30+
"local:init": "npm run reset:all && npm run data:import",
31+
"babel-node-script": "node --require dotenv/config --require babel-core/register",
32+
"generate:doc:permissions": "npm run babel-node-script -- scripts/permissions-doc",
33+
"generate:doc:permissions:dev": "nodemon --watch scripts/permissions-doc --watch src --ext js,jsx,hbs --exec --exec \"npm run babel-node-script scripts/permissions-doc\""
3334
},
3435
"repository": {
3536
"type": "git",
@@ -103,4 +104,4 @@
103104
"sinon-chai": "^2.8.0",
104105
"supertest": "^4.0.2"
105106
}
106-
}
107+
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)