version: '3.9' services: tyk-dashboard: build: context: . dockerfile: ./tyk-dashboard/Dockerfile container_name: tyk-dashboard environment: - TYK_DB_LICENSEKEY=${TYK_LICENSE_KEY} - TYK_DB_LISTENPORT=${DASHBOARD_PORT} - TYK_DB_TYKAPI_HOST=${GATEWAY_PROTOCOL}://${GATEWAY_HOST} - TYK_DB_TYKAPI_PORT=${GATEWAY_PORT} - TYK_DB_HOSTCONFIG_HOSTNAME=${GATEWAY_HOST} - TYK_DB_HOSTCONFIG_GATEWAYHOSTNAME=${GATEWAY_HOSTNAME}:${GATEWAY_PORT} - TYK_DB_REDISHOST=${REDIS_HOST} - TYK_DB_REDISPORT=${REDIS_PORT} - TYK_DB_REDISUSESSL=${REDIS_USE_SSL} - TYK_DB_STORAGE_MAIN_TYPE=mongo - TYK_DB_STORAGE_MAIN_CONNECTIONSTRING=mongodb://${MONGO_HOST}:${MONGO_PORT}/tyk_analytics - ORG=${ORG} - SLUG=${SLUG} - EMAIL=${EMAIL} - FIRST=${FIRST} - LAST=${LAST} - PASSWORD=${PASSWORD} env_file: - ./confs/tyk_analytics.env ports: - "${DASHBOARD_MACHINE_PORT}:${DASHBOARD_PORT}" networks: - tyk tyk-gateway: image: tykio/tyk-gateway:v4.0.0-rc18 container_name: tyk-gateway environment: - TYK_GW_LISTENPORT=${GATEWAY_PORT} - TYK_GW_POLICIES_POLICYCONNECTIONSTRING=${DASHBOARD_PROTOCOL}://${DASHBOARD_HOST}:${DASHBOARD_PORT} - TYK_GW_DBAPPCONFOPTIONS_CONNECTIONSTRING=${DASHBOARD_PROTOCOL}://${DASHBOARD_HOST}:${DASHBOARD_PORT} - TYK_GW_STORAGE_HOST=${REDIS_HOST} - TYK_GW_STORAGE_PORT=${REDIS_PORT} - TYK_GW_STORAGE_ENABLECLUSTER=false - TYK_GW_STORAGE_USESSL=${REDIS_USE_SSL} env_file: - ./confs/tyk.env ports: - "${GATEWAY_MACHINE_PORT}:${GATEWAY_PORT}" networks: - tyk tyk-pump: image: tykio/tyk-pump-docker-pub:v1.5.1-rc3 container_name: tyk-pump environment: - TYK_PMP_ANALYTICSSTORAGECONFIG_HOST=${REDIS_HOST} - TYK_PMP_ANALYTICSSTORAGECONFIG_PORT=${REDIS_PORT} - TYK_PMP_ANALYTICSSTORAGECONFIG_REDISUSESSL=${REDIS_USE_SSL} - TYK_PMP_PUMPS_MONGO_META_MONGOURL=mongodb://${MONGO_HOST}:${MONGO_PORT}/tyk_analytics - TYK_PMP_PUMPS_MONGOAGG_META_MONGOURL=mongodb://${MONGO_HOST}:${MONGO_PORT}/tyk_analytics - TYK_PMP_UPTIMEPUMPCONFIG_MONGOURL=mongodb://${MONGO_HOST}:${MONGO_PORT}/tyk_analytics env_file: - ./confs/pump.env networks: - tyk tyk-redis: image: redis container_name: tyk-redis ports: - "${REDIS_MACHINE_PORT}:${REDIS_PORT}" volumes: - redis-data:/data networks: - tyk tyk-mongo: image: mongo:3.2 container_name: tyk-mongo command: ["mongod", "--smallfiles"] ports: - "${MONGO_MACHINE_PORT}:${MONGO_PORT}" volumes: - mongo-data:/data/db networks: - tyk networks: tyk: volumes: redis-data: mongo-data: