Hey, I created a template to easily deploy Typesen...
# community-help
m
Hey, I created a template to easily deploy Typesense on Render.com. You can find it here and deploy a Typesense instance with a single click: https://github.com/hmbrg/typesense-on-render
j
Hi @Matthias! This is interesting! Thank you for sharing. Do you know how Render handles persistence of docker volumes, and if these docker containers can be kept running for extended periods of time? Asking because Typesense is a stateful datastore and requires both of these to operate
m
This uses a Disk (more info: Disks for Persistent File Storage | Render) that is persistent over multiple deploys. Also Render.com provides Zero Downtime Deploys by checking the
/health
endpoint. All that is configured by the
render.yaml
inside the repo. So far everything works as expected.
Oh, and the mounted disk also provides automatic backups that can be rolled back to at any point, which makes backups easy.
j
Oh nice, that's pretty cool
Can you configure how much RAM the docker container uses?
Because Typesense stores all indices in memory to enable fast search
m
Yes you can be choosing an appropriate plan here: Pricing | Render ยท Cloud Hosting for Developers
๐Ÿ‘Œ 1
How many records can I expect to store with 512mb of RAM? Any pointers?
j
It usually takes 2x-3x RAM, compared to the size of your dataset on disk. More info here: https://typesense.org/docs/0.21.0/guide/system-requirements.html#choosing-ram
m
I see, thanks. I should be fine for a while then. ๐Ÿ™‚
j
Would be cool, if we can get Typesense listed on the sidebar in their docs: https://render.com/docs/deploy-elasticsearch (At the risk of cannibalizing our own cloud hosted version ๐Ÿ˜…)
โž• 1
m
Yeah that would be nice! You could probably shoot them an email with a link to my repo here: support@render.com I don't think this jeopardises your hosted version as this is far from handling any serious prod load, not to mention providing any high availability.
j
Ah right, good point about high availability, and there's also SDN.
j
I generally agree with @Matthias point on not cannibalising your cloud offering. This is the exception where I'm choosing to start with self host because i was convinced that gave me the security model i wanted. But been less convinced as I've progressed. Keeping it as a private/internal service to my backend is the main juatificantion as this point (I'm indexing none public content)