From a2586d6c644fa6ac845512f47b202ba54370419e Mon Sep 17 00:00:00 2001 From: tushar5526 <codingid6@gmail.com> Date: Tue, 17 Jan 2023 10:13:08 +0530 Subject: [PATCH] feat: added lr-service and registry-casa in compose --- docker-compose.yml | 275 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 272 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7007b5d..5ff1e0c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: '3.7' +version: '3.8' services: keycloak-casa-db: image: postgres @@ -9,7 +9,7 @@ services: POSTGRES_PASSWORD: postgres POSTGRES_DB: keycloak volumes: - - db:/var/lib/postgresql/data + - data:/var/lib/postgresql/data casa-user-data-service: build: @@ -37,6 +37,275 @@ services: command: - "start-dev" -volumes: + 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: + - 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 + - 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: + - 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 + 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: -- GitLab