Deployment Overview
Sourcegraph is a powerful code intelligence platform that can be deployed in various ways to suit your organization's needs. This guide will help you understand the available deployment options and choose the best one for your use case.
Deployment types
Carefully consider your organization's needs and technical expertise when selecting a Sourcegraph deployment method. Each option has different capabilities, resource requirements, and levels of technical expertise needed. Changing deployment methods in the future requires a complete redeployment and database migration.
Sourcegraph's recommended deployment methods are, in order:
- Sourcegraph Cloud - This provides a fully managed solution where Sourcegraph handles all of the maintence, monitoring, and upgrading tasks to give you an optimal Sourcegraph experience while immediately getting the latest features into your users' hands. This solution does require your code hosts to be connected to the Sourcegraph managed environment.
- Kubernetes Helm - Sourcegraph's Kubernetes deployment provides the most robust, scalable, and vetted self-hosted solution. This solution is ideal across many self-hosted customers capable of deploying a multi-node instance, and can be supported by all mainstream managed Kubernetes platforms.
- Docker Compose - Docker Compose provides the preferred single-node deployment solution for Sourcegraph. It can be a good option when the complexities and flexibility provided by Kubernetes Helm are not needed.
- Kubernetes Kustomize - Helm is Sourcegraph's more standardized and vetted approach to deploying with Kubernetes, but if Kustomize is your preferred deployment method it is a viable and supported approach.
- Machine Images - Sourcegraph can be deployed using dedicated Machine Images for specific Cloud providers. This can be a simple solution in specific circumstances, though has its own considerations. If you are considering this path, please discuss with your account team.
Sourcegraph Cloud
Best for a wide range of customers open to a Sourcegraph managed Sourcegraph Cloud solution. Sourcegraph Cloud is hosted and maintained by Sourcegraph.
Kubernetes
Multi-node, self hosted solution great for large enterprises and/or other orgs looking for the recommended, robust, and scalable deployment method
- Helm (Preferred) utilizes pre-packaged charts for templating Sourcegraph deployments
- Kustomize utilizes built-in features of kubectl for configuring Sourcegraph deployments
Docker Compose
Single-node, self hosted solution for enterprises looking for a simpler, non-Kubernetes solution. Docker Compose can support Sourcegraph at a large range of scales, though this deployment solution tends to be less flexible and robust in comparison to our Kubernetes solution.
Machine Images
Best for enterprises looking for a self-hosted solution on the Cloud provider of their choice.
Customized machine images allow you to spin up a preconfigured Sourcegraph instance with just a few clicks, all in less than 10 minutes. Currently available in the following hosts:
See Sourcegraph Machine Images for more information.
On-premises
For setting up quick non-production environments on-premises.
- Docker Single Container - Install Sourcegraph using a single Docker container
ARM / ARM64 support
Running Sourcegraph on ARM / ARM64 images is not supported for production deployments at this time.