mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-11 20:05:25 +00:00
feat(deployment): Basic docker-compose file (#480)
This commit is contained in:
parent
dd5cf61977
commit
825cef9da4
13 changed files with 160 additions and 120 deletions
|
|
@ -240,6 +240,8 @@ RUN mkdir -p /run/postgresql && \
|
||||||
|
|
||||||
# Make app directory accessible to both root and sourcebot user
|
# Make app directory accessible to both root and sourcebot user
|
||||||
RUN chown -R sourcebot:sourcebot /app
|
RUN chown -R sourcebot:sourcebot /app
|
||||||
|
# Make data directory accessible to both root and sourcebot user
|
||||||
|
RUN chown -R sourcebot:sourcebot /data
|
||||||
|
|
||||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||||
COPY prefix-output.sh ./prefix-output.sh
|
COPY prefix-output.sh ./prefix-output.sh
|
||||||
|
|
|
||||||
37
README.md
37
README.md
|
|
@ -72,15 +72,22 @@ https://github.com/user-attachments/assets/31ec0669-707d-4e03-b511-1bc33d44197a
|
||||||
|
|
||||||
# Deploy Sourcebot
|
# Deploy Sourcebot
|
||||||
|
|
||||||
Sourcebot can be deployed in seconds using our official docker image. Visit our [docs](https://docs.sourcebot.dev/docs/deployment-guide) for more information.
|
Sourcebot can be deployed in seconds using Docker Compose. Visit our [docs](https://docs.sourcebot.dev/docs/deployment/docker-compose) for more information.
|
||||||
|
|
||||||
1. Create a config
|
1. Download the docker-compose.yml file
|
||||||
|
```sh
|
||||||
|
curl -o docker-compose.yml https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
2. In the same directory as the `docker-compose.yml` file, create a [configuration file](https://docs.sourcebot.dev/docs/configuration/config-file). The configuration file is a JSON file that configures Sourcebot's behaviour, including what repositories to index, language model providers, auth providers, and more.
|
||||||
```sh
|
```sh
|
||||||
touch config.json
|
touch config.json
|
||||||
echo '{
|
echo '{
|
||||||
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
|
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
|
||||||
|
// Comments are supported.
|
||||||
|
// This config creates a single connection to GitHub.com that
|
||||||
|
// indexes the Sourcebot repository
|
||||||
"connections": {
|
"connections": {
|
||||||
// Comments are supported
|
|
||||||
"starter-connection": {
|
"starter-connection": {
|
||||||
"type": "github",
|
"type": "github",
|
||||||
"repos": [
|
"repos": [
|
||||||
|
|
@ -91,30 +98,12 @@ echo '{
|
||||||
}' > config.json
|
}' > config.json
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Run the docker container
|
3. Update the secrets in the `docker-compose.yml` and then run Sourcebot using:
|
||||||
```sh
|
```sh
|
||||||
docker run \
|
docker compose up
|
||||||
-p 3000:3000 \
|
|
||||||
--pull=always \
|
|
||||||
--rm \
|
|
||||||
-v $(pwd):/data \
|
|
||||||
-e CONFIG_PATH=/data/config.json \
|
|
||||||
--name sourcebot \
|
|
||||||
ghcr.io/sourcebot-dev/sourcebot:latest
|
|
||||||
```
|
```
|
||||||
<details>
|
|
||||||
<summary>What does this command do?</summary>
|
|
||||||
|
|
||||||
- Pull and run the Sourcebot docker image from [ghcr.io/sourcebot-dev/sourcebot:latest](https://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot).
|
4. Visit `http://localhost:3000` to start using Sourcebot
|
||||||
- Mount the current directory (`-v $(pwd):/data`) to allow Sourcebot to persist the `.sourcebot` cache.
|
|
||||||
- Clones sourcebot at `HEAD` into `.sourcebot/github/sourcebot-dev/sourcebot`.
|
|
||||||
- Indexes sourcebot into a .zoekt index file in `.sourcebot/index/`.
|
|
||||||
- Map port 3000 between your machine and the docker image.
|
|
||||||
- Starts the web server on port 3000.
|
|
||||||
</details>
|
|
||||||
</br>
|
|
||||||
|
|
||||||
3. Visit `http://localhost:3000` to start using Sourcebot
|
|
||||||
</br>
|
</br>
|
||||||
|
|
||||||
To configure Sourcebot (index your own repos, connect your LLMs, etc), check out our [docs](https://docs.sourcebot.dev/docs/configuration/config-file).
|
To configure Sourcebot (index your own repos, connect your LLMs, etc), check out our [docs](https://docs.sourcebot.dev/docs/configuration/config-file).
|
||||||
|
|
|
||||||
66
docker-compose.yml
Normal file
66
docker-compose.yml
Normal file
|
|
@ -0,0 +1,66 @@
|
||||||
|
services:
|
||||||
|
sourcebot:
|
||||||
|
image: ghcr.io/sourcebot-dev/sourcebot:latest
|
||||||
|
user: sourcebot
|
||||||
|
restart: always
|
||||||
|
container_name: sourcebot
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
redis:
|
||||||
|
condition: service_healthy
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
volumes:
|
||||||
|
- ./config.json:/data/config.json
|
||||||
|
- sourcebot_data:/data
|
||||||
|
environment:
|
||||||
|
- CONFIG_PATH=/data/config.json
|
||||||
|
- AUTH_URL=${AUTH_URL:-http://localhost:3000}
|
||||||
|
- AUTH_SECRET=${AUTH_SECRET:-000000000000000000000000000000000} # CHANGEME: generate via `openssl rand -base64 33`
|
||||||
|
- SOURCEBOT_ENCRYPTION_KEY=${SOURCEBOT_ENCRYPTION_KEY:-000000000000000000000000000000000} # CHANGEME: generate via `openssl rand -base64 24`
|
||||||
|
- DATABASE_URL=${DATABASE_URL:-postgresql://postgres:postgres@postgres:5432/postgres} # CHANGEME
|
||||||
|
- REDIS_URL=${REDIS_URL:-redis://redis:6379} # CHANGEME
|
||||||
|
- SOURCEBOT_EE_LICENSE_KEY=${SOURCEBOT_EE_LICENSE_KEY:-}
|
||||||
|
- SOURCEBOT_TELEMETRY_DISABLED=${SOURCEBOT_TELEMETRY_DISABLED:-false}
|
||||||
|
|
||||||
|
# For the full list of environment variables see:
|
||||||
|
# https://docs.sourcebot.dev/docs/configuration/environment-variables
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: docker.io/postgres:${POSTGRES_VERSION:-latest}
|
||||||
|
restart: always
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||||||
|
interval: 3s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 10
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres # CHANGEME
|
||||||
|
POSTGRES_DB: postgres
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:5432:5432
|
||||||
|
volumes:
|
||||||
|
- sourcebot_postgres_data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: docker.io/redis:${REDIS_VERSION:-latest}
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 127.0.0.1:6379:6379
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "redis-cli", "ping"]
|
||||||
|
interval: 3s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 10
|
||||||
|
volumes:
|
||||||
|
- sourcebot_redis_data:/data
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sourcebot_data:
|
||||||
|
driver: local
|
||||||
|
sourcebot_postgres_data:
|
||||||
|
driver: local
|
||||||
|
sourcebot_redis_data:
|
||||||
|
driver: local
|
||||||
|
|
@ -21,7 +21,13 @@
|
||||||
"group": "Getting Started",
|
"group": "Getting Started",
|
||||||
"pages": [
|
"pages": [
|
||||||
"docs/overview",
|
"docs/overview",
|
||||||
"docs/deployment-guide"
|
{
|
||||||
|
"group": "Deployment",
|
||||||
|
"pages": [
|
||||||
|
"docs/deployment/docker-compose",
|
||||||
|
"docs/deployment/k8s"
|
||||||
|
]
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ title: Environment variables
|
||||||
sidebarTitle: Environment variables
|
sidebarTitle: Environment variables
|
||||||
---
|
---
|
||||||
|
|
||||||
<Note>This page provides a detailed reference of all environment variables supported by Sourcebot. If you're just looking to get up and running, we recommend starting with the [deployment guide](/docs/deployment-guide) instead.</Note>
|
<Note>This page provides a detailed reference of all environment variables supported by Sourcebot. If you're just looking to get up and running, we recommend starting with the [deployment guides](/docs/deployment/docker-compose) instead.</Note>
|
||||||
|
|
||||||
### Core Environment Variables
|
### Core Environment Variables
|
||||||
The following environment variables allow you to configure your Sourcebot deployment.
|
The following environment variables allow you to configure your Sourcebot deployment.
|
||||||
|
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
---
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
<Note>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).</Note>
|
|
||||||
|
|
||||||
<Steps>
|
|
||||||
<Step title="Requirements">
|
|
||||||
- Docker -> use [Docker Desktop](https://www.docker.com/products/docker-desktop/) on Mac or Windows.
|
|
||||||
</Step>
|
|
||||||
<Step title="Create a config.json">
|
|
||||||
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).
|
|
||||||
</Step>
|
|
||||||
|
|
||||||
<Step title="Launch your instance">
|
|
||||||
<Warning>If you're deploying Sourcebot behind a domain, you must set the [AUTH_URL](/docs/configuration/environment-variables) environment variable.</Warning>
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
<Accordion title="Details">
|
|
||||||
**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.
|
|
||||||
</Accordion>
|
|
||||||
|
|
||||||
</Step>
|
|
||||||
|
|
||||||
<Step title="Complete onboarding">
|
|
||||||
Navigate to `http://localhost:3000` and complete the onboarding flow.
|
|
||||||
</Step>
|
|
||||||
|
|
||||||
<Step title="Done">
|
|
||||||
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).
|
|
||||||
</Step>
|
|
||||||
</Steps>
|
|
||||||
|
|
||||||
## Next steps
|
|
||||||
---
|
|
||||||
|
|
||||||
<CardGroup cols={3}>
|
|
||||||
<Card title="Index your code" icon="code" href="/docs/connections/overview">
|
|
||||||
Learn how to index your code using Sourcebot
|
|
||||||
</Card>
|
|
||||||
<Card title="Language models" icon="brain" href="/docs/configuration/language-model-providers">
|
|
||||||
Learn how to configure language model providers to start using [Ask Sourcebot](/docs/features/ask/overview)
|
|
||||||
</Card>
|
|
||||||
<Card title="Authentication" icon="lock" href="/docs/configuration/auth/overview">
|
|
||||||
Learn more about how to setup SSO, email codes, and other authentication providers.
|
|
||||||
</Card>
|
|
||||||
</CardGroup>
|
|
||||||
61
docs/docs/deployment/docker-compose.mdx
Normal file
61
docs/docs/deployment/docker-compose.mdx
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
title: "Docker Compose"
|
||||||
|
---
|
||||||
|
|
||||||
|
This guide will walk you through deploying Sourcebot locally or on a VM using Docker Compose. We will use the [docker-compose.yml](https://github.com/sourcebot-dev/sourcebot/blob/main/docker-compose.yml) file from the Sourcebot repository. This is the simplest way to get started with Sourcebot.
|
||||||
|
|
||||||
|
If you are looking to deploy onto Kubernetes, see the [Kubernetes (Helm)](/docs/deployment/k8s) guide.
|
||||||
|
|
||||||
|
## Get started
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Requirements">
|
||||||
|
- docker & docker compose. Use [Docker Desktop](https://www.docker.com/products/docker-desktop/) on Mac or Windows.
|
||||||
|
</Step>
|
||||||
|
<Step title="Obtain the Docker Compose file">
|
||||||
|
Download the [docker-compose.yml](https://github.com/sourcebot-dev/sourcebot/blob/main/docker-compose.yml) file from the Sourcebot repository.
|
||||||
|
|
||||||
|
```bash wrap icon="terminal"
|
||||||
|
curl -o docker-compose.yml https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/docker-compose.yml
|
||||||
|
```
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step title="Create a config.json">
|
||||||
|
|
||||||
|
In the same directory as the `docker-compose.yml` file, create a [configuration file](/docs/configuration/config-file). The configuration file is a JSON file that configures Sourcebot's behaviour, including what repositories to index, language model providers, auth providers, and more.
|
||||||
|
|
||||||
|
```bash wrap icon="terminal" Create example config
|
||||||
|
touch config.json
|
||||||
|
echo '{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/sourcebot-dev/sourcebot/main/schemas/v3/index.json",
|
||||||
|
// Comments are supported.
|
||||||
|
// This config creates a single connection to GitHub.com that
|
||||||
|
// indexes the Sourcebot repository
|
||||||
|
"connections": {
|
||||||
|
"starter-connection": {
|
||||||
|
"type": "github",
|
||||||
|
"repos": [
|
||||||
|
"sourcebot-dev/sourcebot"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}' > config.json
|
||||||
|
```
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step title="Launch your instance">
|
||||||
|
Update the secrets in the `docker-compose.yml` and then run Sourcebot using:
|
||||||
|
|
||||||
|
```bash wrap icon="terminal"
|
||||||
|
docker compose up
|
||||||
|
```
|
||||||
|
</Step>
|
||||||
|
|
||||||
|
<Step title="Done">
|
||||||
|
You're all set! Navigate to [http://localhost:3000](http://localhost:3000) to access your Sourcebot instance.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
## Next steps
|
||||||
|
|
||||||
|
|
||||||
4
docs/docs/deployment/k8s.mdx
Normal file
4
docs/docs/deployment/k8s.mdx
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
title: "Kubernetes (Helm)"
|
||||||
|
url: https://github.com/sourcebot-dev/sourcebot-helm-chart
|
||||||
|
---
|
||||||
|
|
@ -10,7 +10,7 @@ codebase that the agent may fetch to perform the review.
|
||||||
|
|
||||||
This agent provides codebase-aware reviews for your PRs. For each diff, this agent fetches relevant context from Sourcebot and feeds it into an LLM for a detailed review of your changes.
|
This agent provides codebase-aware reviews for your PRs. For each diff, this agent fetches relevant context from Sourcebot and feeds it into an LLM for a detailed review of your changes.
|
||||||
|
|
||||||
The AI Code Review Agent is [fair source](https://github.com/sourcebot-dev/sourcebot/tree/main/packages/web/src/features/agents/review-agent) and packaged in [Sourcebot](https://github.com/sourcebot-dev/sourcebot). To get started using this agent, [deploy Sourcebot](/docs/deployment-guide)
|
The AI Code Review Agent is [fair source](https://github.com/sourcebot-dev/sourcebot/tree/main/packages/web/src/features/agents/review-agent) and packaged in [Sourcebot](https://github.com/sourcebot-dev/sourcebot). To get started using this agent, [deploy Sourcebot](/docs/deployment/docker-compose)
|
||||||
and then follow the configuration instructions below.
|
and then follow the configuration instructions below.
|
||||||
|
|
||||||

|

|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ follow code nav references, and provide an answer that’s rich with inline cita
|
||||||
<Card title="Index repos" icon="book" href="/docs/connections/overview" horizontal="true">
|
<Card title="Index repos" icon="book" href="/docs/connections/overview" horizontal="true">
|
||||||
Learn how to index your repos so you can ask questions about them
|
Learn how to index your repos so you can ask questions about them
|
||||||
</Card>
|
</Card>
|
||||||
<Card title="Deployment guide" icon="server" href="/docs/deployment-guide" horizontal="true">
|
<Card title="Deployment guide" icon="server" href="/docs/deployment/docker-compose" horizontal="true">
|
||||||
Learn how to self-host Sourcebot in a few simple steps.
|
Learn how to self-host Sourcebot in a few simple steps.
|
||||||
</Card>
|
</Card>
|
||||||
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ The [Model Context Protocol](https://modelcontextprotocol.io/introduction) (MCP)
|
||||||
|
|
||||||
<Steps>
|
<Steps>
|
||||||
<Step title="Launch Sourcebot">
|
<Step title="Launch Sourcebot">
|
||||||
Follow the [deployment guide](/docs/deployment-guide) to launch Sourcebot and get your code indexed. The host url of your instance (e.g., `http://localhost:3000`) is passed to the MCP server via the `SOURCEBOT_HOST` url.
|
Follow the [deployment guides](/docs/deployment/docker-compose) to launch Sourcebot and get your code indexed. The host url of your instance (e.g., `http://localhost:3000`) is passed to the MCP server via the `SOURCEBOT_HOST` url.
|
||||||
|
|
||||||
If a host is not provided, then the server will fallback to using the demo instance hosted at https://demo.sourcebot.dev. You can see the list of repositories indexed [here](https://demo.sourcebot.dev/~/repos). Add additional repositories by [opening a PR](https://github.com/sourcebot-dev/sourcebot/blob/main/demo-site-config.json).
|
If a host is not provided, then the server will fallback to using the demo instance hosted at https://demo.sourcebot.dev. You can see the list of repositories indexed [here](https://demo.sourcebot.dev/~/repos). Add additional repositories by [opening a PR](https://github.com/sourcebot-dev/sourcebot/blob/main/demo-site-config.json).
|
||||||
</Step>
|
</Step>
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ Search across all your repos/branches across any code host platform. Blazingly f
|
||||||
<Card title="Branches" icon="split" href="/docs/features/search/multi-branch-indexing" horizontal="true">
|
<Card title="Branches" icon="split" href="/docs/features/search/multi-branch-indexing" horizontal="true">
|
||||||
Learn how to index and search through your branches
|
Learn how to index and search through your branches
|
||||||
</Card>
|
</Card>
|
||||||
<Card title="Deployment guide" icon="server" href="/docs/deployment-guide" horizontal="true">
|
<Card title="Deployment guides" icon="server" href="/docs/deployment/docker-compose" horizontal="true">
|
||||||
Learn how to self-host Sourcebot in a few simple steps.
|
Learn how to self-host Sourcebot in a few simple steps.
|
||||||
</Card>
|
</Card>
|
||||||
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ title: "Overview"
|
||||||
- [MCP](/docs/features/mcp-server): Enrich agent context windows with code across your organization
|
- [MCP](/docs/features/mcp-server): Enrich agent context windows with code across your organization
|
||||||
|
|
||||||
<CardGroup>
|
<CardGroup>
|
||||||
<Card title="Deployment guide" icon="server" href="/docs/deployment-guide" horizontal="true">
|
<Card title="Deployment guides" icon="server" href="/docs/deployment/docker-compose" horizontal="true">
|
||||||
Learn how to self-host Sourcebot in a few simple steps.
|
Learn how to self-host Sourcebot in a few simple steps.
|
||||||
</Card>
|
</Card>
|
||||||
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
<Card title="Public demo" icon="globe" href="https://demo.sourcebot.dev/" horizontal="true">
|
||||||
|
|
@ -162,7 +162,7 @@ Sourcebot is designed to be easily self-hosted, allowing you to deploy it onto y
|
||||||
---
|
---
|
||||||
|
|
||||||
<CardGroup cols={2}>
|
<CardGroup cols={2}>
|
||||||
<Card horizontal title="Deployment guide ->" href="/docs/deployment-guide" />
|
<Card horizontal title="Deployment guides ->" href="/docs/deployment/docker-compose" />
|
||||||
<Card horizontal title="Connecting your code ->" href="/docs/connections/overview" />
|
<Card horizontal title="Connecting your code ->" href="/docs/connections/overview" />
|
||||||
<Card horizontal title="Search syntax reference ->" href="/docs/features/search/syntax-reference" />
|
<Card horizontal title="Search syntax reference ->" href="/docs/features/search/syntax-reference" />
|
||||||
<Card horizontal title="Code navigation overview ->" href="/docs/features/code-navigation" />
|
<Card horizontal title="Code navigation overview ->" href="/docs/features/code-navigation" />
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue