Docker for development vs the rails server + ember

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”

My questions are:

  1. Can I use AWS server to install docker from the https://github.com/docker/compose and then place the discourse image https://github.com/discourse/discourse_docker inside that docker? is that ok? is there any other proper method?

  2. 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 :wink:

Initially you can set your site to login required (in site settings) to keep it private - there is no “under construction” mode specifically.

4 Likes

And maybe must approve users too in case anyone signs up when you’re not looking.

3 Likes

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.

4 Likes

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?

It’s highly unusual to copy content from a Dev install to production in any case.

Just prepare your content in production? If it’s private you have all the time in the world.

1 Like

Yes I’ll do that, it was just because the search engine crawlers will notice and register it as “non accessible” site etc, don’t know though.

Then go public as soon as you can? Your can monitor things from eg Google Search Console (depending on jurisdiction)

1 Like

Ok, and I’ll just build the site online as a production environment. It will be less trouble/hassle it seems. Thank you.

1 Like

Yes a lot less trouble I think. Standard installs can take as little as 20 minutes to deploy.

You can also experiment with a dev site later if you want to get into plugin development.

2 Likes

It is, but I have done it when running an import on a dev instance.

This is still my recommendation as well.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.