# Deploy custom Discourse repository via docker

**URL:** https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422
**Category:** Self-hosting
**Tags:** docker
**Created:** [January 30, 2024, 7:21am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422 "2024-01-30T07:21:48Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![maaatt](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@maaatt](https://meta.discourse.org/u/maaatt)
#### Post date: [January 30, 2024, 7:21am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/1 "2024-01-30T07:21:48Z")

</div>

I made some changes to the original discourse project and pushed them to my personal repository.  
Now I would like to use the “discourse\_docker” project to deploy to my server.  
Of course the “discourse\_docker” project will deploy the original “discourse” project and not my own.

How can I link the “discourse\_docker” deploy to my repository?

Thanks.

---

<div class="post-metadata">

### Author: ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)
#### Post date: [January 30, 2024, 7:40am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/2 "2024-01-30T07:40:20Z")

</div>

hmm, why not make a plugin instead? what are the core changes that require you to do it this way?

---

<div class="post-metadata">

### Author: ![maaatt](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@maaatt](https://meta.discourse.org/u/maaatt)
#### Post date: [January 30, 2024, 8:10am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/3 "2024-01-30T08:10:43Z")

</div>

- new page for listing all attachments and the source entity
- add filters to users index page
- assign posts to a specific user
- set posts as “closed”  
etc

---

<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: [January 30, 2024, 8:35am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/4 "2024-01-30T08:35:42Z")

</div>

@Lilly is completely right.

You must not block updates coming from upstream (bug fixes, security patches, even new features) so it’s best to apply customisations with a plugin (if you need to modify the back end) or a theme component (if just the front end)

If you start trying to maintain a fork you will soon find it very time consuming.

---

<div class="post-metadata">

### Author: ![maaatt](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@maaatt](https://meta.discourse.org/u/maaatt)
#### Post date: [January 30, 2024, 9:13am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/5 "2024-01-30T09:13:57Z")

</div>

- I need to create new features (backend and frontend at the same time) how do I create a plugin for this?
- How do I avoid to deploy the latest version? I currently deployed the beta5 but I would like to deploy only stable versions.

Thanks

---

<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: [January 30, 2024, 9:18am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/6 "2024-01-30T09:18:24Z")

</div>

Start here:

> [@Developing Discourse Plugins - Part 1 - Create a basic plugin](https://meta.discourse.org/t/developing-discourse-plugins-part-1-create-a-basic-plugin/30515):
>
> Building a plugin in Discourse can be really simple, once you learn a couple of quirks. The goal of this post is to create a skeleton plugin and introduce you to the basics. Your development environment Make sure you have a development environment of Discourse running on your computer. I recommend you use [the appropriate setup guide](https://meta.discourse.org/tag/dev-install) and come back when you’re done. plugin.rbtada Use [GitHub - discourse/discourse-plugin-skeleton: Template for Discourse plugins · GitHub](https://github.com/discourse/discourse-plugin-skeleton) to create a complete di…

and look at the code of the 100’s of examples in #Customization > Plugin

---

<div class="post-metadata">

### Author: ![maaatt](https://avatars.discourse-cdn.com/v4/letter/m/ecb155/32.png) [@maaatt](https://meta.discourse.org/u/maaatt)
#### Post date: [January 30, 2024, 9:38am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/7 "2024-01-30T09:38:32Z")

</div>

Thanks, I will try it.

---

<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: [February 29, 2024, 9:39am UTC](https://meta.discourse.org/t/deploy-custom-discourse-repository-via-docker/293422/8 "2024-02-29T09:39:01Z")

</div>

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