An error occurred while loading the file. Please try again.
-
Darshan M N authored7bb90598
version: '3.8'
services:
keycloak-casa-db:
image: postgres
ports:
- 5432:5432
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: keycloak
volumes:
- data:/var/lib/postgresql/data
casa-user-data-service:
build:
context: https://github.com/UPHRH-platform/casa-user-data-service.git#main
image: casa-user-data-service
ports:
- 3000:3000
keycloak-casa:
image: keycloak-casa
build: ./keycloak-casa
depends_on:
- keycloak-casa-db
- casa-user-data-service
ports:
- 8080:8080
environment:
KC_DB_URL: jdbc:postgresql://keycloak-casa-db:5432/keycloak
KC_DB_USERNAME: postgres
KC_DB_PASSWORD: postgres
KC_HOSTNAME: locahost
KC_DB: postgres
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
command:
- "start-dev"
lr-service:
image: lr-service
build:
context: https://github.com/UPHRH-platform/lr-service.git#main
ports:
- 5000:5000
# env_file:
# -
es:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- ELASTIC_PASSWORD=${ELASTIC_SEARCH_PASSWORD}
- xpack.security.enabled=${ELASTIC_SECURITY_ENABLED-false}
ports:
- "9200:9200"
- "9300:9300"
healthcheck:
test: [ "CMD", "curl", "-f", "localhost:9200/_cluster/health", "--header", "Authorization: Basic ZWxhc3RpYzpEa0llZFBQU0Ni" ]
interval: 30s
timeout: 10s
retries: 4
db:
image: postgres
volumes:
- ./${DB_DIR-db-data}:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
- POSTGRES_DB=registry
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
interval: 10s
timeout: 5s
retries: 5
registry:
image: dockerhub/sunbird-rc-core:${RELEASE_VERSION}
volumes:
- ${PWD}/${SCHEMA_DIR-java/registry/src/main/resources/public/_schemas}:/home/sunbirdrc/config/public/_schemas
environment:
- connectionInfo_uri=jdbc:postgresql://db:5432/registry
- connectionInfo_username=postgres
- connectionInfo_password=postgres
- elastic_search_connection_url=es:9200
- elastic_search_auth_enabled=${ELASTIC_SECURITY_ENABLED-false}
- elastic_search_username=${ELASTIC_SEARCH_USERNAME-elastic}
- elastic_search_password=${ELASTIC_SEARCH_PASSWORD}
- search_providerName=${SEARCH_PROVIDER_NAME-dev.sunbirdrc.registry.service.ElasticSearchService}
- sunbird_sso_realm=${KEYCLOAK_REALM-sunbird-rc}
- sunbird_sso_url=http://keycloak:8080/auth
- sunbird_sso_admin_client_id=${KEYCLOAK_ADMIN_CLIENT_ID-admin-api}
- sunbird_sso_client_id=${KEYCLOAK_CLIENT_ID-registry-frontend}
- sunbird_sso_admin_client_secret=fd11a771-810b-4b9d-bbb5-c690ada67253
- claims_url=http://claim-ms:8082
- sign_url=http://certificate-signer:8079/sign
- sign_health_check_url=http://certificate-signer:8079/health
- signature_enabled=true
- pdf_url=http://certificate-api:8078/api/v1/certificatePDF
- certificate_health_check_url=http://certificate-api:8078/health
- template_base_url=http://registry:8081/api/v1/templates/ #Looks for certificate templates for pdf copy of the signed certificate
- sunbird_keycloak_user_set_password=true
- filestorage_connection_url=http://file-storage:9000
- filestorage_access_key=admin
- filestorage_secret_key=12345678
- filestorage_bucket_key=issuance
- registry_base_apis_enable=false
- sunbird_keycloak_user_password=abcd@123
- logging.level.root=INFO
- enable_external_templates=true
- async_enabled=${ASYNC_ENABLED-false}
- authentication_enabled=true
- kafka_bootstrap_address=kafka:9092
- webhook_enabled=false
- webhook_url=http://localhost:5001/api/v1/callback
- redis_host=redis
- redis_port=6379
- manager_type=${MANAGER_TYPE-DefinitionsManager}
ports:
- "8081:8081"
depends_on:
es:
condition: service_healthy
db:
condition: service_healthy
healthcheck:
test: [ "CMD-SHELL", "wget -nv -t1 --spider http://localhost:8081/health || exit 1" ]
interval: 30s
timeout: 10s
retries: 4
keycloak:
image: dockerhub/sunbird-rc-keycloak:latest
volumes:
- ${PWD}/${KEYCLOAK_IMPORT_DIR-imports}:/opt/jboss/keycloak/imports
environment:
- KEYCLOAK_LOGO=https://svgshare.com/i/hCs.svg
- DB_VENDOR=postgres
- DB_ADDR=db
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
- DB_PORT=5432
- DB_DATABASE=registry
- DB_USER=postgres
- DB_PASSWORD=postgres
- KEYCLOAK_USER=${KEYCLOAK_ADMIN_USER-admin}
- KEYCLOAK_PASSWORD=${KEYCLOAK_ADMIN_PASSWORD-admin}
- KEYCLOAK_IMPORT=/opt/jboss/keycloak/imports/realm-export.json
- PROXY_ADDRESS_FORWARDING=true
healthcheck:
test:
["CMD-SHELL", "curl -f http://localhost:9990/ || exit 1"]
interval: 30s
timeout: 10s
retries: 5
ports:
- "8080:8080"
- "9990:9990"
depends_on:
db:
condition: service_healthy
claim-ms:
image: dockerhub/sunbird-rc-claim-ms:${RELEASE_VERSION}
environment:
- connectionInfo_uri=jdbc:postgresql://db:5432/registry
- connectionInfo_username=postgres
- connectionInfo_password=postgres
- sunbirdrc_url=http://registry:8081
ports:
- "8082:8082"
depends_on:
db:
condition: service_started
registry:
condition: service_started
healthcheck:
test: [ "CMD-SHELL", "wget -nv -t1 --spider http://localhost:8082/health || exit 1" ]
interval: 30s
timeout: 10s
retries: 4
certificate-signer:
image: dockerhub/sunbird-rc-certificate-signer:${RELEASE_VERSION}
environment:
- PORT=8079
ports:
- "8079:8079"
volumes:
- ./imports:/etc/signer
healthcheck:
test:
[ "CMD-SHELL", "curl -f http://localhost:8079/health || exit 1" ]
interval: 30s
timeout: 10s
retries: 5
certificate-api:
image: dockerhub/sunbird-rc-certificate-api:${RELEASE_VERSION}
environment:
- PORT=8078
ports:
- "8078:8078"
healthcheck:
test:
[ "CMD-SHELL", "wget -nv -t1 --spider http://localhost:8078/health || exit 1" ]
interval: 30s
timeout: 10s
retries: 5
file-storage:
image: quay.io/minio/minio
volumes:
- ${HOME}/minio/data:/data
environment:
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
- MINIO_ROOT_USER=admin
- MINIO_ROOT_PASSWORD=12345678
command: server --address 0.0.0.0:9000 --console-address 0.0.0.0:9001 /data
ports:
- "9000:9000"
- "9001:9001"
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
interval: 30s
timeout: 20s
retries: 3
notification-ms:
image: dockerhub/sunbird-rc-notification-service:${RELEASE_VERSION}
ports:
- "8765:8765"
healthcheck:
test:
[ "CMD-SHELL", "wget -nv -t1 --spider http://localhost:8765/notification-service/v1/health || exit 1" ]
interval: 30s
timeout: 10s
retries: 5
zookeeper:
image: confluentinc/cp-zookeeper:latest
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: "2181"
ZOOKEEPER_TICK_TIME: "2000"
kafka:
image: confluentinc/cp-kafka:latest
depends_on:
zookeeper:
condition: service_started
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: "1"
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka:9092,OUTSIDE://localhost:9094"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,OUTSIDE:PLAINTEXT"
KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: "1"
healthcheck:
test:
[ "CMD", "kafka-topics", "--list", "--zookeeper", "zookeeper:2181" ]
interval: 30s
timeout: 10s
retries: 4
public-key-service:
image: dockerhub/sunbird-rc-public-key-service
environment:
- CONFIG_BASE_PATH=/etc/keys
ports:
- "3300:3300"
healthcheck:
test: [ "CMD", "curl", "-f", "localhost:3300/public-key-service/api/v1/health" ]
interval: 30s
timeout: 10s
retries: 4
volumes:
- ./imports:/etc/keys
context-proxy-service:
image: dockerhub/sunbird-rc-context-proxy-service
ports:
- "4400:4400"
healthcheck:
test: [ "CMD", "curl", "-f", "localhost:4400/health" ]
interval: 30s
timeout: 10s
retries: 4
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
nginx:
image: dockerhub/sunbird-rc-nginx
ports:
- "80:80"
depends_on:
registry:
condition: service_healthy
context-proxy-service:
condition: service_started
public-key-service:
condition: service_started
keycloak:
condition: service_started
claim-ms:
condition: service_started
file-storage:
condition: service_started
healthcheck:
test: [ "CMD", "curl", "-f", "localhost:80" ]
interval: 30s
timeout: 10s
retries: 4
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
data: