Skip to content

Commit 2c2c6f2

Browse files
authored
fix: auto start platform services with docker-compose (#1043)
* fix: auto start platform services with docker-compose Signed-off-by: Krishna Waske <[email protected]> * chore: remove additional / Signed-off-by: Krishna Waske <[email protected]> --------- Signed-off-by: Krishna Waske <[email protected]>
1 parent c87d8a1 commit 2c2c6f2

File tree

5 files changed

+178
-12
lines changed

5 files changed

+178
-12
lines changed

.env.demo

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
API_GATEWAY_PROTOCOL=http
2+
API_GATEWAY_HOST=0.0.0.0
3+
API_GATEWAY_PORT=5000
4+
API_GATEWAY_PROTOCOL_SECURE=http
5+
API_ENDPOINT=your-ip:5000
6+
7+
FRONT_END_URL=http://localhost:3001
8+
9+
MOBILE_APP=ADEYA
10+
MOBILE_APP_NAME=ADEYA SSI App
11+
MOBILE_APP_DOWNLOAD_URL='https://blockster.global/products/adeya'
12+
PLAY_STORE_DOWNLOAD_LINK=https://play.google.com/store/apps/details?id=id.credebl.adeya&pli=1
13+
IOS_DOWNLOAD_LINK=https://apps.apple.com/in/app/adeya-ssi-wallet/id6463845498
14+
15+
PLATFORM_NAME=CREDEBL
16+
POWERED_BY=Blockster Labs Pvt. Ltd.
17+
PLATFORM_WEB_URL=https://credebl.id/
18+
POWERED_BY_URL=https://blockster.global
19+
UPLOAD_LOGO_HOST=devapi.credebl.id
20+
BRAND_LOGO=https://credebl.id/images/CREDEBL_LOGO.png
21+
22+
23+
SOCKET_HOST=ws://your-ip:5000
24+
25+
NATS_HOST=your-ip
26+
NATS_PORT=4222
27+
NATS_URL=nats://your-ip:4222
28+
29+
REDIS_HOST=your-ip
30+
REDIS_PORT=6379
31+
32+
SENDGRID_API_KEY=
33+
34+
WALLET_STORAGE_HOST=your-ip
35+
WALLET_STORAGE_PORT=5432
36+
WALLET_STORAGE_USER='postgres'
37+
WALLET_STORAGE_PASSWORD='postgres'
38+
39+
CRYPTO_PRIVATE_KEY=dzIvVU5uMa0R3sYwdjEEuT4id17mPpjr
40+
PLATFORM_URL=https://devapi.credebl.id
41+
PLATFORM_PROFILE_MODE=DEV
42+
43+
PUBLIC_LOCALHOST_URL=http://localhost:5000
44+
PUBLIC_DEV_API_URL=https://devapi.credebl.id
45+
PUBLIC_QA_API_URL=https://qa-api.credebl.id
46+
PUBLIC_PRODUCTION_API_URL=https://api.credebl.id
47+
PUBLIC_SANDBOX_API_URL=https://sandboxapi.credebl.id
48+
49+
50+
AFJ_VERSION=credo-0.5.3:latest
51+
52+
PLATFORM_WALLET_NAME=platform-admin
53+
PLATFORM_WALLET_PASSWORD='U2FsdGVkX19l6w/PpuicnGBYThBHolzF27oN0JwfWkc='
54+
PLATFORM_SEED=000000000000000000000000Steward1
55+
PLATFORM_ID=1
56+
57+
# The format for below is as follows: postgresql://{postgres.user}:{postgres.password}@{your-ip}:{postgres.port}/{database-name}
58+
POOL_DATABASE_URL="postgresql://postgres:postgres@your-ip:5432/credebl"
59+
DATABASE_URL="postgresql://postgres:postgres@your-ip:5432/credebl"
60+
61+
# Used for Bulk issuance of credential
62+
# Optional (Can be skipped if Bulk issuance is not used)
63+
AWS_ACCESS_KEY=
64+
AWS_SECRET_KEY=
65+
AWS_REGION=
66+
AWS_BUCKET=
67+
68+
# Used for Adding org-logo during org creation and update
69+
# Optional (Can be skipped if no image is added during org creation and updation)
70+
AWS_PUBLIC_ACCESS_KEY=
71+
AWS_PUBLIC_SECRET_KEY=
72+
AWS_PUBLIC_REGION=
73+
AWS_ORG_LOGO_BUCKET_NAME=
74+
75+
# Used for storing connection URL generated from Agent and creating shortened URL
76+
# Required (As connecting to org requires Shortened url)
77+
AWS_S3_STOREOBJECT_ACCESS_KEY=
78+
AWS_S3_STOREOBJECT_SECRET_KEY=
79+
AWS_S3_STOREOBJECT_REGION=
80+
AWS_S3_STOREOBJECT_BUCKET=
81+
82+
# Please refere AWS to determine your bucket url
83+
# https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access
84+
SHORTENED_URL_DOMAIN='https://AWS_S3_STOREOBJECT_REGION.amazonaws.com/AWS_S3_STOREOBJECT_BUCKET'
85+
DEEPLINK_DOMAIN='https://link.credebl.id?url='
86+
87+
ENABLE_CORS_IP_LIST=http://localhost:3000, http://localhost:3001, http://localhost:5000,http://localhost:8085,https://verify.credebl.id,https://verifyed.credebl.id,https://verify-api.credebl.id,https://qa.credebl.id,https://dev.credebl.id,https://credebl.id
88+
89+
USER_NKEY_SEED=SUAILBO6CYQF4RPIZYCVCFRIOMJ7BW33PFZDFEZKOHV65MN3W37FFJA3JY
90+
API_GATEWAY_NKEY_SEED=SUAI7SDZAHS24I7JWOB77BK6EFE3ZS3NCF5FW22PMWCXGE56OBPYHK5734
91+
ORGANIZATION_NKEY_SEED=SUABORS4UFEV2OAWNEXB7JA76XNOF7A6YJAFOGRZTWOEGCXER36P2NP7JQ
92+
AGENT_PROVISIONING_NKEY_SEED=SUAIUEPEC5D4KMTLK45UOPZ45JQ5QUMMIIJY2UT37RMQE6GENBTJTT2MSQ
93+
AGENT_SERVICE_NKEY_SEED=SUABOFFEQNQY7YR4BIZDJENJ5T24CCDYOYTVHBKQLEWTZUTPTL3EQ3IZ3U
94+
VERIFICATION_NKEY_SEED=SUAOTKYQMN6RGVWLZII22A4EFURAT65H4PGU3G5QXKM427HZ3JKIQZ7KU4
95+
LEDGER_NKEY_SEED=SUABKZWIZCMUROUKCSHL774UOLKFQZR2UPQXII5FCGXHF25GFQX2XLIPLI
96+
ISSUANCE_NKEY_SEED=SUAG7GEESSHO2ZF4J2IUKB6QPF4ENTLO7MLXZSSF67MEETTFZWFGJNDYVU
97+
CONNECTION_NKEY_SEED=SUALLWKCDN2KBB4YTZUNUUFP7ZNSI4PBXVK7X5FPNX6LQ3DCHFGYX4JPLQ
98+
ECOSYSTEM_NKEY_SEED=SUAGUAGZZLT2LYEA3SRWFXCJL32MXR5GCBAZNYJLLIUH4O76GDEGQAYM74
99+
CREDENTAILDEFINITION_NKEY_SEED=SUAAYNLVKEP2E4JPCJ7OYSQ6OFCDBQ3GCTOPARBXBNP64JFESDWH7N3FQA
100+
SCHEMA_NKEY_SEED=SUAESXIRPE4PBJR26T44XPPIAONQ3YJTN45VSTRNZUW77GAF5RBP3SEBFA
101+
UTILITIES_NKEY_SEED=SUAHLF3PYEGNN3J2LZHHT6LOQ4GQ2CPGATEO66XRXLCEE6QYSM26TKCNUM
102+
CLOUD_WALLET_NKEY_SEED=SUAJ3VT7IFZXVE7SSTX3JFE6F2U6DYDROW6VTCCGFVVB6D7O6C7OWJWTPM
103+
GEOLOCATION_NKEY_SEED=SUAA3YQLMQPKEK224OVFGENQ3VRYD57LNPJFMGDULOO57CUYOQLAA7KBJU
104+
NOTIFICATION_NKEY_SEED=SUAF5V6RN6HHOLBJX6UV7443PBNT7NSAJ6YCUOW7LTZQ77PXXAMH25AHPI
105+
106+
KEYCLOAK_DOMAIN=http://localhost:8080/
107+
KEYCLOAK_ADMIN_URL=http://localhost:8080
108+
KEYCLOAK_MASTER_REALM=master
109+
KEYCLOAK_MANAGEMENT_CLIENT_ID=adminClient
110+
KEYCLOAK_MANAGEMENT_CLIENT_SECRET=
111+
KEYCLOAK_REALM=credebl-platform
112+
113+
SCHEMA_FILE_SERVER_URL='https://schema.credebl.id/schemas/'
114+
SCHEMA_FILE_SERVER_TOKEN=
115+
116+
GEO_LOCATION_MASTER_DATA_IMPORT_SCRIPT=/prisma/scripts/geo_location_data_import.sh
117+
UPDATE_CLIENT_CREDENTIAL_SCRIPT=/prisma/scripts/update_client_credential_data.sh
118+
# Note: the below 3 variables are only in case of starting services using docker
119+
AFJ_AGENT_TOKEN_PATH=/agent-provisioning/AFJ/token/
120+
AFJ_AGENT_SPIN_UP=/agent-provisioning/AFJ/scripts/docker_start_agent.sh
121+
AFJ_AGENT_ENDPOINT_PATH=/agent-provisioning/AFJ/endpoints/
122+
# Uncomment bellow three lines and comment the above to start services locally without using docker, using pnpm
123+
# AFJ_AGENT_TOKEN_PATH=/apps/agent-provisioning/AFJ/token/
124+
# AFJ_AGENT_SPIN_UP=/apps/agent-provisioning/AFJ/scripts/docker_start_agent.sh
125+
# AFJ_AGENT_ENDPOINT_PATH=/apps/agent-provisioning/AFJ/endpoints/
126+
127+
AGENT_PROTOCOL=http
128+
OOB_BATCH_SIZE=10
129+
MAX_ORG_LIMIT=10
130+
FIDO_API_ENDPOINT=http://localhost:8000

agent.env

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,24 @@ IDLE_TIMEOUT=30000
55
SESSION_ACQUIRE_TIMEOUT=2147483647
66
SESSION_LIMIT=2147483647
77
INMEMORY_LRU_CACHE_LIMIT=2147483647
8+
windowMs=1000
9+
maxRateLimit=800
810
BCOVRIN_REGISTER_URL=http://test.bcovrin.vonx.io/register
911
INDICIO_NYM_URL=https://selfserve.indiciotech.io/nym
10-
# Contract address for Polygon amoy (testnet)
11-
SCHEMA_MANAGER_CONTRACT_ADDRESS=0x4742d43C2dFCa5a1d4238240Afa8547Daf87Ee7a
12-
DID_CONTRACT_ADDRESS=0xcB80F37eDD2bE3570c6C9D5B0888614E04E1e49E
13-
RPC_URL=https://rpc-amoy.polygon.technology
12+
13+
# Contract address for Polygon (mainnet)
14+
SCHEMA_MANAGER_CONTRACT_ADDRESS=0x4B16719E73949a62E9A7306F352ec73F1B143c27
15+
DID_CONTRACT_ADDRESS=0x0C16958c4246271622201101C83B9F0Fc7180d15
16+
RPC_URL=https://polygon-rpc.com
17+
# Contract address for Polygon (testnet)
18+
# SCHEMA_MANAGER_CONTRACT_ADDRESS=0x4742d43C2dFCa5a1d4238240Afa8547Daf87Ee7a
19+
# DID_CONTRACT_ADDRESS=0xcB80F37eDD2bE3570c6C9D5B0888614E04E1e49E
20+
# RPC_URL=https://rpc-amoy.polygon.technology
21+
1422
# Add url and token from your file server
1523
SERVER_URL=https://schema.credebl.id
1624
FILE_SERVER_TOKEN=
17-
windowMs=1000
18-
maxRateLimit=800
25+
1926
BCOVRIN_TEST_GENESIS='{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node1","blskey":"4N8aUNHSgjQVgkpm8nhNEfDf6txHznoYREg9kirmJrkivgL4oSEimFF6nsQ6M41QvhM2Z33nves5vfSn9n1UwNFJBYtWVnHYMATn76vLuL3zU88KyeAYcHfsih3He6UHcXDxcaecHVz6jhCYz1P2UZn2bDVruL5wXpehgBfBaLKm3Ba","blskey_pop":"RahHYiCvoNCtPTrVtP7nMC5eTYrsUA8WjXbdhNc8debh1agE9bGiJxWBXYNFbnJXoXhWFMvyqhqhRoq737YQemH5ik9oL7R4NTTCz2LEZhkgLJzB3QRQqJyBNyv7acbdHrAT8nQ9UkLbaVL9NBpnWXBTw4LEMePaSHEw66RzPNdAX1","client_ip":"138.197.138.255","client_port":9702,"node_ip":"138.197.138.255","node_port":9701,"services":["VALIDATOR"]},"dest":"Gw6pDLhcBcoQesN72qfotTgFa7cbuqZpkX3Xo6pLhPhv"},"metadata":{"from":"Th7MpTaRZVRYnPiabds81Y"},"type":"0"},"txnMetadata":{"seqNo":1,"txnId":"fea82e10e894419fe2bea7d96296a6d46f50f93f9eeda954ec461b2ed2950b62"},"ver":"1"}
2027
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node2","blskey":"37rAPpXVoxzKhz7d9gkUe52XuXryuLXoM6P6LbWDB7LSbG62Lsb33sfG7zqS8TK1MXwuCHj1FKNzVpsnafmqLG1vXN88rt38mNFs9TENzm4QHdBzsvCuoBnPH7rpYYDo9DZNJePaDvRvqJKByCabubJz3XXKbEeshzpz4Ma5QYpJqjk","blskey_pop":"Qr658mWZ2YC8JXGXwMDQTzuZCWF7NK9EwxphGmcBvCh6ybUuLxbG65nsX4JvD4SPNtkJ2w9ug1yLTj6fgmuDg41TgECXjLCij3RMsV8CwewBVgVN67wsA45DFWvqvLtu4rjNnE9JbdFTc1Z4WCPA3Xan44K1HoHAq9EVeaRYs8zoF5","client_ip":"138.197.138.255","client_port":9704,"node_ip":"138.197.138.255","node_port":9703,"services":["VALIDATOR"]},"dest":"8ECVSk179mjsjKRLWiQtssMLgp6EPhWXtaYyStWPSGAb"},"metadata":{"from":"EbP4aYNeTHL6q385GuVpRV"},"type":"0"},"txnMetadata":{"seqNo":2,"txnId":"1ac8aece2a18ced660fef8694b61aac3af08ba875ce3026a160acbc3a3af35fc"},"ver":"1"}
2128
{"reqSignature":{},"txn":{"data":{"data":{"alias":"Node3","blskey":"3WFpdbg7C5cnLYZwFZevJqhubkFALBfCBBok15GdrKMUhUjGsk3jV6QKj6MZgEubF7oqCafxNdkm7eswgA4sdKTRc82tLGzZBd6vNqU8dupzup6uYUf32KTHTPQbuUM8Yk4QFXjEf2Usu2TJcNkdgpyeUSX42u5LqdDDpNSWUK5deC5","blskey_pop":"QwDeb2CkNSx6r8QC8vGQK3GRv7Yndn84TGNijX8YXHPiagXajyfTjoR87rXUu4G4QLk2cF8NNyqWiYMus1623dELWwx57rLCFqGh7N4ZRbGDRP4fnVcaKg1BcUxQ866Ven4gw8y4N56S5HzxXNBZtLYmhGHvDtk6PFkFwCvxYrNYjh","client_ip":"138.197.138.255","client_port":9706,"node_ip":"138.197.138.255","node_port":9705,"services":["VALIDATOR"]},"dest":"DKVxG2fXXTU8yT5N7hGEbXB3dfdAnYv1JczDUHpmDxya"},"metadata":{"from":"4cU41vWW82ArfxJxHkzXPG"},"type":"0"},"txnMetadata":{"seqNo":3,"txnId":"7e9f355dffa78ed24668f0e0e369fd8c224076571c51e2ea8be5f26479edebe4"},"ver":"1"}
@@ -168,4 +175,4 @@ SOVRIN_STAGING_NET='{"reqSignature":{},"txn":{"data":{"data":{"alias":"australia
168175
{"reqSignature":{"type":"ED25519","values":[{"from":"6feBTywcmJUriqqnGc1zSJ","value":"5VB9ELm2QkWug8s29obUiSxq5tWi588wnYX5nXJEmm5ewoVR5NSTHQcg9q2nm1rcy2aesVsB77e5LLWpae7uqjkb"}]},"txn":{"data":{"data":{"alias":"singapore","services":[]},"dest":"Dh99uW8jSNRBiRQ4JEMpGmJYvzmF35E6ibnmAAf7tbk8"},"metadata":{"digest":"0fb35dbf7589f7acfa487aa1eed473299d1405ed2c656b50b15175e5487f4aa9","from":"6feBTywcmJUriqqnGc1zSJ","payloadDigest":"0359d686d0935df89d4b8fbad5b7264104f2eef898a93cc388e67188d71980e4","reqId":1558034282845794593},"protocolVersion":2,"type":"0"},"txnMetadata":{"seqNo":132,"txnTime":1558034283},"ver":"1"}
169176
{"reqSignature":{"type":"ED25519","values":[{"from":"6feBTywcmJUriqqnGc1zSJ","value":"2wMAYGVoSt3ZtU3CzcvhzMAQ2EFhZvPwBsGKqpNmWvKVWbFeyC6yMZxHCVdtj2fqfj36FJkvPKkh3gwmvvrt6eeW"}]},"txn":{"data":{"data":{"alias":"virginia","services":[]},"dest":"EoGRm7eRADtHJRThMCrBXMUM2FpPRML19tNxDAG8YTP8"},"metadata":{"digest":"4ee79b267e7a5aa9ca96ee667f75dadfafdf1238c2841d2d5fa28accf542331c","from":"6feBTywcmJUriqqnGc1zSJ","payloadDigest":"1b4afb24a5d19cf90eb41bb9c265610a6922c6e0aa59386dc3af2016988f4dc6","reqId":1558034311268528084},"protocolVersion":2,"type":"0"},"txnMetadata":{"seqNo":133,"txnTime":1558034311},"ver":"1"}
170177
{"reqSignature":{"type":"ED25519","values":[{"from":"6feBTywcmJUriqqnGc1zSJ","value":"3QyhWLE53fg8wsNRFJijV6QKax2deCAzhUa1g152KYJ7exk1iqv6mLsHtY5KXNiXLg1a8vxQiFj8Hp8iRb7CXrCA"}]},"txn":{"data":{"data":{"alias":"RFCU","services":[]},"dest":"2B8bkZX3SvcBq3amP7aeATsSPz82RyyCJQbEjZpLgZLh"},"metadata":{"digest":"58c132bc0b8c96fb7628e8b7af9a9086ff2b2c894091090f88eb328ee945fe28","from":"6feBTywcmJUriqqnGc1zSJ","payloadDigest":"64b6882e3cbf71154369d91f9da431d069b465116dada6ba685928cd11c7b9e3","reqId":1558034435821210238},"protocolVersion":2,"type":"0"},"txnMetadata":{"seqNo":134,"txnTime":1558034436},"ver":"1"}
171-
'
178+
'

apps/agent-provisioning/AFJ/scripts/docker_start_agent.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ cat <<EOF >${CONFIG_FILE}
143143
"$PROTOCOL"
144144
],
145145
"webhookUrl": "$WEBHOOK_HOST/wh/$AGENCY",
146-
"adminPort": "$ADMIN_PORT",
146+
"adminPort": $ADMIN_PORT,
147147
"tenancy": $TENANT
148148
}
149149
EOF
@@ -170,6 +170,8 @@ services:
170170
environment:
171171
AFJ_REST_LOG_LEVEL: 1
172172
ROOT_PATH: ${ROOT_PATH}
173+
env_file:
174+
- /app/agent.env
173175
ports:
174176
- ${INBOUND_PORT}:${INBOUND_PORT}
175177
- ${ADMIN_PORT}:${ADMIN_PORT}
@@ -194,7 +196,7 @@ if [ $? -eq 0 ]; then
194196
echo "container-name::::::${CONTAINER_NAME}"
195197
echo "file-name::::::$FILE_NAME"
196198

197-
docker compose -f $FILE_NAME up -d
199+
docker-compose -f $FILE_NAME up -d
198200
if [ $? -eq 0 ]; then
199201

200202
n=0
@@ -223,7 +225,7 @@ if [ $? -eq 0 ]; then
223225
container_logs=$(docker logs $(docker ps -q --filter "name=${AGENCY}_${CONTAINER_NAME}"))
224226

225227
# Extract the token from the logs using sed
226-
token=$(echo "$container_logs" | sed -nE 's/.*API Toekn: ([^ ]+).*/\1/p')
228+
token=$(echo "$container_logs" | sed -nE 's/.*API Token: ([^ ]+).*/\1/p')
227229

228230
# Print the extracted token
229231
echo "Token: $token"

apps/agent-provisioning/AFJ/scripts/start_agent.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ if [ $? -eq 0 ]; then
209209

210210
docker rm -f "${PROJECT_NAME}" || true
211211

212-
docker compose -f $FILE_NAME --project-name "${PROJECT_NAME}" up -d
212+
docker-compose -f $FILE_NAME --project-name "${PROJECT_NAME}" up -d
213213
if [ $? -eq 0 ]; then
214214

215215
n=0

docker-compose.yml

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,20 @@ services:
3939
dockerfile: Dockerfiles/Dockerfile.user
4040
env_file:
4141
- ./.env
42+
utility:
43+
depends_on:
44+
- nats # Use depends_on instead of needs
45+
- api-gateway
46+
build:
47+
context: ./ # Adjust the context path as needed
48+
dockerfile: Dockerfiles/Dockerfile.utility
49+
env_file:
50+
- ./.env
4251
connection:
4352
depends_on:
4453
- nats # Use depends_on instead of needs
4554
- api-gateway
55+
- utility
4656
- user
4757
build:
4858
context: ./ # Adjust the context path as needed
@@ -122,6 +132,7 @@ services:
122132
- $PWD/apps/agent-provisioning/AFJ/agent-config:/app/agent-provisioning/AFJ/agent-config
123133
- /var/run/docker.sock:/var/run/docker.sock
124134
- /app/agent-provisioning/AFJ/token:/app/agent-provisioning/AFJ/token
135+
- $PWD/agent.env:/app/agent.env
125136
agent-service:
126137
depends_on:
127138
- nats # Use depends_on instead of needs
@@ -143,7 +154,23 @@ services:
143154
- /var/run/docker.sock:/var/run/docker.sock
144155
volumes_from:
145156
- agent-provisioning
146-
157+
cloud-wallet:
158+
depends_on:
159+
- nats
160+
- api-gateway
161+
- user
162+
- connection
163+
- issuance
164+
- ledger
165+
- organization
166+
- verification
167+
- agent-provisioning
168+
- agent-service
169+
build:
170+
context: ./ # Adjust the context path as needed
171+
dockerfile: Dockerfiles/Dockerfile.cloud-wallet
172+
env_file:
173+
- ./.env
147174

148175

149176

0 commit comments

Comments
 (0)