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 quick walkthrough video to learn 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:
Create example config
touch config.json
echo '{
    "$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
    "connections": {
        // comments are supported 
        "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:
Start the Sourcebot container
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
4

Complete onboarding

Navigate to http://localhost:3000 and complete the onboarding flow.
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