SembleHost provides evergreen docassemble hosting. We write articles about making docassemble hosting better. If you don't want to be bothered with the hassle of keeping your docassemble instance fresh, try one of our hosting plans.
Can you host a docassemble server with less than 4GB of RAM?
That's a very good question.
Here's what the docassemble website says about the minimum system requirements.
A machine running docassemble uses about 800-900MB of RAM during normal operation. During software updates (running pip), the memory usage can momentarily be much higher. Therefore, it is recommended that you only run docassemble on a machine with at least 4GB of RAM.
Seems like we have our answer. Wait, not so fast...
Let's test that theory
Read our blog post, a howto on increasing the memory on your docassemble server using a swap file.
How often does your docassemble machine need 4GB RAM?
Let's start with some reasonable assumptions.
A normal human being will update their docassemble server once a month or quarter.
A really crazy human being will update their docassemble server once per day.
Let's assume an update runs for 10 minutes (that's pretty generous).
According to my calculations, a crazy person's docassemble server would be running updates about 0.6% any given month or year and a normal person's docassemble server would run updates 0.02% of the time or less than 9 minutes per year. Let's see that in a diagram.
You only really need that 4GB of RAM for less than 9 minutes per month
If my server only has 2GB of RAM, won't this be an issue on the few occasions when I need 4GB?
What if I told you that your Linux operating system already has a built in solution for this issue? It's called swap. Swap is a space reserved on your disk for those times when you've exceeded your physical RAM memory. Generally you should avoid running processes in swap as it doesn't perform as well as physical RAM but it shouldn't be an issue if you only need that swap for 8 minutes in a given month. If you're really crazy and need to go to swap for 10 minutes per day, swap should still work fine.