All moved to 1 medium size Hetzner VPS with various self hosted OSS services, crond and a custom Flask app.
Everything is so fast and cohesive now. I'm saving close to $2K/month
All moved to 1 medium size Hetzner VPS with various self hosted OSS services, crond and a custom Flask app.
Everything is so fast and cohesive now. I'm saving close to $2K/month
1x Hetzner CPX31 VPS: 4 VCPU, 8GB RAM, 160GB DISK (~$15/m)
---
* Mailchimp ~95$/m
-> Listmonk + Mailgun (few $, pay as you go)
---
* Retool ($20/m), Chargebee ($750/m)
-> Transitioned through Appsmith (0$), but decommissioned it in favour of a custom Flask app + local Postgres + Xero API (took 1 month) ($0/m)
---
* Codacy ($36/m)
-> various linters in CI + deps security scanners (free)
---
* Azure DevOps (private repo) ($86/m)
-> ditched Microsoft-hosted agent pool (many slow, expensive "cloud" agents w/ limited build hours) to 1 free, self-hosted agent (my VPS) $0/m. Planning to move to Circle CI Free account with up to 5 free self-hosted agents.
---
* Zapier ($30/m)
-> N8N on my VPS ($0/m)
---
* AWS RDS ($50/m)
-> Localhost Postgres ($0/m): this is so underrated. Hosting the DB on the same server with apps is faaaaast! Cron script to backup it all locally AND to S3 daily.
---
* AWS Cloudfront (IDK, non free)
-> Cloudflare proxied DNS (free)
---
Extra details
* Authentication to all hosted company services happens at the edge via Cloudflare Zero Trust (also free)
* All services are proxied by Cloudflare "DNS"
* Nginx allows HTTP access only from Cloudflare IP range (for security)
---
FUTURE PLANS
* Hosted Wordpress ($29/m)
-> Cloudflare Pages (maybe some workers too) much faster & for free
---
* AWS S3 (~$40/m)
-> Wasabi.com (IDK, much less)
That is, I unified the concepts of "customer portal" and back "office tooling". No more need for a Retool replacement.
And another reason: Appsmith is not as good as Retool (yet?) and is a memory hogging Java process. Good riddance, after all!
Thank you for trying Appsmith & apologies that you had a poor experience with the product.
Can I ask if you were pulling a lot of data from your databases to populate the UI? I'm asking because we definitely have our work cut out to handle larger amounts of data.
As you rightly said, Appsmith is written in Java which allocates 25% of available memory by default and expands to 75% memory. You can control this behaviour by adding APPSMITH_JAVA_HEAP_ARG="-Xmx2G" in the docker.env file.
Even after you explained it to me now, I still don't understand why the minimum allocated memory (at rest) should be fixed at 25% (or any percent) of all available memory. What happens if I run it on my 64GB M1 Macbook? 16GB for Appsmith? I don't think so. Why not skipping the Xmx option all together? How much performance difference can it ever cause?