Self-hosted local/staging setup options or recommendations?

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 rerun bundle 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

I’d recommend having the staging in the cloud as a dedicated instance. testing on live site is not ideal and it would be very closely comparable to production. Hosting locally is doable but is inviting a lot of unwarranted headache for little to no reward except maybe saving a few bucks which you’d burn in electricity cost.

1 Like