René's URL Explorer Experiment


Title: [RFC] Support for horizontal scaling Sourcebot · Issue #439 · sourcebot-dev/sourcebot · GitHub

Open Graph Title: [RFC] Support for horizontal scaling Sourcebot · Issue #439 · sourcebot-dev/sourcebot

X Title: [RFC] Support for horizontal scaling Sourcebot · Issue #439 · sourcebot-dev/sourcebot

Description: This discussion tracks adding support for horizontal scaling to Sourcebot. TL;DR I think the existing single, self-contained docker container is great since it's super easy to use and is radically simple. But it's probably not practical ...

Open Graph Description: This discussion tracks adding support for horizontal scaling to Sourcebot. TL;DR I think the existing single, self-contained docker container is great since it's super easy to use and is radically ...

X Description: This discussion tracks adding support for horizontal scaling to Sourcebot. TL;DR I think the existing single, self-contained docker container is great since it's super easy to use and is radica...

Opengraph URL: https://github.com/sourcebot-dev/sourcebot/issues/439

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[RFC] Support for horizontal scaling Sourcebot","articleBody":"This discussion tracks adding support for horizontal scaling to Sourcebot.\n\n## TL;DR\n- I think the existing single, self-contained [docker container](https://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot) is great since it's super easy to use and is [radically simple](https://www.radicalsimpli.city/).\n- But it's probably not practical in larger deployments, especially ones with thousands of repositories.\n- We've seen instances where when a machine is under heavy indexing load, the webapp can become unresponsive or even OOM errors can occur.\n- I think the first logical step here is to distribute our services as separate images (i.e., `ghcr.io/sourcebot-dev/(webapp|worker|zoekt)`)\n- Upstream dependencies like [Postgres](https://hub.docker.com/_/postgres), and [Redis](https://hub.docker.com/_/redis) would be separate.\n- More images = more complexity, so I think the best mechanism to manage this complexity is moving towards **declarative configs**. We could do the following:\n  - **For local deployments**, we can define a `docker-container.yml` at the root of the repository. Deploying will now involve 1) Cloning the repo, and 2) running `docker compose up`.\n  - **For production deployments**, we can use technologies such as [Helm](https://helm.sh/), [Terraform](https://developer.hashicorp.com/terraform), [Railway](https://railway.com/), and [NixOS](https://nixos.org/)\n- I think it will be important to have sensible defaults (s.t., it's very easy to deploy), while having deep configuration options that are **well documented** (s.t., it fits the user's deployment story).\n\n## Open questions / investigations\n- What will we need to do to make each one of our services (webapp, worker, zoekt) to support multiple replicas at the same time?\n\n## Is this Overkill?\nI'm trying not to go too overboard with the design here. DX should not be sacrificed with this change: ideally it should improve. Sourcebot should be **just as easy** to deploy as a vertically scaling service, both locally and in production. Deploying it as a horizontally scaling service in production should also be easy, while including configuration depth to support a wide range of deployment scenarios.\n\nLocally, using Docker Compose will streamline deployment since a) it's a single command, `docker compose up`, and b) it's declarative, so all of the options (w/ sensible defaults, or commented out) can be included inside the `docker-compose.yml`.\n\nIn production, using Helm, Terraform, NixOS, etc. will help get people setup quickly. Again, sensible defaults here are key.\n\nWe also should continue supporting the self-contained image since to avoid introducing a breaking change here. We can evaluate if it's still worth shipping whenever we do a v5.","author":{"url":"https://github.com/brendan-kellam","@type":"Person","name":"brendan-kellam"},"datePublished":"2025-08-07T05:59:42.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/439/sourcebot/issues/439"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:5a0e42c5-d091-7743-83a6-f2c3d878488f
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id868A:12A6C9:D217E5:12EF4D8:6A4E4E83
html-safe-nonce0dc6c17559348b72a2cf8e98d221b419f2ecb187242ef6c431bd8be85de7343d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NjhBOjEyQTZDOTpEMjE3RTU6MTJFRjREODo2QTRFNEU4MyIsInZpc2l0b3JfaWQiOiI4MDU5ODE4NjY4OTA3NzEyMTMxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacae3e846292a67bbc69a8b9b3820525fe59a7cba43c3222a26fbad21098c84666
hovercard-subject-tagissue:3299106694
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/sourcebot-dev/sourcebot/439/issue_layout
twitter:imagehttps://opengraph.githubassets.com/b1259b8430d9a6eddad7d68917727d19985a67870a2b44164a1cb144d0550ddc/sourcebot-dev/sourcebot/issues/439
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/b1259b8430d9a6eddad7d68917727d19985a67870a2b44164a1cb144d0550ddc/sourcebot-dev/sourcebot/issues/439
og:image:altThis discussion tracks adding support for horizontal scaling to Sourcebot. TL;DR I think the existing single, self-contained docker container is great since it's super easy to use and is radically ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamebrendan-kellam
hostnamegithub.com
expected-hostnamegithub.com
None030096ee0db095447bfe77409d33bfac127ca7128299c58deef27c52eaa1b1f0
turbo-cache-controlno-preview
go-importgithub.com/sourcebot-dev/sourcebot git https://github.com/sourcebot-dev/sourcebot.git
octolytics-dimension-user_id135396723
octolytics-dimension-user_loginsourcebot-dev
octolytics-dimension-repository_id846729675
octolytics-dimension-repository_nwosourcebot-dev/sourcebot
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id846729675
octolytics-dimension-repository_network_root_nwosourcebot-dev/sourcebot
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasee8506f6d0538364886e3f0153c154c410965e70d
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/sourcebot-dev/sourcebot/issues/439#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsourcebot-dev%2Fsourcebot%2Fissues%2F439
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fsourcebot-dev%2Fsourcebot%2Fissues%2F439
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=sourcebot-dev%2Fsourcebot
Reloadhttps://github.com/sourcebot-dev/sourcebot/issues/439
Reloadhttps://github.com/sourcebot-dev/sourcebot/issues/439
Reloadhttps://github.com/sourcebot-dev/sourcebot/issues/439
Please reload this pagehttps://github.com/sourcebot-dev/sourcebot/issues/439
sourcebot-dev https://github.com/sourcebot-dev
sourcebothttps://github.com/sourcebot-dev/sourcebot
Notifications https://github.com/login?return_to=%2Fsourcebot-dev%2Fsourcebot
Fork 317 https://github.com/login?return_to=%2Fsourcebot-dev%2Fsourcebot
Star 3.6k https://github.com/login?return_to=%2Fsourcebot-dev%2Fsourcebot
Code https://github.com/sourcebot-dev/sourcebot
Issues 92 https://github.com/sourcebot-dev/sourcebot/issues
Pull requests 37 https://github.com/sourcebot-dev/sourcebot/pulls
Discussions https://github.com/sourcebot-dev/sourcebot/discussions
Actions https://github.com/sourcebot-dev/sourcebot/actions
Security and quality 0 https://github.com/sourcebot-dev/sourcebot/security
Insights https://github.com/sourcebot-dev/sourcebot/pulse
Code https://github.com/sourcebot-dev/sourcebot
Issues https://github.com/sourcebot-dev/sourcebot/issues
Pull requests https://github.com/sourcebot-dev/sourcebot/pulls
Discussions https://github.com/sourcebot-dev/sourcebot/discussions
Actions https://github.com/sourcebot-dev/sourcebot/actions
Security and quality https://github.com/sourcebot-dev/sourcebot/security
Insights https://github.com/sourcebot-dev/sourcebot/pulse
[RFC] Support for horizontal scaling Sourcebothttps://github.com/sourcebot-dev/sourcebot/issues/439#top
RFCRequest for Commentshttps://github.com/sourcebot-dev/sourcebot/issues?q=state%3Aopen%20label%3A%22RFC%22
https://github.com/brendan-kellam
brendan-kellamhttps://github.com/brendan-kellam
on Aug 7, 2025https://github.com/sourcebot-dev/sourcebot/issues/439#issue-3299106694
docker containerhttps://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot
radically simplehttps://www.radicalsimpli.city/
Postgreshttps://hub.docker.com/_/postgres
Redishttps://hub.docker.com/_/redis
Helmhttps://helm.sh/
Terraformhttps://developer.hashicorp.com/terraform
Railwayhttps://railway.com/
NixOShttps://nixos.org/
RFCRequest for Commentshttps://github.com/sourcebot-dev/sourcebot/issues?q=state%3Aopen%20label%3A%22RFC%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.