Skip to content

Make self-hostable#2495

Draft
drew-harris wants to merge 6 commits intomainfrom
drewh/self-hosting
Draft

Make self-hostable#2495
drew-harris wants to merge 6 commits intomainfrom
drewh/self-hosting

Conversation

@drew-harris
Copy link
Copy Markdown
Contributor

No description provided.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 7, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 5e0f122f-d812-4299-bbcc-65c1f587db12

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch drewh/self-hosting

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

View Vercel preview at instant-www-js-drewh-self-hosting-jsv.vercel.app.

@GrocerPublishAgent
Copy link
Copy Markdown

GrocerPublishAgent commented Apr 12, 2026

Hey! Just say thanks for making InstantDB open source in the first place. Really appreciate that you've made that possible.

I saw you HN launch post on Thursday and started fiddling with self-hosting separately. I just today saw your work on this branch.

I took a somewhat different approach than you, so I wanted to share back in case any of my ideas were useful.

My main constraint was that I needed everything to be fully configurable via environment variables — all ports, data directories, etc. The reason is I run multiple worktrees in parallel (each with its own Postgres instance and allocated ports) so that my coding agents can work on different branches simultaneously without stepping on each other. That meant I needed to rely entirely on env vars to make the whole stack relocatable rather than just prod, staging, dev mapped to hardcoded urls.

I also went the MinIO route for storage. I saw you did not change S3AsyncClient/crtBuilder uploader. Did you get file uploading to work with MinIO? I ended up building a hacky workaround for it. Would love to know if I just did something wrong and its possible to just use minio without any aws s3 client code changes.

For the dashboard I was able to sidestep needing a self-hosted flag threaded through everywhere like I saw you doing.

if you're curious the full diff against upstream: https://peoplesgrocers.com/code/comrades/self-hosted-instantdb/pulls/1/files. It looks a bit big only because I also added in a client library for Qwik and example for Qwik-City ( just ignore that part, its a niche library found in ecommerce).

Anyways, thanks again for making a great codebase. It was really easy to get my app working.

@Escapado
Copy link
Copy Markdown

Thanks for working on this! I went through the PR and the code and it seems (but please correct me) that AWS S3 is currently the only way to get storage, right? Would be amazing if other S3 compatible solutions could be used - for example our start up runs on Hetzner due to being EU based and in the education space so AWS is not really an option for us but Hetzner has an S3 compatible Object Storage solution I would love to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants