--- title: "Deployment guide" --- import SupportedPlatforms from '/snippets/platform-support.mdx' The following guide will walk you through the steps to deploy Sourcebot on your own infrastructure. Sourcebot is distributed as a [single docker container](/docs/overview#architecture) that can be deployed to a k8s cluster, a VM, or any platform that supports docker. Hit an issue? Please let us know on [GitHub](https://github.com/sourcebot-dev/sourcebot/issues/new/choose) or by [emailing us](mailto:team@sourcebot.dev). - Docker -> use [Docker Desktop](https://www.docker.com/products/docker-desktop/) on Mac or Windows. Create a `config.json` file that tells Sourcebot which repositories to sync and index: ```bash wrap icon="terminal" 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](https://github.com/sourcebot-dev/sourcebot) as a repo to sync. [Learn more about the config file](/docs/configuration/config-file). If you're deploying Sourcebot behind a domain, you must set the [AUTH_URL](/docs/configuration/environment-variables) environment variable. In the same directory as `config.json`, run the following command to start your instance: ``` bash icon="terminal" 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 ``` **This command**: - pulls the latest version of the `sourcebot` docker image. - mounts the working directory to `/data` in the container to allow Sourcebot to persist data across restarts, and to access the `config.json`. In your local directory, you should see a `.sourcebot` folder created that contains all persistent data. - runs any pending database migrations. - starts up all services, including the webserver exposed on port 3000. - reads `config.json` and starts syncing. Navigate to `http://localhost:3000` and complete the onboarding flow. You're all set! If you'd like to setup [Ask Sourcebot](/docs/features/ask/overview), configure a language model [provider](/docs/configuration/language-model-providers). ## Next steps --- Learn how to index your code using Sourcebot Learn how to configure language model providers to start using [Ask Sourcebot](/docs/features/ask/overview) Learn more about how to setup SSO, email codes, and other authentication providers.