Back to Apps
Sourcegraph

Deploy Sourcegraph on Your Own Server

Sourcegraph is a free, self-hosted code search and intelligence server that helps developers find, review, understand, and debug code

🛠️ Developer Tools

Want to deploy Sourcegraph on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Sourcegraph?

Sourcegraph is a code search and navigation tool (open-source/self-hosted). More information about this container can be found here: https://hub.docker.com/r/sourcegraph/server/ . After installation on Senate, it will be available as <service_name> at port 7080 to other Senate apps. Enter your Sourcegraph Configuration parameters and click on next. It will take about a minute for the process to finish.

Self-Host Sourcegraph

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  sourcegraph:
    image: sourcegraph/server:3.2.2
    volumes:
      - sourcegraph-config:/etc/sourcegraph
      - sourcegraph-data:/var/opt/sourcegraph
volumes:
  sourcegraph-config: {}
  sourcegraph-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:7080

Why Self-Host Sourcegraph?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

sourcegraph/server:${container_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"