diff --git a/README.md b/README.md index f8ba15c9..b5f40edf 100644 --- a/README.md +++ b/README.md @@ -105,3 +105,22 @@ curl --include --header "Content-Type: application/json" --header "X-Api-Key: ${ ```shell curl --include --header "X-Api-Key: ${SAMPLE_APIKEY}" --request DELETE http://localhost:3000/api/assets/asset7 ``` +## Steps to run the application using docker: + +Move to directory fabric-rest-sample/asset-transfer-basic/rest-api-typescript + +### Build docker image + docker build -t fabricapp . + +### Generate .env file + TEST_NETWORK_HOME=$HOME/fabric-samples/test-network ./scripts/generateEnv.sh + + Note: Connection profile need to use the peer container’s hostname instead of localhost. + +### Run docker containers + docker-compose up -d + + + + + diff --git a/asset-transfer-basic/rest-api-typescript/.dockerignore b/asset-transfer-basic/rest-api-typescript/.dockerignore new file mode 100644 index 00000000..4f3089df --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/.dockerignore @@ -0,0 +1,4 @@ +node_modules +npm-debug.log +Dockerfile +.gitignore diff --git a/asset-transfer-basic/rest-api-typescript/Dockerfile b/asset-transfer-basic/rest-api-typescript/Dockerfile new file mode 100644 index 00000000..5ebc77bd --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/Dockerfile @@ -0,0 +1,20 @@ +FROM node:14-alpine3.12 +RUN apk add dumb-init +WORKDIR /fabric_app/ + +COPY --chown=node:node . /fabric_app/ + +RUN npm ci + +RUN npm run build + +EXPOSE 3000 + +USER node +CMD dumb-init npm run start:dev + + + + + + diff --git a/asset-transfer-basic/rest-api-typescript/docker-compose.yaml b/asset-transfer-basic/rest-api-typescript/docker-compose.yaml new file mode 100644 index 00000000..1a2c7b93 --- /dev/null +++ b/asset-transfer-basic/rest-api-typescript/docker-compose.yaml @@ -0,0 +1,26 @@ +version: '3' +# Replace network name with the fabric test-network name +services: + redis: + image: 'redis' + ports: + - 6379:6379 + networks: + - net_test + + nodeapp: + image: 'fabricapp' + ports: + - 3000:3000 + env_file: + - ./.env + environment: + - REDIS_HOST=redis + - AS_LOCAL_HOST=false + networks: + - net_test + + +networks: + net_test: + external: true