# Community supported official docker image

**URL:** <https://meta.discourse.org/t/community-supported-official-docker-image/83768>\
**Category:** Development\
**Created:** [24 במרץ,‏ 2018,‏ 8:39pm UTC](https://meta.discourse.org/t/community-supported-official-docker-image/83768 "2018-03-24T20:39:50Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![pierreozoux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pierreozoux/32/296611_2.png) [@pierreozoux](https://meta.discourse.org/u/pierreozoux)\
**Post date:** [31 במרץ,‏ 2018,‏ 10:04am UTC](https://meta.discourse.org/t/community-supported-official-docker-image/83768/14 "2018-03-31T10:04:22Z")

</div>

> [@Falco](#):
>
> I see that you run sidekiq and unicorn in separate containers, so that mean it will use, at least, double the resources when using this setup.

Which resources? a docker container is really just a process, so as now, it will use the memory for 2 processes. It will share the docker image, and create a writable layer on top. So the added resource is really just this new layer, but it is really small.

> [@Falco](#):
>
> Also, assets / migrations run on every boot.

Yes, for that, at first at least, it will be manual.  
I really like the documentation and approach [from mastodon](https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Docker-Guide.md), and will follow that.  
Then, on kubernetes, we can get smarter.

> [@Falco](#):
>
> And, what do you think about plugin support? Today, we use clone those before the bundle install using a launcher hook.

Currently, I clone them on the host, and it works okay-ish. I have still to figure some little quirks.  
I’ll try to keep it simple for the docker-compose version, but on kubernetes, again, I think we can be smarter.  
But this is outside the scope of the docker image in itself.  
Once actually, somebody added that [logic in the docker image](https://github.com/libresh/docker-discourse/blob/bbd10aaedfeb6e4106a63337bca308fea192b9e0/Dockerfile#L49-L80) But I’m not sure I like this logic.  
I’m open to propositions of course.

> [@sam](#):
>
> How do you handle logging and log rotation considering even a minimal rails install of Discourse with NGINX in a dedicated container would still have, unicorn and production logs.

This image will have just rails. NginX will run in a separate container.  
About the logs, this is not the responsibility of rails to handle this, rails should log to stdout and docker or whatever container runner will take care of those logs.  
Just opened a [PR](https://github.com/discourse/discourse/pull/5724) to add the possibility to discourse to log to stdout.

@riking again, the best I can do is to warn the user something like:

/!\ This is not officially supported by discourse, if you don’t know what you are doing, use the [launcher](https://github.com/discourse/discourse_docker) instead.  
For instance, there is no [easy path to upgrade the underlying postgres](https://github.com/docker-library/postgres/issues/37) whereas this is handled gracefully in the launcher.  
Use this image at your own risks.

What are the next steps? Can you create the repo that can receive the Dockerfile?  
Or what is missing from my side?

Thanks for your help!

---

_[View the full topic](https://meta.discourse.org/t/community-supported-official-docker-image/83768)._
