# Docker for development vs the rails server + ember

**URL:** https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661
**Category:** Self-hosting
**Created:** [October 1, 2023, 11:51am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661 "2023-10-01T11:51:30Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![PrettyGirl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/prettygirl/32/330415_2.png) [@PrettyGirl](https://meta.discourse.org/u/PrettyGirl)
#### Post date: [October 1, 2023, 11:51am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/1 "2023-10-01T11:51:30Z")

</div>

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](https://github.com/docker/compose) and then place the discourse image [https://github.com/discourse/discourse\_docker](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?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [October 1, 2023, 12:07pm UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/2 "2023-10-01T12:07:49Z")

</div>

To get the best support from the community, use the [standard install](https://meta.discourse.org/t/142537?silent=true) 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.

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [October 1, 2023, 12:12pm UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/3 "2023-10-01T12:12:14Z")

</div>

> [@merefield](#):
>
> Initially you can set your site to `login required` (in site settings) to keep it private - there is no “under construction” mode specifically.

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

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [October 1, 2023, 5:22pm UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/4 "2023-10-01T17:22:22Z")

</div>

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](https://meta.discourse.org/t/142537?silent=true) (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.

---

<div class="post-metadata">

### Author: ![PrettyGirl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/prettygirl/32/330415_2.png) [@PrettyGirl](https://meta.discourse.org/u/PrettyGirl)
#### Post date: [October 2, 2023, 6:29am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/7 "2023-10-02T06:29:42Z")

</div>

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?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [October 2, 2023, 6:32am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/8 "2023-10-02T06:32:30Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![PrettyGirl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/prettygirl/32/330415_2.png) [@PrettyGirl](https://meta.discourse.org/u/PrettyGirl)
#### Post date: [October 2, 2023, 6:34am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/9 "2023-10-02T06:34:39Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [October 2, 2023, 6:37am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/10 "2023-10-02T06:37:23Z")

</div>

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

---

<div class="post-metadata">

### Author: ![PrettyGirl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/prettygirl/32/330415_2.png) [@PrettyGirl](https://meta.discourse.org/u/PrettyGirl)
#### Post date: [October 2, 2023, 6:39am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/11 "2023-10-02T06:39:18Z")

</div>

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [October 2, 2023, 6:41am UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/12 "2023-10-02T06:41:46Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [October 2, 2023, 2:59pm UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/13 "2023-10-02T14:59:48Z")

</div>

> [@merefield](#):
>
> It’s highly unusual to copy content from a Dev install to production in any case.

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

> [@merefield](#):
>
> Just prepare your content in production? If it’s private you have all the time in the world.

This is still my recommendation as well.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [November 1, 2023, 3:00pm UTC](https://meta.discourse.org/t/docker-for-development-vs-the-rails-server-ember/280661/14 "2023-11-01T15:00:15Z")

</div>

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