The discussion revolves around setting up a Discourse development environment versus using a production setup with Docker on AWS. PrettyGirl seeks guidance on whether to use Docker for deployment, noting that while a development setup with Rails and Ember works locally, a standard production install via Docker is recommended for AWS. merefield advises using the standard install for ease and automatic configuration, suggesting setting the site to login required for privacy. JammyDodger adds that must approve users can prevent unwanted sign-ups. pfaffman emphasizes that while backing up and restoring from a dev instance is possible, it’s uncommon; instead, content should be prepared directly in production. PrettyGirl confirms she’ll build the site in production to avoid issues with crawlers and to simplify deployment. merefield reiterates that standard installs are quick and reliable, with dev environments better suited for plugin development.
I’ve read the following thread on setting up the discourse for the development environment.
meta discourse org/t/install-discourse-on-macos-for-development/15772
However, it doesn’t say anything about enclosing discourse in docker.
But the production guide does mention the “docker”
github com/discourse/discourse/blob/main/docs/INSTALL-cloud.md#5-install-discourse
I’m willing to host the site in AWS (amazon)
Further I noticed there’s a git repo for docker itself
github com/docker/compose
and a discourse image for docker in git
github com/discourse/discourse_docker
I already installed the discourse on my macOS by cloning git repo for discourse and running it on rails server and ember CLI, and properly functioning. But I din’t use any “docker”
I’m willing to use the database of local server. So, will there be any issue when I want to copy the backups (posts/threads made while in the localhost server) to the production environment (the actual AWS server)?
Right now, i’m creating some dummy posts (proper ones) while in the localhost server, so the site will not be empty when it goes public.
Is that the correct method or can the site be set to “under construction” mode or something even in the real AWS server, so people won’t see the empty site? so I can create some default posts while in the actual server?
To get the best support from the community, use the standard install for Production. That sets up the docker container and a DB automatically so you don’t have to worry about that separately.
Yes, this can be deployed on AWS.
I suggest using this approach for the time being until you get really familiar with Discourse and can answer your own questions
Initially you can set your site to login required (in site settings) to keep it private - there is no “under construction” mode specifically.
As Robert said, since you don’t want to do development of plugins and your goal is just to get a site up and running, you want to do a Standard Install (easiest is to just spin up an EC2 with 2GB of RAM and 40GB of disk–you can get by with less, but I don’t recommend it). This will also let you get stuff like DNS and social logins and so on configured, which you can’t do on a development install.
But you can make a backup of your development site and restore it to the production one.
Thank you for your reply.
You mean backing up the postgres database. Is that correct? or just clicking the backup button in admin tools panel in the discourse?
Already bought a 2GB ram and 100GB disk, don’t know if I’ll ever need it though. Might host multiple sites. I think RAM will not be enough for two or multiple sites anyways?