Hi guys, does convex self-hosted includes query caching like the cloud version (based on the query a
Hi guys, does convex self-hosted includes query caching like the cloud version (based on the query args, with invalidation and so on) ? Or is there an api exposed by the convex binary that can be used to achieve this layer of caching outside of convex (for example with AWS API Gateway) ?
15 Replies
Round 2 with EC2 https://x.com/natac131/status/1925595901088694617
https://seanpaulcampbell.com/blog/self-hosted-convex-aws-sst-ec2
8813.eth | natac.eth (@natac131)
Round 2: Self-Hosted @convex_dev on AWS with @SST_dev using EC2 instance.
Link in reply.

X
Sean Campbell's Blog
Self-Hosted Convex on AWS with SST using EC2
My round 2 guide to self-hosting Convex on AWS with SST. This time using EC2.
Im a bit curious why the
aws_utils
crate does not use the default credentials chain so that temporary Ec2 intance profile role credentials could be used, but instead forces hardcoded envs? https://docs.rs/aws-config/latest/aws_config/default_provider/credentials/struct.DefaultCredentialsChain.html
After finishing my blog post above I was trying to improve on things by checking out how SST does things with their components, so I could make my own. I learned about instance profiles the abile to give roles to EC2 instances. Apparently AWS will refresh credentials on the EC2 instance metadata. And the AWS SDK by default will look for credentials there as a last step, after checking envs.
Just curious if there was an explicit reason behind the decision? Or maybe it could be change to make self hosting on ec2 a bit easier? Thanks again
Edit: Maybe I found the answer? Although Lambda would assume the execution role when it is invoked.DefaultCredentialsChain in aws_config::default_provider::credential...
Default AWS Credential Provider Chain
GitHub
convex-backend/crates/aws_utils/src/s3.rs at d04146653c7edcbd089211...
The open-source reactive database for app developers - get-convex/convex-backend
Hey guys, keep up the good work—absolutely awesome product. Was looking for so long for this! Quick question about scaling:
in one particular use case, the setup is air-gapped, so moving from self-hosted to the cloud in case we run into performance issues is not an option. So, the question is: when I run into performance issues, is the sync engine the bottleneck, or is it the database that backs Convex? If the database is the bottleneck, would using something like Citus (distributed PostgreSQL) help?
hi! with the open source image, you will probably eventually be blocked on compute since out of the box there's not a scale-up compute solution
we might fix this in H2 by releasing a scale up self-hosted version
but in the mean time, that will be the limiting factor for most projects--no the database
run the database on like planetscale metal and you'll be g2g on that front for a long tim e
Does anyone know of any way to track the progress of either an export or table update? I added an index to a table with ~7million documents and it has been running for over 24 hours now. And a full export has been running for over 2 days. I know they are actually doing something as the database container has a consistent ~10% cpu utilisation. At this point it would be quicker to just wipe the table and reimport everything with the index already set. This is really concerning me as trying to pull my data out of convex in the future can't take multiple days. Everything is running on a fast local instance with NVME storage so iops is not the problem. Any insights would be helpful.

what is h2?

Hey all!
We just released a new self-hosted docker image.
https://github.com/get-convex/convex-backend/blob/main/self-hosted/CHANGELOG.md#2025-05-23-478d197d54ee6e873f06cf9e9deae1eb4aa35bb5
It's been a couple months, so there are tons of improvements to the backend . I highlighted a few in the release notes. Special thanks to the community members that contributed Issues and PRs.
Upgrade by upgrading the docker image rev in
docker-compose.yml
, fly.toml
, or whatever provider you're using (or grabbing the latest one from the instructions).GitHub
convex-backend/self-hosted/CHANGELOG.md at main · get-convex/conve...
The open-source reactive database for app developers - get-convex/convex-backend
Amazing to have continued updates. Sadly ran into a migration error on my relatively new instance. Seems like a simple thing to fix.
Rolling back to the previous release seemed to work fine though 👍
Can someone help with convex auth setup on coolify self host deploy.
I created an app with Chef (vite app) upload the code to github and deployed with coolify (nixpacks)
i also deployed convex using their preset resource, i generated the admin key, set the env vars:
CONVEX_SELF_HOSTED_URL,
CONVEX_SELF_HOSTED_ADMIN_KEY
VITE_CONVEX_URL
JWKS,JWT_PRIVATE_KEY
and i run convex dev to sync the tables.
when i access the dashboard i see the user create on authAccount as anonymous.
but the rest of the login does not work it hangs on websocket reconnect
What i am missing?
idk, it's broken
i posted about this same issue https://discord.com/channels/1019350475847499849/1019350478817079338/1376144115082985523
Hi guys, I am testing out locally on Docker moving the storage to s3 but I keep getting this error:
Caught error (RUST_BACKTRACE=1 RUST_LOG=info,common::errors=debug for full trace): Database was initialized with Some(Local { dir: "/convex/data/storage" }), but backend started up with S3.
How do I reinitialize the database with s3?
Try setting the
S3_ENDPOINT_URL
I've had websocket hanging on reconnect when using actions from inside the fetchToken function. The socket disconnects before calling refreshToken, with the socket disconnected the action will hang forever and the fetchToken will never resolve or reject, therefore the websocket will never reconnect
@Patolord @LordSilver Check out this thread and see if this is the same issue you guys were running into https://discord.com/channels/1019350475847499849/1362495611638776129/1375123692555731105