Docker compose를 사용한 Discourse 셀프 호스팅

Hello everyone! :blush:

I hope you’re all doing well! I have a question about Discourse: Is it possible to self-host Discourse? I’m really interested in the platform and would love to know if anyone here has experience with it. Are there any specific requirements or tips I should keep in mind?

Thank you in advance for your help! :folded_hands:

Yes, and there’s an entire Subcategory dedicated to it!:

Documentation > Self-Hosting

You would want to specifically read standard install

Thank you very much for your answers!

I would like to have a standalone ‘docker-compose’ file that I can launch and use discourse in our association

Is that possible?

I’m not a fan of running a thousand scripts in the background that I don’t know

Yes it’s possible but you’d need to write and support it yourself.

Here’s a Dockerfile someone posted recently for development that might act as a starter

Discourse is open source. Why not read the launcher scripts and templates? (which would also inform your Compose)

This is unsupported, but there are efforts trying to keep up with mainline Discourse. You can search for docker compose here, or visit these two variants:

Careful though, maintaining Discourse across versions can prove difficult. But IndieHosters have been doing it for some years now.

Both projects use the original Discourse/base docker image but I’m not sure they’re tailoring the installation like @sam’s pups does for discourse-docker.

Thx for you’re replies!

I’ve installed only the discourse/base image but the container exited with no logs
The image shows a command-line interface displaying a container named "discourse-container" in a Docker environment, which was recently exited with no processes running.

Does you know why?

기본 이미지는 그 자체로 아무 일도 하지 않습니다. 그 안에서 Discourse를 컴파일한 후 실행해야 합니다. 그리고 이는 먼저 이미지 외부에서 ./launcher 스크립트를 실행하는 방식으로 수행됩니다. 따라서 먼저 공식적인 방법으로 설치해 보고, 그 다음 옵션들을 고려해 보시는 것이 좋습니다.

Discourse 설치 절차는 매우 일반적이지는 않지만, 수년간 이 방식을 사용해 온 저로서는 한 가지 이유로 인해 이 접근법을 매우 좋아합니다. 그것은 관리자로서 일정 기간을 거치면 비로소 그 가치를 깨닫게 될 것입니다. 바로 소스 코드의 각 커밋 이후에도 업그레이드가 가능하다는 점입니다. 정말 놀라운 일입니다. #contribute:bug를 보고하면, 1시간 만에 팀이나 커뮤니티에서 해결될 수도 있고, 자동화된 테스트가 실행된 후 커밋이 병합되어 사용 가능해집니다. 그리고 바로 업그레이드를 할 수 있습니다. 최신 소스 코드로 Discourse를 다시 컴파일하기 때문입니다.

따라서 특정 버전이 컴파일된 이미지는 존재하지 않습니다. “빈” 이미지를 받아서 원하는 지점의 버전과 필요한 플러그인 조합으로 컴파일해야 합니다. 그런데도 여전히 잘 작동합니다!

이러한 유연함은 다른 어디에서도 경험할 수 없습니다.

따라서 확실하지는 않지만, docker compose 파일을 작성하려면 compose 파일 내부에서 ./launcher 스크립트의 절차를 재현해야 합니다. 이렇게 하면 다른 이미지로 컴파일한 후 이를 바로 플러그인처럼 사용할 수 있습니다. 하지만 업그레이드가 필요할 때 내장된 절차를 사용할 수는 없습니다. 직접 새로운 버전을 구성해야 합니다.

Thanks for your help guys. You make it easy for beginners like me to use Discourse!

Yes, but before I make Discourse available to my club, I wanted to run Discourse on the localhost and do some tests so that I can get along better with the admin interface and the command line of Discourse. If errors occur, I want to be able to fix them. For the ‘supported’ version I need a DNS entry, port 443 and 80 which is unnecessary in my case - at least I think so.

Does anyone know a hack on how to run this on the localhost?

Install Docker and just do this.

Yes:

https://meta.discourse.org/tags/c/documentation/developer-guides/56/dev-install

:slight_smile:

Or that. Although I understood that Max is interested in getting to know how it behaves in production but to test it locally before purchasing a hosting environment. For that the docker setup would be more appropriate. In order to actually fix bugs, the dev setup is the right choice.

Guys thanks a lot for you’re support!

I managed to get it work with the “normal” installation with docker.