The following guide will walk you through the steps to deploy Sourcebot on your own infrastructure. Sourcebot is distributed as a single docker container that can be deployed to a k8s cluster, a VM, or any platform that supports docker.

Walkthrough video


Watch this 1:51 minute video to get a quick overview of how to deploy Sourcebot using Docker.

Step-by-step guide


Hit an issue? Please let us know on GitHub discussions or by emailing us.
1

Requirements

2

Create a config.json

Create a config.json file that tells Sourcebot which repositories to sync and index:

touch config.json
echo '{
    "$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
    "connections": {
        // 
        "starter-connection": {
            "type": "github",
            "repos": [
                "sourcebot-dev/sourcebot"
            ]
        }
    }
}' > config.json

This config creates a single GitHub connection named starter-connection that specifies Sourcebot as a repo to sync. Learn more about the config file.

3

Launch your instance

If you’re deploying Sourcebot behind a domain, you must set the AUTH_URL environment variable.

In the same directory as config.json, run the following command to start your instance:

docker run \
    -p 3000:3000 \
    --pull=always \
    --rm \
    -v $(pwd):/data \
    -e CONFIG_PATH=/data/config.json \
    --name sourcebot \
    ghcr.io/sourcebot-dev/sourcebot:latest

Navigate to localhost:3000 to start searching the Sourcebot repo.

4

Login

Navigate to http://localhost:3000 and create an account. The first account which is registered on a fresh Sourcebot deployment is given the owner role.

By default, only email / password authentication is enabled. Learn more about authentication.

5

Done

You’re all set! You can now start searching - checkout the syntax guide to learn more about how to search.

Next steps