version: "3" services: myorg-controller: build: context: ../issuer_controller dockerfile: Dockerfile environment: LEDGER_URL: ${LEDGER_URL} APPLICATION_URL: ${APPLICATION_URL:-http://localhost:5000} ENDPOINT_URL: ${ENDPOINT_URL:-http://localhost:5000} CONFIG_ROOT: ./config HOST_PORT: ${CONTROLLER_PORT} ENVIRONMENT: ${ENVIRONMENT:-default} ENABLE_GUNICORN: ${ENABLE_GUNICORN:-0} INDY_LEDGER_URL: ${LEDGER_URL:-http://localhost:9000} FORMS: ${FORMS} ISSUERS: ${ISSUERS} LOG_LEVEL: ${LOG_LEVEL} PYTHON_ENV: ${PYTHON_ENV:-development} TOB_API_URL: ${TOB_API_URL} TOB_APP_URL: ${TOB_APP_URL} WALLET_TYPE: ${WALLET_TYPE} POSTGRESQL_WALLET_HOST: ${POSTGRESQL_WALLET_HOST} POSTGRESQL_WALLET_PORT: ${POSTGRESQL_WALLET_PORT} POSTGRESQL_WALLET_USER: ${POSTGRESQL_USER} POSTGRESQL_WALLET_PASSWORD: ${POSTGRESQL_PASSWORD} POSTGRESQL_WALLET_ADMIN_PASSWORD: ${POSTGRESQL_ADMIN_PASSWORD} WALLET_ENCRYPTION_KEY: ${WALLET_ENCRYPTION_KEY} WALLET_SEED_VONX: ${WALLET_SEED_VONX} ISSUER_WALLET_DID: ${ISSUER_WALLET_DID} HTTP_FORCE_CLOSE_CONNECTIONS: "true" AGENT_ADMIN_URL: http://myorg-agent:${AGENT_ADMIN_PORT} AGENT_ADMIN_API_KEY: ${AGENT_ADMIN_API_KEY} WEBHOOK_PORT: ${WEBHOOK_PORT} TOB_CONNECTION_NAME: ${TOB_CONNECTION_NAME} TOB_AGENT_ADMIN_URL: ${TOB_AGENT_ADMIN_URL} TOB_ADMIN_API_KEY: ${TOB_ADMIN_API_KEY} TRACE_EVENTS: ${TRACE_EVENTS} TRACE_TARGET: ${TRACE_TARGET} TRACE_MSG_PCT: ${TRACE_MSG_PCT} ACK_ERROR_PCT: ${ACK_ERROR_PCT} networks: - myorg ports: - ${EXPOSED_CONTROLLER_PORT}:${CONTROLLER_PORT} depends_on: - myorg-agent entrypoint: > /bin/bash -c " echo sleeping ...; sleep 15; ./docker-entrypoint.sh;" volumes: - ../issuer_controller/app:/home/indy/app:Z - ../issuer_controller/test:/home/indy/test:Z myorg-agent: image: vcr-agent environment: - LEDGER_URL=${LEDGER_URL} - WALLET_TYPE=${WALLET_TYPE} - POSTGRESQL_WALLET_HOST=${POSTGRESQL_WALLET_HOST} - POSTGRESQL_WALLET_PORT=${POSTGRESQL_WALLET_PORT} - POSTGRESQL_WALLET_USER=${POSTGRESQL_USER} - POSTGRESQL_WALLET_PASSWORD=${POSTGRESQL_PASSWORD} - POSTGRESQL_WALLET_ADMIN_PASSWORD=${POSTGRESQL_ADMIN_PASSWORD} - WALLET_ENCRYPTION_KEY=${WALLET_ENCRYPTION_KEY} - WALLET_SEED_VONX=${WALLET_SEED_VONX} - ISSUER_WALLET_DID=${ISSUER_WALLET_DID} - WEBHOOK_URL=${WEBHOOK_HOST}/api/agentcb - AGENT_HTTP_IN_PORT=${AGENT_HTTP_IN_PORT} - AGENT_WS_IN_PORT=${AGENT_WS_IN_PORT} - AGENT_ADMIN_PORT=${AGENT_ADMIN_PORT} - AGENT_NAME=${AGENT_NAME} networks: - orgbook - myorg ports: - ${AGENT_HTTP_IN_PORT}:${AGENT_HTTP_IN_PORT} - ${AGENT_WS_IN_PORT}:${AGENT_WS_IN_PORT} - ${AGENT_ADMIN_PORT}:${AGENT_ADMIN_PORT} depends_on: - myorg-wallet-db entrypoint: /bin/bash command: [ "-c", "curl -d '{\"seed\":\"${WALLET_SEED_VONX}\", \"role\":\"TRUST_ANCHOR\", \"alias\":\"${AGENT_NAME}\"}' -X POST ${LEDGER_URL}/register; \ sleep 5; \ aca-py start \ --inbound-transport http '0.0.0.0' ${AGENT_HTTP_IN_PORT} \ --inbound-transport ws '0.0.0.0' ${AGENT_WS_IN_PORT} \ --endpoint ${AGENT_ENDPOINT} \ --outbound-transport ws \ --outbound-transport http \ --genesis-url '${LEDGER_URL}/genesis' \ --auto-accept-invites \ --auto-accept-requests \ --auto-ping-connection \ --auto-respond-messages \ --auto-respond-credential-offer \ --auto-respond-presentation-request \ --auto-respond-credential-request \ --auto-verify-presentation \ --auto-accept-invites \ --auto-accept-requests \ --wallet-type 'indy' \ --wallet-name 'icat_agent_wallet' \ --wallet-key '${WALLET_ENCRYPTION_KEY}' \ --wallet-storage-type '${WALLET_TYPE}' \ --wallet-storage-config '{\"url\":\"${POSTGRESQL_WALLET_HOST}:${POSTGRESQL_WALLET_PORT}\",\"max_connections\":5}' \ --wallet-storage-creds '{\"account\":\"${POSTGRESQL_USER}\",\"password\":\"${POSTGRESQL_PASSWORD}\",\"admin_account\":\"postgres\",\"admin_password\":\"${POSTGRESQL_ADMIN_PASSWORD}\"}' \ --seed '${WALLET_SEED_VONX}' \ --admin '0.0.0.0' ${AGENT_ADMIN_PORT} \ --${AGENT_ADMIN_MODE} \ --label ${AGENT_NAME} \ --plugin indy_catalyst_issuer_registration", ] myorg-wallet-db: image: registry.access.redhat.com/rhscl/postgresql-95-rhel7:9.5 environment: - POSTGRESQL_USER=${POSTGRESQL_USER} - POSTGRESQL_PASSWORD=${POSTGRESQL_PASSWORD} - POSTGRESQL_DATABASE=${POSTGRESQL_DATABASE} - POSTGRESQL_ADMIN_PASSWORD=${POSTGRESQL_ADMIN_PASSWORD} networks: - myorg ports: - 5435:5432 volumes: - myorg-wallet-db:/var/lib/pgsql/data volumes: myorg-wallet-db: networks: myorg: orgbook: external: name: vcr_vcr