While I haven't gotten to doing it myself yet, my recommendation, except for those who have to work totally offline (which would cause problems for any content coming from a CDN or other sources such as Sefaria), my recommendation is to use Amazon Web Services (AWS). This happens to be the same system used for the production environment.
While you do need to have a credit card or other payment method set up to get started, much of the basic level is either totally free or free for 12 months - what Amazon calls [Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all). This includes:
* 750 hours of t2.micro or t3.micro (effectively one tiny server on 24/7, but could be more if you turn them on/off as needed) (Need to check specs to see if t2.micro or t3.micro is big enough.)
* 5 GB S3 storage - enough for a basic system with a bunch of test image uploads, etc.
* 750 hours of RDS, which means if you want to use a small RDS database instead of running MySQL within EC2, that is an option at no extra charge.
* 30 GB Elastic Block Storage, which works with EC2.
The alternatives are either a small-but-dedicated Linux system or a virtual machine (e.g., VirtualBox) within a Mac or Windows system.