Deploy custom Discourse repository via docker

AI-generated summary

In a discussion about deploying a custom Discourse repository via Docker, maaatt explains they’ve modified the core Discourse project and want to deploy their fork using discourse_docker, but are unsure how to point it to their own repo. Lilly and merefield strongly advise against forking, warning that maintaining a fork will block upstream updates (bug fixes, security patches, features) and become unsustainable. Instead, they recommend implementing customizations via plugins (for backend changes) or theme components (for frontend). maaatt lists their needed features — such as a new attachments page, user index filters, post assignment, and post closure — which involve both frontend and backend changes. merefield directs them to a plugin development guide and suggests reviewing existing plugins in the #plugin category for examples. maaatt acknowledges the advice and plans to try building a plugin. The thread also touches on version control: maaatt asks how to avoid deploying the latest (beta) version and stick to stable releases — though no direct answer is provided in the excerpt, the consensus implies that using plugins with official Discourse releases is the correct path to stability.

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.

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

  • 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

@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.

  • 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

Start here:

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

Thanks, I will try it.