Quickstart for setting up the local environment
This is the quickstart guide for developing Sourcegraph.
At Sourcegraph we use
sg, the Sourcegraph developer tool, to manage our local development environment.
sg, run the following in your terminal:
curl --proto '=https' --tlsv1.2 -sSLf https://install.sg.dev | sh
sg documentation for more information or ask in the
#dev-experience Slack channel.
Open a terminal and run the following command:
Follow the printed instructions.
They will guide you through the installation of all the necessary dependencies to start the local development environment.
Starting the databases
If you chose to run PostgreSQL and Redis without Docker (recommended) they should already be running. You can jump the next section.
If you chose to run Redis and PostgreSQL with Docker to then we need to run them:
sg run redis-postgres
Keep this process running in a terminal window to keep the databases running. Follow the rest of the instructions in another terminal.
Start the server
If you are a Sourcegraph employee: start the local development server for Sourcegraph Enterprise with the following command:
If you are not a Sourcegraph employee and don’t have access to the
dev-private repository: you want to start Sourcegraph OSS, do this:
sg start oss
This will continuously compile your code and live reload your locally running instance of Sourcegraph.
Navigate your browser to https://sourcegraph.test:3443 to see if everything worked.
Congratulations on making it to the end of the quickstart guide!
Running the server in different configurations
If you want to run the server in different configurations (with the monitoring stack, with code insights enabled, Sourcegraph OSS, …), run the following:
sg start -help
That prints a list of possible configurations which you can start with
For example, you can start Sourcegraph in the mode it uses on Sourcegraph.com by running the following in one terminal window
sg start dotcom
and then, in another terminal window, start the monitoring stack:
sg start monitoring
Here are some additional resources to help you go further: