Spioune
Spioune2w ago

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
Natac
Natac2w ago
8813.eth | natac.eth (@natac131)
Round 2: Self-Hosted @convex_dev on AWS with @SST_dev using EC2 instance. Link in reply.
From 8813.eth | natac.eth (@natac131)
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.
Natac
Natac2w ago
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.
GitHub
convex-backend/crates/aws_utils/src/s3.rs at d04146653c7edcbd089211...
The open-source reactive database for app developers - get-convex/convex-backend
Rijas
Rijas2w ago
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?
jamwt
jamwt2w ago
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
anon28410
anon284102w ago
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.
No description
LordSilver
LordSilver2w ago
what is h2?
nipunn
nipunn2w ago
No description
nipunn
nipunn2w ago
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.
git log --oneline --after="2025-03-10" | wc -l
727
git log --oneline --after="2025-03-10" | wc -l
727
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
anon28410
anon284102w ago
Amazing to have continued updates. Sadly ran into a migration error on my relatively new instance. Seems like a simple thing to fix.
convex-backend-1 | 2025-05-24T01:01:42.649056Z INFO model::migrations: Attempting migration
convex-backend-1 | 2025-05-24T01:01:42.649202Z INFO model::migrations: Migrating to 119
convex-backend-1 | 2025-05-24T01:01:42.649322Z ERROR model::migrations: Migration worker failed, sleeping 64.362319946s
convex-backend-1 | 2025-05-24T01:01:42.649398Z ERROR common::errors: Caught error (RUST_BACKTRACE=1 RUST_LOG=info,common::errors=debug for full trace): No next run found
convex-backend-1 | 2025-05-24T01:01:42.649056Z INFO model::migrations: Attempting migration
convex-backend-1 | 2025-05-24T01:01:42.649202Z INFO model::migrations: Migrating to 119
convex-backend-1 | 2025-05-24T01:01:42.649322Z ERROR model::migrations: Migration worker failed, sleeping 64.362319946s
convex-backend-1 | 2025-05-24T01:01:42.649398Z ERROR common::errors: Caught error (RUST_BACKTRACE=1 RUST_LOG=info,common::errors=debug for full trace): No next run found
Rolling back to the previous release seemed to work fine though 👍
Patolord
Patolord2w ago
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?
540983543
5409835432w ago
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?
Natac
Natac2w ago
Try setting the S3_ENDPOINT_URL
Figloalds
Figloalds2w ago
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
Viscision
Viscision2w ago
@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

Did you find this page helpful?