Using external services with Sourcegraph

Sourcegraph by default provides versions of services it needs to operate, including:

  • A PostgreSQL instance for storing long-term information, such as user information when using Sourcegraph's built-in authentication provider instead of an external one.
  • A second PostgreSQL instance for storing large-volume precise code intelligence data.
  • A Redis instance for storing short-term information such as user sessions.
  • A second Redis instance for storing cache data.
  • A MinIO instance that serves as a local S3-compatible object storage to hold user uploads before they can be processed. This data is for temporary storage and content will be automatically deleted once processed.
  • A Jaeger instance for end-to-end distributed tracing.

Your Sourcegraph instance can be configured to use an external or managed version of these services. Using a managed version of PostgreSQL can make backups and recovery easier to manage and perform. Using a managed object storage service may decrease your hosting costs as persistent volumes are often more expensive than object storage space.

See the following guides to use an external or managed version of each service type.

Cloud alternatives