After some research, the tech co-op I work with came back with the following options for self-hosted local / staging setups. Maybe we have to bite the bullet and double our hosting costs* (as and when) but we thought it might be good to see if anyone has advice for best practice or recommendations for alternatives?
*We’re a small non-profit and have managed hosting in the UK, so the cost isn’t trivial.
— — —
OPTIONS:
1. local setup
pros:
- super safe & isolated – can modify any discourse plugins / themes / core code
cons:
- performance is fairly terrible: by default it does a
docker image pull
every time you reboot PC, gotta rerunbundle install
(download and source-build loads of ruby packages) every time you launch, and on OSX everything is running in a slow VM because of lack of native container support- requires manual patch to discourse code to get WP-discourse plugin working (further research needed to work out how to even apply that)
- syncing with live will require work on tooling, loading live data may or may not even work reliably
estimate: 4-6 hours set-up
2. staging server
pros:
- makes it easier for new people starting, no setup
- can relatively easily make it the same version, plugins etc. as upstream
- syncing “might” be as easy as restoring a backup from live
cons:
- high ongoing costs
estimate: 1-2 hours set-up + hosting costs
3. (find a way to safely) test on live site
pros:
- definitely always testing with the same discourse version, plugins, themes
cons:
- need to find a way to not spam users with ‘new post!’ alerts / risk that if we mess this up then people will get spammed. small risk to data, might require restoring from backup.
estimate: 1-2 hours set-up