| title | Self-Hosting the Apollo Router |
|---|---|
| subtitle | How to deploy the router on your own infrastructure |
| description | Distribute operations efficiently across microservices in your federated GraphQL API with the Apollo GraphOS Router or Apollo Router Core. Configure caching, security features, and more. |
A self-hosted GraphOS Router or Apollo Router Core enables you to fully manage the runtime infrastructure and deployments of your supergraph.
flowchart LR;
clients(Clients);
subgraph "Your infrastructure";
router(["<b>Router</b>"]);
serviceB[Products<br/>API];
serviceC[Reviews<br/>API];
router -->|Sub-query| serviceB & serviceC;
end;
clients -.->|Query| router;
class clients secondary;
For each version of the Apollo Router, Apollo provides:
Helm is a package manager for Kubernetes. Apollo provides a Helm chart with each release of Apollo Router in the GitHub Container Registry. Since router v0.14.0, Apollo has released each router Helm chart as an Open Container Initiative (OCI) image in oci://ghcr.io/apollographql/helm-charts/router.
Follow our Kubernetes quickstart to deploy the router with a Helm chart.
Apollo provides Docker images for each release of Apollo Router. The images are available via GitHub, downloadable from the ghcr.io/apollographql/router and the router repository. Both debug and production images are provided.
For more information on deploying using your container environment:
- Docker
- AWS using Elastic Container Service (ECS)
- Azure using Azure Container App
- GCP using Google Cloud Run
Running the Apollo Router directly from its binary speeds up local development and enables embedded use cases where containers are unavailable.
Follow the quickstart to run a router binary.