For a long time, I have had the idea of building a forum. Since 2021, I have tried various forum systems, such as Discuz, Xiuno BBS, youBBS, HYPHP, and Flarum, among others. After continuous exploration and comparison, I finally chose Discourse.
Discourse is different from traditional forum systems. Although the tutorials on its official website seem simple, the actual operation is not easy. In my opinion, compared to other forum programs, the installation and configuration of Discourse indeed have a certain technical threshold.
I remember there used to be a Chinese community for Discourse, but for some reason, it was closed later, and now I can only rely on the resources from the official website to solve problems. Previously, I attempted to install Discourse multiple times without success. This time, with the help of GPT, after a few days of effort, I finally completed the deployment. Next, I will share some of my experiences, hoping to help other bloggers.
Notes on Installing Discourse#
1. Port Issues
I am using a VPS and have installed the Baota panel on it, where multiple websites are already running. To avoid port conflicts, it is necessary to modify the default ports 80 and 443. This can be changed directly in the app.yml
file.
2. SMTP Email Configuration
SMTP settings were one of the biggest challenges I encountered. Initially, I tried using QQ Mail (port 465), but the emails could not be sent normally. Strangely, about half an hour later, QQ Mail started sending a large number of emails, but the Discourse backend showed that the email sending had failed, and the task was still ongoing. Then, I switched to port 587, but the problem persisted. Ultimately, I chose Gmail, which successfully resolved the email issue.
QQ Mail is not completely unusable, but there may be uncertainties in the configuration; in contrast, Gmail is more stable and reliable.
3. Choosing the Installation Directory
Before installing Discourse, it is essential to choose the installation directory carefully. If you need to rebuild the container but do not specify the directory location, it may lead to data loss. Therefore, planning the directory in advance is very important.
4. Server Configuration Requirements
Discourse has high memory and CPU usage, so choosing the right machine before deployment is crucial. One of the main reasons for my previous installation failures was insufficient VPS memory.
Key Tips During the Installation Process#
1. Be Patient
The deployment process of Discourse is relatively slow, especially when running the command to rebuild the container, which may take 20 to 30 minutes or even longer. Although it seems to be stuck, the backend is actually still running. Therefore, during the installation process, it is essential to ensure that the app.yml
configuration is correct, and every time a modification is made, the container needs to be rebuilt.
2. Prevent Spam Registrations
To avoid malicious registrations, the forum I deployed uses an invitation registration method. When I previously used Discuz, I frequently faced harassment from spam users due to open registration, which was quite troublesome.
Welcome to Join My Community#
After multiple efforts, I successfully deployed my own forum, Bokeuquan community. Currently, this community adopts an invitation registration mechanism, mainly to maintain a good discussion environment. I hope interested bloggers can join and learn together. If you have any insights or questions during the deployment process, feel free to share your experiences!
Here is my invitation link: http://bkq.net.cn/invites/jtAvmM8WzQ
Summary#
Although the deployment process of Discourse is somewhat cumbersome, as long as you grasp the basic processes and points to note, the installation and configuration are relatively simple. The above are some key points and notes I summarized during the setup process, hoping to help bloggers who want to try it out.