- Docker installed
- Tyk Control Plane (Tyk Cloud or Self-Managed with MDCB) set up and running
- MDCB connection credentials from your control plane:
- Connection String (MDCB endpoint)
- Organization ID
- Dashboard User API Key
- Group ID
cd docker/hybrid
# Copy example env file
cp .env.example .env
# Edit .env file (optional - mainly for version pinning)- Login to Tyk Cloud Console
- Navigate to Deployments > Select your Control Plane
- Save the configuration:
- Connection String (e.g.,
xxx.cloud-ara.tyk.io:443) - Organization ID
- API Key
- Group ID
- Connection String (e.g.,
- Login to your Tyk Dashboard
- Get your Organization ID from Dashboard settings
- Create a Dashboard user and get their API Key
- Use your MDCB endpoint as the connection string
- Choose a Group ID to identify this data plane cluster
Edit confs/tyk.env and set the required MDCB credentials:
# REQUIRED: Set these values from your control plane
TYK_GW_SLAVEOPTIONS_CONNECTIONSTRING=your-mdcb.cloud-ara.tyk.io:443
TYK_GW_SLAVEOPTIONS_RPCKEY=your-org-id
TYK_GW_SLAVEOPTIONS_APIKEY=your-dashboard-api-key
TYK_GW_SLAVEOPTIONS_GROUPID=your-group-idEdit confs/pump.env with the same credentials:
# REQUIRED: Set these values (same as gateway)
TYK_PMP_PUMPS_HYBRID_META_CONNECTIONSTRING=your-mdcb.cloud-ara.tyk.io:443
TYK_PMP_PUMPS_HYBRID_META_APIKEY=your-dashboard-api-key# Start all services
docker-compose up -d
# Verify services are running
docker-compose psExpected containers:
tyk-gateway- Running (port 8080)tyk-pump- Runningtyk-redis- Running (port 6379)
Wait for health checks to pass (~30 seconds):
# Watch container status
docker-compose ps
# Check logs if needed
docker-compose logs -f# Check Gateway logs for successful MDCB connection
docker-compose logs tyk-gateway
# Test Gateway health
curl http://localhost:8080/helloVerify in Control Plane Dashboard:
For Tyk Cloud:
- Navigate to Tyk Cloud Console
- Go to Deployments > Click on your Control Plane
- Your hybrid data plane should appear under Hybrid data planes
For Self-Managed:
- Navigate to your Tyk Dashboard
- Go to System Management > Gateway Nodes
- Your data plane gateway should appear with the configured Group ID
APIs are managed from the control plane. Create an API in your Dashboard:
- Login to your Dashboard (Tyk Cloud or Self-Managed)
- Navigate to APIs > Add New API
- Configure API details (e.g., httpbingo.org proxy)
- Important: Ensure the API is assigned to the correct segment/group if using API segmentation
- Save and publish
Test through your hybrid gateway:
# Replace with your API listen path
curl http://localhost:8080/your-api-path/get| Service | URL | Description |
|---|---|---|
| Gateway | http://localhost:8080 |
Hybrid API Gateway |
| Redis | localhost:6379 |
Local cache/session storage |
Control Plane (managed separately):
- Dashboard UI and API management are on your Tyk Cloud or Self-Managed control plane
| File | Purpose |
|---|---|
.env |
Component versions |
confs/tyk.env |
Gateway configuration (MDCB) |
confs/pump.env |
Pump configuration (hybrid pump) |
Note for AWS Fargate and similar platforms: These env files serve as a reference for required environment variables. For Fargate/ECS deployments, configure these variables directly in your Task Definitions and use AWS Secrets Manager for sensitive values.
Gateway (confs/tyk.env):
| Variable | Description |
|---|---|
TYK_GW_SLAVEOPTIONS_CONNECTIONSTRING |
MDCB endpoint (e.g., xxx.cloud-ara.tyk.io:443) |
TYK_GW_SLAVEOPTIONS_RPCKEY |
Organization ID |
TYK_GW_SLAVEOPTIONS_APIKEY |
Dashboard User API Key |
TYK_GW_SLAVEOPTIONS_GROUPID |
Data plane cluster identifier |
Pump (confs/pump.env):
| Variable | Description |
|---|---|
TYK_PMP_PUMPS_HYBRID_META_CONNECTIONSTRING |
MDCB endpoint (same as gateway) |
TYK_PMP_PUMPS_HYBRID_META_APIKEY |
Dashboard User API Key |
Sensitive values in config files:
- TYK_GW_SECRET - Gateway API secret (should match control plane)
- TYK_GW_SLAVEOPTIONS_APIKEY - Dashboard API key for MDCB auth
- TYK_PMP_PUMPS_HYBRID_META_APIKEY - Same API key for pump
Symptom: Gateway logs show connection errors or APIs don't load
# Check Gateway logs for connection errors
docker-compose logs tyk-gateway
# Common issues:
# 1. Incorrect MDCB connection string
# 2. Invalid API credentials (org ID, API key)
# 3. Network/firewall blocking outbound connection to MDCB
# 4. SSL certificate issuesSymptom: Gateway returns 404 for APIs that exist in Dashboard
- Verify API is published in the control plane Dashboard
- Check API segmentation - if using Group IDs, ensure API is assigned to this data plane's group
- Check Gateway logs for sync errors:
docker-compose logs tyk-gateway- Check the env files under
confs/and apply the PROD recommendations noted in comments
# Stop all services
docker-compose down
# Stop and remove volumes (DELETES ALL DATA)
docker-compose down -v
# Full cleanup including networks
docker-compose down -v --remove-orphans
docker network prune -fUpdate versions in .env:
GATEWAY_VERSION=v5.14.0
PUMP_VERSION=v1.16.0