On Discourse version 1.6.1 we have customised as per our requirement and added multiple models both on rails and javascript side and some customisations in Javascript libraries as well.
Now we are trying to integrate Babble chat plugin for which we are facing many issues like manually placing the missing JS files and updating relative path of libraries imported. So we are planning to upgrade the discourse version to latest with which we can easily integrate babble chat plugin. Below mentioned points are my concern.
- Easy way to integrate babble chat plugin with discourse 1.6.1. - Upgrade discourse with out effecting the existing functionality(created by us).
I really hope you modified Discourse in some way other than modifying the Docker container directly. Assuming you have these modifications stored in source control, pull and merge is your best route. If you didn’t you’re going to be in a rough time trying to find your modifications, transfer them, and test them.
No, there is no command, you performed your customization in an unsupportable way. You are going to need a very skilled developer with lots of time to get you upgraded to latest, something I strongly recommend doing cause there are may public security vulnerabilities that have since been patched.
Wanted to chime in here with a personal anecdote: A few months ago I took over managing a Discourse forum where I work. The forum is used seasonally, for about 5 months, then not touched for 7. When I took over we were having all sorts of intermittent issues. After the forum went “partially down” 3 times in 4 days, it was decided that I’d work with our IT staff to figure out what was wrong. Almost 6 hours later, we found that a former dev modified Discourse files, set them to overwrite the existing Discoures files each update, and this was the cause of our issues. 4 days of nearly full-time work later, we’d managed to stop the files from being overwritten, develop a plugin, and get everything working again.
Why am I sharing this? I just want to emphasize that modifying Discourse is unsupported (read: not a plugin) ways is bad. While we only had a few files modified, it caused us major issues that fortunately were caught before our forums went live again for the season. Please take the time to un-modify your install, put the changes into a plugin, and only then attempt an update.
Yes, it is generally safe to upgrade multiple major releases at once. Rails migrations handle that for you.
However, it is always a good idea to take a full backup before major changes like this, so you have the ability to restore to a known working state in the unlikely event something goes very wrong.
v2.1.0.beta2 +119에서 2.4.0.beta4로 업그레이드해야 하는 흥미로운 상황에 놓여 있습니다.
당연히 조금 긴장되는데, 전체 백업을 어떻게 가져가면 되는지 알려줄 수 있을까요?
우리는 도커 컨테이너에서 이를 실행하고 있습니다. 또한 매일 관리 패널에서 백업을 수행하지만, ./launcher rebuild app 명령으로 업그레이드를 시도하다가 실패할 경우 이전(정상 작동하던) 버전으로 어떻게 되돌릴 수 있을까요? 제가 볼 때, 백업에는 Postgres 데이터베이스의 SQL만 포함되어 있습니다. 모든 이미지는 S3의 다른 위치에 저장되어 있습니다.
네, 문제없이 작동할 것입니다. 재구축이 실패할 가능성은 매우 낮으며, 설령 실패하더라도 아무것도 깨지지 않습니다. 사이트는 일시적으로 중단되지만, 데이터는 지속적 저장소(도커 컨테이너가 아닌)에 안전하게 보관되어 있습니다.
백업을 만드는 것은 매우 좋은 생각입니다(항상 백업하세요). 그리고 네, 업로드된 파일은 백업에 다운로드되지 않습니다. 데이터베이스는 S3의 업로드 파일을 참조하며, 백업 시에도 복원 시에도 마찬가지입니다. 따라서 이를 별도로 다운로드할 필요는 없으며, 이미 S3에 안전하게 저장되어 있습니다.