From b5e7fee9c1a24a2679f0676121369b9b9bc8c6a9 Mon Sep 17 00:00:00 2001 From: Matthew Orris <1466844+mattheworris@users.noreply.github.com> Date: Fri, 9 Aug 2024 10:05:57 -0400 Subject: [PATCH] account-service should replace PROVIDER_BASE_URL with WEBHOOK_BASE_URL (#350) ## Description The gateway microservices that use webhooks previously used the environment variable `PROVIDER_BASE_URL` as the webhook target server. The `social-app-template` has adopted a new nomenclature using `WEBHOOK_BASE_URL`. All micro services should be in sync with the `social-app-template` and use the new nomenclature. ## Acceptance Criteria - All microservices that use webhooks use `WEBHOOK_BASE_URL` to provision their webhook. - [x] account Follow up to remove entirely: https://github.com/ProjectLibertyLabs/gateway/issues/339 --- docker-compose-k6.account.yaml | 6 +-- docker-compose.yaml | 3 +- services/account/ENVIRONMENT.md | 2 +- services/account/README.md | 32 ++++-------- .../account/apps/api/src/build-openapi.ts | 2 +- .../apps/api/src/services/api.service.ts | 9 ---- .../apps/api/test/setup/package-lock.json | 49 ++++++++++--------- .../account/apps/api/test/setup/package.json | 2 +- .../transaction_notifier/notifier.service.ts | 2 +- services/account/env.template | 12 +++-- .../src/blockchain/blockchain.service.spec.ts | 2 +- .../common/src/config/config.service.spec.ts | 4 +- .../libs/common/src/config/config.service.ts | 6 +-- .../libs/common/src/config/env.config.ts | 2 +- .../src/services/provider-webhook.service.ts | 4 +- services/account/package-lock.json | 9 ++-- services/account/package.json | 2 +- services/account/scripts/docker-clean-up.sh | 7 +-- .../account/scripts/restart-chain-docker.sh | 4 +- 19 files changed, 70 insertions(+), 89 deletions(-) diff --git a/docker-compose-k6.account.yaml b/docker-compose-k6.account.yaml index 7eb2e29c..d5cb4258 100644 --- a/docker-compose-k6.account.yaml +++ b/docker-compose-k6.account.yaml @@ -18,8 +18,7 @@ services: account-service-webhook: condition: service_healthy environment: - PROVIDER_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service' - WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks' + WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service' account-service-worker: pull_policy: never @@ -32,8 +31,7 @@ services: - redis - ipfs environment: - PROVIDER_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service' - WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks' + WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service' account-service-webhook: image: rust:1.80.0 diff --git a/docker-compose.yaml b/docker-compose.yaml index 59c10484..8951b7bf 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -5,7 +5,6 @@ x-common-environment: &common-environment REDIS_URL: 'redis://redis:6379' PROVIDER_ID: ${PROVIDER_ID:-1} PROVIDER_ACCOUNT_SEED_PHRASE: ${PROVIDER_ACCOUNT_SEED_PHRASE:-//Alice} - WEBHOOK_BASE_URL: 'http://social-app-template-backend:3001/webhooks' WEBHOOK_FAILURE_THRESHOLD: 3 WEBHOOK_RETRY_INTERVAL_SECONDS: 10 HEALTH_CHECK_MAX_RETRIES: 4 @@ -43,7 +42,7 @@ x-graph-service-env: &graph-service-env x-account-service-env: &account-service-env BLOCKCHAIN_SCAN_INTERVAL_SECONDS: 1 TRUST_UNFINALIZED_BLOCKS: true - PROVIDER_BASE_URL: 'http://social-app-template-backend:3001/webhooks/account-service' + WEBHOOK_BASE_URL: 'http://social-app-template-backend:3001/webhooks/account-service' services: redis: diff --git a/services/account/ENVIRONMENT.md b/services/account/ENVIRONMENT.md index 4022caf5..94f62a90 100644 --- a/services/account/ENVIRONMENT.md +++ b/services/account/ENVIRONMENT.md @@ -16,7 +16,7 @@ This application recognizes the following environment variables: | `HEALTH_CHECK_SUCCESS_THRESHOLD` | Minimum number of consecutive successful calls to the provider webhook `/health` endpoint before it is marked up again | > 0 | | 10 | | `PROVIDER_ACCESS_TOKEN` | An optional bearer token authentication to the provider webhook | string | | | | `PROVIDER_ACCOUNT_SEED_PHRASE` | Seed phrase for provider MSA control key | string | Y | | -| `PROVIDER_BASE_URL` | Base URL for provider webhook endpoints | URL | Y | | +| `WEBHOOK_BASE_URL` | Base URL for provider webhook endpoints | URL | Y | | | `PROVIDER_ID` | Provider MSA ID | integer | Y | | | `REDIS_URL` | Connection URL for Redis | URL | Y | | | `WEBHOOK_FAILURE_THRESHOLD` | Number of failures allowing in the provider webhook before the service is marked down | > 0 | | 3 | diff --git a/services/account/README.md b/services/account/README.md index 32063073..7051cd4b 100644 --- a/services/account/README.md +++ b/services/account/README.md @@ -4,15 +4,14 @@ # 📗 Table of Contents -- [📖 About the Project](#-account-service-a-nameabout-projecta) +- [📖 About the Project](#account-service) - [🔍 Arch Map](#-arch-maps) -- [🛠 Built With](#-built-with-a-namebuilt-witha) - - [Tech Stack](#tech-stack-a-nametech-stacka) +- [🛠 Built With](#built-with) + - [Tech Stack](#tech-stack) - [Key Features](#key-features) - [🚀 Live OpenAPI Docs](#-live-docs) - [💻 Getting Started](#-getting-started) - [Prerequisites](#prerequisites) - - [Setup](#setup) - [Environment Variables](#environment-variables) - [Install](#install) - [Usage](#usage) @@ -24,7 +23,7 @@ - [Debugging](#debugging) - [Debugging with VSCode](#using-the-debugger-with-vscode) - [🤝 Contributing](#-contributing) -- [⭐️ Show your support](#-show-your-support) +- [⭐️ Show your support](#show-your-support) - [❓FAQ](#faq) - [📝 License](#-license) @@ -180,26 +179,15 @@ In order to run this project you need: - [Node.js](https://nodejs.org) - [Docker](https://docs.docker.com/get-docker/) -### Setup - -Clone this repository to your desired folder: - -Example commands: - -```sh - git clone git@github.com:ProjectLibertyLabs/account-service.git - cd account-service -``` - ### Environment Variables Modify any environment variables in the `.env` file as needed. The complete set of environment variables is documented [here](./ENVIRONMENT.md), and a sample environment file is provided [here](./env.template). 1. Copy the template values into the .env files. - ```sh +```sh cp env.template .env - ``` +``` 2. Replace template values with values appropriate to your environment. @@ -257,12 +245,12 @@ In order to run the `account-service` in development mode without containers, yo Run the following command to start the account service api and worker containers. This will start the account service api and worker in development mode. ```sh - docker-compose up -d api worker + docker-compose up -d account-service-api account-service-worker ``` #### 4. Check the job in [BullUI](http://0.0.0.0:3000/queues/), to monitor job progress based on defined tests -## 📋 Testing +## 📋 Testing ### Run the tests @@ -276,7 +264,7 @@ In order to run the `account-service` in development mode without containers, yo ### Swagger UI -Check out the Swagger UI hosted on the app instance at [http://localhost:3000/api/docs/swagger](http://localhost:3000/api/docs/swagger) to view the API documentation and submit requests to the service. +Check out the Swagger UI hosted on the app instance at [http://localhost:3000/api/docs/swagger](http://localhost:3000/docs/swagger) to view the API documentation and submit requests to the service. ### Queue Management @@ -339,7 +327,7 @@ Contributions, issues, and feature requests are welcome! -## ⭐️ Show your support +## ⭐️ Show your support If you would like to explore contributing bug fixes or enhancements, issues with the label `good-first-issue` can be a good place to start. diff --git a/services/account/apps/api/src/build-openapi.ts b/services/account/apps/api/src/build-openapi.ts index a3e98dda..0cd410b1 100644 --- a/services/account/apps/api/src/build-openapi.ts +++ b/services/account/apps/api/src/build-openapi.ts @@ -14,7 +14,7 @@ process.env.FREQUENCY_HTTP_URL = 'http://127.0.0.1'; process.env.PROVIDER_ACCOUNT_SEED_PHRASE = 'offer debate skin describe light badge fish turtle actual inject struggle border'; process.env.PROVIDER_ID = '0'; -process.env.PROVIDER_BASE_URL = 'http://127.0.0.1'; +process.env.WEBHOOK_BASE_URL = 'http://127.0.0.1'; process.env.CAPACITY_LIMIT = '{"type":"amount","value":0}'; // eslint-disable-next-line diff --git a/services/account/apps/api/src/services/api.service.ts b/services/account/apps/api/src/services/api.service.ts index de600443..77fa9251 100644 --- a/services/account/apps/api/src/services/api.service.ts +++ b/services/account/apps/api/src/services/api.service.ts @@ -15,13 +15,4 @@ export class ApiService implements OnApplicationShutdown { this.logger.error(`Error during cleanup on shutdown: ${e}`); } } - - // async watchGraphs(watchGraphsDto: WatchGraphsDto): Promise { - // watchGraphsDto.msaIds.forEach(async (msaId) => { - // const redisKey = `${QueueConstants.REDIS_WATCHER_PREFIX}:${msaId}`; - // const redisValue = watchGraphsDto.webhookEndpoint; - // // eslint-disable-next-line no-await-in-loop - // await this.redis.rpush(redisKey, redisValue); - // }); - // } } diff --git a/services/account/apps/api/test/setup/package-lock.json b/services/account/apps/api/test/setup/package-lock.json index 2cb3ede5..bacc169c 100644 --- a/services/account/apps/api/test/setup/package-lock.json +++ b/services/account/apps/api/test/setup/package-lock.json @@ -9,7 +9,6 @@ "version": "1.0.0", "license": "UNLICENSED", "dependencies": { - "@projectlibertylabs/frequency-scenario-template": "^1.1.4", "@dsnp/frequency-schemas": "^1.1.0", "@frequency-chain/api-augment": "~1.11.1", "@polkadot/api": "^10.13.1", @@ -18,35 +17,13 @@ "@polkadot/util": "^12.6.2", "@polkadot/util-crypto": "^12.6.2", "@polkadot/wasm-crypto": "^7.3.2", + "@projectlibertylabs/frequency-scenario-template": "1.1.6", "loglevel": "^1.9.1" }, "devDependencies": { "tsx": "^4.15.2" } }, - "node_modules/@projectlibertylabs/frequency-scenario-template": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.4.tgz", - "integrity": "sha512-EF9LwMM2WvATUOwWfG6ETpwrvlxImUanuy3A5O/k/IgjFjsBgqW9qNa+z1oGdsKX6FqbcHtc00ijSo+kBClNig==", - "dependencies": { - "@dsnp/frequency-schemas": "^1.1.0", - "@dsnp/graph-sdk": "^1.1.3", - "@frequency-chain/api-augment": "~1.11.1", - "@polkadot/api": "^10.13.1", - "@polkadot/keyring": "^12.6.2", - "@polkadot/types": "^10.13.1", - "@polkadot/types-codec": "^10.13.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", - "@types/minimist": "^1.2.5", - "@types/node": "^20.14.2", - "avsc": "^5.7.7", - "loglevel": "^1.9.1", - "minimist": "^1.2.8", - "rxjs": "^7.8.1", - "unique-names-generator": "^4.7.1" - } - }, "node_modules/@aws-crypto/crc32": { "version": "3.0.0", "license": "Apache-2.0", @@ -1483,6 +1460,30 @@ "node": ">=18" } }, + "node_modules/@projectlibertylabs/frequency-scenario-template": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.6.tgz", + "integrity": "sha512-x7kWPG09WIJhxnzDqV6IXPKduPBMdfkFWBX5rH4skzutk+VUfpFpms7qsuyuvINbipg5JeGoJ8oq6TCJWkFZ8g==", + "license": "Apache-2.0", + "dependencies": { + "@dsnp/frequency-schemas": "^1.1.0", + "@dsnp/graph-sdk": "^1.1.3", + "@frequency-chain/api-augment": "~1.11.1", + "@polkadot/api": "^10.13.1", + "@polkadot/keyring": "^12.6.2", + "@polkadot/types": "^10.13.1", + "@polkadot/types-codec": "^10.13.1", + "@polkadot/util": "^12.6.2", + "@polkadot/util-crypto": "^12.6.2", + "@types/minimist": "^1.2.5", + "@types/node": "^20.14.2", + "avsc": "^5.7.7", + "loglevel": "^1.9.1", + "minimist": "^1.2.8", + "rxjs": "^7.8.1", + "unique-names-generator": "^4.7.1" + } + }, "node_modules/@scure/base": { "version": "1.1.6", "license": "MIT", diff --git a/services/account/apps/api/test/setup/package.json b/services/account/apps/api/test/setup/package.json index 664a7306..9d060519 100644 --- a/services/account/apps/api/test/setup/package.json +++ b/services/account/apps/api/test/setup/package.json @@ -11,7 +11,7 @@ "author": "", "license": "UNLICENSED", "dependencies": { - "@projectlibertylabs/frequency-scenario-template": "^1.1.5", + "@projectlibertylabs/frequency-scenario-template": "1.1.6", "@dsnp/frequency-schemas": "^1.1.0", "@frequency-chain/api-augment": "~1.11.1", "@polkadot/api": "^10.13.1", diff --git a/services/account/apps/worker/src/transaction_notifier/notifier.service.ts b/services/account/apps/worker/src/transaction_notifier/notifier.service.ts index 0345e8ca..9412f9e7 100644 --- a/services/account/apps/worker/src/transaction_notifier/notifier.service.ts +++ b/services/account/apps/worker/src/transaction_notifier/notifier.service.ts @@ -244,6 +244,6 @@ export class TxnNotifierService } async getWebhook(): Promise { - return this.configService.providerBaseUrl.toString(); + return this.configService.webhookBaseUrl.toString(); } } diff --git a/services/account/env.template b/services/account/env.template index 9f160af3..a40030a2 100644 --- a/services/account/env.template +++ b/services/account/env.template @@ -17,8 +17,8 @@ FREQUENCY_HTTP_URL=http://0.0.0.0:9944 PROVIDER_ID=1 # Base URL for provider webhook endpoints -#PROVIDER_BASE_URL=http://localhost:5555/api/v3 -PROVIDER_BASE_URL=http://host.docker.internal:5555/api/v3/webhook +#WEBHOOK_BASE_URL=http://localhost:5555/api/v3 +WEBHOOK_BASE_URL=http://host.docker.internal:3001/webhooks/account-service # Redis URL REDIS_URL=redis://0.0.0.0:6379 @@ -26,10 +26,12 @@ REDIS_URL=redis://0.0.0.0:6379 # How many seconds to delay between successive scans of the chain # for new content (after end of chain is reached) -BLOCKCHAIN_SCAN_INTERVAL_SECONDS=12 +BLOCKCHAIN_SCAN_INTERVAL_SECONDS=3 # Whether to examine blocks that have not been finalized when tracking extrinsic completion -TRUST_UNFINALIZED_BLOCKS=false +# Trusting unfinalized blocks is faster but in the unlikely event of a chain reorganization +# it may result in incorrect data. If set to false, the service will wait for blocks to be finalized +TRUST_UNFINALIZED_BLOCKS=true # An optional bearer token authentication to the provider webhook PROVIDER_ACCESS_TOKEN=some-token @@ -59,7 +61,7 @@ HEALTH_CHECK_SUCCESS_THRESHOLD=10 CAPACITY_LIMIT='{"serviceLimit":{"type":"percentage","value":"80"}}' # URL for the Sign-In With Frequency UI -SIWF_URL=https://projectlibertylabs.github.io/siwf/ui +SIWF_URL=https://ProjectLibertyLabs.github.io/siwf/ui # Domain for the Sign-in with Frequency login payload SIWF_DOMAIN=localhost diff --git a/services/account/libs/common/src/blockchain/blockchain.service.spec.ts b/services/account/libs/common/src/blockchain/blockchain.service.spec.ts index 511a6287..bc61be0f 100644 --- a/services/account/libs/common/src/blockchain/blockchain.service.spec.ts +++ b/services/account/libs/common/src/blockchain/blockchain.service.spec.ts @@ -19,7 +19,7 @@ describe('BlockchainService', () => { const configService = { logger: jest.fn(), nestConfigService: jest.fn(), - providerBaseUrl: jest.fn(), + webhookBaseUrl: jest.fn(), providerApiToken: jest.fn(), getProviderId: jest.fn(), getQueueHighWater: jest.fn(), diff --git a/services/account/libs/common/src/config/config.service.spec.ts b/services/account/libs/common/src/config/config.service.spec.ts index 420bf4db..d7e162f4 100644 --- a/services/account/libs/common/src/config/config.service.spec.ts +++ b/services/account/libs/common/src/config/config.service.spec.ts @@ -42,7 +42,7 @@ describe('AccountServiceConfig', () => { PROVIDER_ID: undefined, SIWF_URL: undefined, SIWF_DOMAIN: undefined, - PROVIDER_BASE_URL: undefined, + WEBHOOK_BASE_URL: undefined, PROVIDER_ACCESS_TOKEN: undefined, WEBHOOK_FAILURE_THRESHOLD: undefined, HEALTH_CHECK_SUCCESS_THRESHOLD: undefined, @@ -183,7 +183,7 @@ describe('AccountServiceConfig', () => { }); it('should get provider base url', () => { - expect(accountServiceConfig.providerBaseUrl?.toString()).toStrictEqual(ALL_ENV.PROVIDER_BASE_URL?.toString()); + expect(accountServiceConfig.webhookBaseUrl?.toString()).toStrictEqual(ALL_ENV.WEBHOOK_BASE_URL?.toString()); }); it('should get provider api token', () => { diff --git a/services/account/libs/common/src/config/config.service.ts b/services/account/libs/common/src/config/config.service.ts index fc9b000c..b1bf4c57 100644 --- a/services/account/libs/common/src/config/config.service.ts +++ b/services/account/libs/common/src/config/config.service.ts @@ -13,7 +13,7 @@ export interface ConfigEnvironmentVariables { PROVIDER_ID: string; SIWF_URL: string; SIWF_DOMAIN: string; - PROVIDER_BASE_URL: string; + WEBHOOK_BASE_URL: string; PROVIDER_ACCESS_TOKEN: string; WEBHOOK_FAILURE_THRESHOLD: number; HEALTH_CHECK_SUCCESS_THRESHOLD: number; @@ -59,8 +59,8 @@ export class ConfigService { return this.nestConfigService.get('TRUST_UNFINALIZED_BLOCKS') ?? false; } - public get providerBaseUrl(): URL { - return this.nestConfigService.get('PROVIDER_BASE_URL')!; + public get webhookBaseUrl(): URL { + return this.nestConfigService.get('WEBHOOK_BASE_URL')!; } public get providerApiToken(): string | undefined { diff --git a/services/account/libs/common/src/config/env.config.ts b/services/account/libs/common/src/config/env.config.ts index 1c2557f9..6b4de3a0 100644 --- a/services/account/libs/common/src/config/env.config.ts +++ b/services/account/libs/common/src/config/env.config.ts @@ -48,7 +48,7 @@ export const configModuleOptions: ConfigModuleOptions = { } return value; }), - PROVIDER_BASE_URL: Joi.string().uri().required(), + WEBHOOK_BASE_URL: Joi.string().uri().required(), PROVIDER_ACCESS_TOKEN: Joi.string().default(''), WEBHOOK_FAILURE_THRESHOLD: Joi.number().min(1).default(3), WEBHOOK_RETRY_INTERVAL_SECONDS: Joi.number().min(1).default(10), diff --git a/services/account/libs/common/src/services/provider-webhook.service.ts b/services/account/libs/common/src/services/provider-webhook.service.ts index b37a587c..6c0befd9 100644 --- a/services/account/libs/common/src/services/provider-webhook.service.ts +++ b/services/account/libs/common/src/services/provider-webhook.service.ts @@ -34,7 +34,7 @@ export class ProviderWebhookService implements OnModuleDestroy { ) { this.logger = new Logger(this.constructor.name); this.webhook = axios.create({ - baseURL: this.configService.providerBaseUrl.toString(), + baseURL: this.configService.webhookBaseUrl.toString(), }); this.webhook.defaults.headers.common.Authorization = this.configService.providerApiToken; @@ -61,7 +61,7 @@ export class ProviderWebhookService implements OnModuleDestroy { if (this.failedHealthChecks > 0) { if (this.failedHealthChecks >= this.configService.healthCheckMaxRetries) { this.logger.error( - `FATAL ERROR: Failed to connect to provider webhook at '${this.configService.providerBaseUrl}' after ${this.failedHealthChecks} attempts.`, + `FATAL ERROR: Failed to connect to provider webhook at '${this.configService.webhookBaseUrl}' after ${this.failedHealthChecks} attempts.`, ); this.eventEmitter.emit('shutdown'); return; diff --git a/services/account/package-lock.json b/services/account/package-lock.json index 17957437..5ff72ebc 100644 --- a/services/account/package-lock.json +++ b/services/account/package-lock.json @@ -43,7 +43,7 @@ "time-constants": "^1.0.3" }, "devDependencies": { - "@projectlibertylabs/frequency-scenario-template": "^1.1.5", + "@projectlibertylabs/frequency-scenario-template": "^1.1.6", "@projectlibertylabs/prettier-config": "file:../../packages/prettier-config", "@projectlibertylabs/ts-config": "file:../../packages/ts-config", "@types/jest": "^29.5.12", @@ -3821,10 +3821,11 @@ } }, "node_modules/@projectlibertylabs/frequency-scenario-template": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.5.tgz", - "integrity": "sha512-gH5OQoDzeu+QF5geTziD1aeFtVSAE99yvQZfnneDB1IpHPlbEpSMgiy2IfxsqbsxQU7Rw3cCpGj1chFx7j0ujg==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.6.tgz", + "integrity": "sha512-x7kWPG09WIJhxnzDqV6IXPKduPBMdfkFWBX5rH4skzutk+VUfpFpms7qsuyuvINbipg5JeGoJ8oq6TCJWkFZ8g==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@dsnp/frequency-schemas": "^1.1.0", "@dsnp/graph-sdk": "^1.1.3", diff --git a/services/account/package.json b/services/account/package.json index 2bc7a9a9..cfc02ea3 100644 --- a/services/account/package.json +++ b/services/account/package.json @@ -78,7 +78,7 @@ "time-constants": "^1.0.3" }, "devDependencies": { - "@projectlibertylabs/frequency-scenario-template": "^1.1.5", + "@projectlibertylabs/frequency-scenario-template": "^1.1.6", "@projectlibertylabs/prettier-config": "file:../../packages/prettier-config", "@projectlibertylabs/ts-config": "file:../../packages/ts-config", "@types/jest": "^29.5.12", diff --git a/services/account/scripts/docker-clean-up.sh b/services/account/scripts/docker-clean-up.sh index 3cb66eca..72690827 100755 --- a/services/account/scripts/docker-clean-up.sh +++ b/services/account/scripts/docker-clean-up.sh @@ -2,12 +2,13 @@ # Stop and remove containers, networks echo "Stopping and removing containers, networks..." -docker compose down +docker compose down frequency redis account-service-api account-service-worker # Remove specified volumes echo "Removing specified volumes..." -docker volume rm account-service_redis_data -docker volume rm account-service_chainstorage +docker volume rm gateway_redis_data +docker volume rm gateway_chainstorage +docker volume rm gateway_account_node_cache # Remove account-service images echo "Removing account-service image..." diff --git a/services/account/scripts/restart-chain-docker.sh b/services/account/scripts/restart-chain-docker.sh index 44bb8268..f8fc00c9 100755 --- a/services/account/scripts/restart-chain-docker.sh +++ b/services/account/scripts/restart-chain-docker.sh @@ -22,8 +22,8 @@ echo "Running make setup to provision Provider with capacity, etc..." make setup # Start all services in detached mode -echo "Starting all services..." -docker compose up -d +echo "Starting account-service, api and worker apps..." +docker compose up -d account-service-api account-service-worker # Start the mock web server echo "Please run 'make mock-webhook' in a separate terminal..."