SSD Nodes Learn 🎉 VPS $5.50/महिन्यापासून
मार्गदर्शक Matt Connorद्वारे Matt Connor · अपडेटेड 2026-08-13

Discourse, Flarum, NodeBB की phpBB: कोणते forum निवडावे?

VPS वर Discourse, Flarum, NodeBB आणि phpBB यांची तुलना करा: प्रत्यक्ष RAM गरज, database, spam नियंत्रण आणि migration साठी उपलब्ध मार्ग जाणून घ्या.

स्वतः होस्ट केलेले कोणते forum software चालवावे?

आज VPS (virtual private server) वर चालवता येणाऱ्या self-hosted forum software साठी प्रत्यक्षात चार पर्याय आहेत: Discourse, Flarum, NodeBB आणि phpBB. तुम्ही 4 GB RAM देऊ शकत असाल आणि moderation करण्यासाठी किमान दोन व्यक्ती उपलब्ध असतील, तर Discourse हा योग्य default पर्याय आहे. 1 GB RAM आणि एक moderator असल्यास Flarum किंवा phpBB वापरा. व्यवस्थापित ठेवता येणारे शांत forum, व्यवस्थापित करता न येणाऱ्या अधिक चांगल्या forum पेक्षा उपयुक्त ठरते.

Installation हा सोपा भाग आहे. यापैकी कोणतेही software एका दुपारमध्ये चालू करता येते. एका वर्षानंतरही forum सुरू राहील की नाही हे flag queue आणि mail path ठरवतात. त्यामुळे feature lists वाचण्यापूर्वी moderation आणि email विभाग वाचा.

फोरम प्रत्यक्षात चालवण्यासाठी काय आवश्यक असते?

फोरममध्ये एक नव्हे, तर चार स्वतंत्र भाग असतात: अॅप्लिकेशन प्रक्रिया, ती प्रक्रिया बंद झाल्यानंतरही टिकून राहणारा database, अपलोड केलेले avatars आणि attachments ठेवणारी directory, आणि mail पाठवण्यासाठी कार्यरत मार्ग. अॅप्लिकेशन बदलता येते. मात्र database बदलता येत नाही, कारण प्रत्येक post, प्रत्येक account आणि प्रत्येक private message त्यातच साठवलेले असतात. म्हणून खालील विभागांमध्ये प्रत्येक प्रकल्पाने निवडलेला database हा सर्वात महत्त्वाचा मुद्दा आहे. तुम्हाला प्रकल्प सोडायचा असेल, त्या दिवशी तुमचा export कशा स्वरूपात असेल हे त्यावर ठरते.

दुसरी किंमत मानवी संसाधनांची आहे. Public registration आणि public posting सुरू केल्यावर bot signups होतात. Domain crawl मध्ये दिसू लागल्यानंतर साधारणपणे पहिल्याच आठवड्यात हे सुरू होते. हे चारही भाग सुरक्षितपणे मर्यादित करता येतात. मात्र यापैकी केवळ एका प्रकल्पाच्या core मध्ये हे workflow अंगभूतपणे उपलब्ध आहे.

Discourse: डीफॉल्ट पर्याय आणि त्याची खरी किंमत

Discourse हे Ruby on Rails वर आधारित आहे. डेटासाठी PostgreSQL, कॅश आणि job queues साठी Redis, तसेच background कामांसाठी Sidekiq वापरले जाते. समर्थित install प्रक्रियेत हे सर्व एकाच Docker container मध्ये ठेवले जाते. हा container /var/discourse/containers/app.yml मधील config file वरून तयार केला जातो. हे घटक तुम्हाला स्वतः install करावे लागत नाहीत.

wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash

ही script उपलब्ध नसल्यास git आणि Docker install करते, discourse_docker ला /var/discourse मध्ये clone करते आणि त्यानंतर interactive discourse-setup wizard सुरू करते. Wizard तुमचा hostname, admin email address आणि SMTP (simple mail transfer protocol) तपशील विचारतो, app.yml लिहितो आणि container तयार करतो. Port 80 आणि 443 मोकळे असणे आवश्यक आहे, कारण container स्वतःचा nginx चालवतो आणि तुमच्यासाठी Let's Encrypt certificate मागवतो.

प्रकाशित केलेली किमान आवश्यकता swap सहित 1 GB RAM आणि 10 GB disk अशी आहे. Swap चा उल्लेख शब्दशः लक्षात घ्या. Wizard ला system ला swap आवश्यक आहे असे वाटल्यास setup script fallocate -l 2G /swapfile वापरून 2 GB swapfile तयार करते. हा swap केवळ औपचारिकता नाही. Memory peak चालू असलेल्या site मुळे येत नाही. तो ./launcher rebuild app मुळे येतो. Upgrade वेळी ही प्रक्रिया container मध्ये JavaScript आणि CSS assets पुन्हा compile करते. Swap नसलेल्या 1 GB system वर ही प्रक्रिया मध्येच kill होते. Rebuild स्क्रीनवर उपयोगी error न दाखवता संपते आणि dmesg | tail मध्ये Out of memory: Killed process line दिसते. योग्य क्षमतेसाठी ते चालवण्यास 2 GB आणि forum व्यस्त झाल्यावर 4 GB RAM ठेवा.

Upgrade browser मधील /admin/upgrade मधून किंवा shell मधून चालवता येतात:

cd /var/discourse
./launcher rebuild app

rebuild चालू container नष्ट करते, app.yml वरून नवीन container तयार करते आणि तो सुरू करते. त्यामुळे या प्रक्रियेला लागणाऱ्या काही मिनिटांसाठी site बंद राहते. एका container च्या रचनेत याला पर्याय नाही. data.yml आणि web_only.yml samples वापरून दोन containers वेगळे केल्यास web container rebuild होत असताना PostgreSQL सुरू राहते. वापरकर्त्यांना downtime जाणवू लागल्यावर ही रचना उपयुक्त ठरते.

Discourse ची RAM आवश्यकता moderation मध्ये स्पष्ट दिसते. नवीन accounts trust level 0 पासून सुरू होतात. ते किती links आणि किती वेगाने post करू शकतात यावर सुरुवातीला कठोर मर्यादा असतात. ते वाचन आणि सहभागानुसार पुढील trust levels वर जातात. Flags review queue मध्ये जमा होतात आणि कोणत्या flag वर कोणी कारवाई केली याची नोंद ठेवली जाते. Akismet आणि StopForumSpam integrations अधिकृत plugins आहेत. उर्वरित तीन integrations साठी हे add-ons वापरून स्वतः तयार करावे लागते.

Discourse मध्ये आयात करणे हे त्याचे सर्वात मजबूत वैशिष्ट्य आहे. Source tree मधील script/import_scripts/ directory मध्ये साठहून अधिक importers आहेत. त्यात phpbb3.rb, vbulletin.rb, xenforo.rb, vanilla.rb, mybb.rb, flarum_import.rb, एक nodebb directory आणि mailing list archives साठी mbox importer यांचा समावेश आहे. हे Ruby scripts आहेत. जुन्या database ची copy वापरून ते container मध्ये चालवले जातात. ते धीमे आहेत, परंतु त्यांची देखभाल केली जाते.

Discourse मधून बाहेर स्थलांतर करणे ही कमकुवत बाजू आहे. ./launcher enter app नंतर discourse backup चालवल्यास PostgreSQL dump आणि uploads directory असलेली .tar.gz तयार होते. दुसरे Discourse instance ती restore करू शकते. इतर कोणतेही software ती वाचत नाही. त्यामुळे Discourse सोडायचे असल्यास त्या dump वर स्वतः SQL लिहावे लागते. 50,000 posts import करण्यापूर्वी ही अट तुम्हाला मान्य आहे का ते ठरवा.

Flarum: हलके PHP forum

Flarum हे एक सामान्य PHP application आहे: nginx किंवा Apache मागे php-fpm, MySQL किंवा MariaDB database आणि disk वरील files. दस्तऐवजीकरणानुसार PHP 7.3 किंवा त्यानंतरची आवृत्ती, तसेच curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer आणि zip extensions आवश्यक आहेत. याशिवाय MySQL 5.6+ (किंवा 8.0.23+) किंवा MariaDB 10.0.5+ आवश्यक आहे. Ubuntu 24.04 मध्ये PHP 8.3 येते, जी या किमान आवश्यकतेपेक्षा नवीन आहे.

त्या यादीतील pdo_mysql लक्षात घ्या. Flarum PostgreSQL ला support करत नाही आणि SQLite लाही support करत नाही. तुम्हाला single-file database हवा असेल, तर खाली phpBB आहे.

sudo apt update
sudo apt install -y nginx mariadb-server composer php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
sudo install -d -m 755 /srv/flarum
cd /srv/flarum
sudo COMPOSER_ALLOW_SUPERUSER=1 composer create-project flarum/flarum:^1.8.0 .
sudo chown -R www-data:www-data /srv/flarum

Web server ला /srv/flarum/public कडे निर्देशित करा, /srv/flarum कडे नाही. Application code, config file आणि database password हे सर्व public च्या एका directory वर असतात. त्यामुळे document root एक पातळी वर ठेवल्यास मागणी करणाऱ्या कोणालाही तुमची credentials मिळू शकतात. Apache वर mod_rewrite आणि AllowOverride All देखील आवश्यक आहेत, जेणेकरून वितरित केलेले .htaccess लागू होईल. nginx वर वितरित केलेले .nginx.conf तुमच्या server block मध्ये include करा. त्यानंतर domain उघडा. Flarum चा स्वतःचा installer database आणि admin account ची माहिती विचारेल.

ऑगस्ट 2026 मधील आवृत्तीस्थितीनुसार: 1.8.17 ही सध्याची stable release आहे. ती जून 2026 मध्ये प्रकाशित झाली. 2.0 ही release candidate 5 वर आहे. release candidate वापरून नवीन community सुरू करू नका. 2.0 आल्यावर extensions load होण्यासाठी त्यांना update करावे लागेल. हाच तो upgrade आहे ज्यासाठी तुमचा संपूर्ण weekend खर्च होऊ शकतो.

याचा footprint लहान आहे. काही php-fpm workers, काही शंभर MB memory वापरणारे MariaDB आणि static files एवढेच आवश्यक असतात. नवीन community 1 GB वर चालू शकते.

Moderation ही याची स्पष्ट कमजोरी आहे. Core मध्ये reports आणि प्रत्येक group साठी permissions मिळतात. Approval queues आणि spam blocking extensions मधून मिळतात. यासाठी प्रामुख्याने FriendsOfFlarum collection वापरली जाते. ती composer require ने install करून admin panel मध्ये enable केली जाते. हे आज कार्य करते. मात्र phpBB किंवा Discourse पेक्षा लहान volunteer ecosystem वर तुम्ही अवलंबून राहता. एखादे extension maintain केले जात नसेल, तर तुमचा पुढील core upgrade अडतो, कारण नवीन version सोबत Composer ते resolve करण्यास नकार देतो.

Data बाहेर काढणे सोपे आहे: mysqldump database चा dump घ्या आणि assets directory copy करा. Data आत आणणे कठीण आहे. Flarum ते Discourse या दिशेने Discourse flarum_import.rb वितरित करते. यावरून data flow सहसा कोणत्या दिशेने असतो हे स्पष्ट होते. phpBB Flarum मध्ये import करण्यासाठी first-party साधन नसून community extensions वापरावी लागतात. त्यामुळे एकमेव copy वर विश्वास ठेवण्यापूर्वी तिच्या प्रतिवर extension ची चाचणी घ्या.

NodeBB: रिअलटाइम पोस्टिंग आणि त्यासोबत येणारा अतिरिक्त भार

NodeBB हे Node.js वर आधारित आहे. ते नवीन पोस्ट websockets द्वारे उघड्या browsers कडे पाठवते, त्यामुळे active thread refresh न करता अपडेट होतो. NodeBB निवडण्याचे हेच कारण आहे. README मध्ये Node.js 22 किंवा त्यानंतरची आवृत्ती आणि MongoDB 5+ किंवा Redis 7.2+ यापैकी एक आवश्यक असल्याचे सांगितले आहे. तिसरा पर्याय म्हणून PostgreSQL driver source tree मध्ये समाविष्ट आहे.

या वाक्यातील अडचणीचा मुद्दा म्हणजे Redis ला primary database म्हणून वापरणे. Redis dataset memory मध्ये ठेवते. त्यामुळे forum वाढत असताना RAM ची गरजही वाढते; ती स्थिर राहत नाही. MongoDB किंवा PostgreSQL डेटा disk वर ठेवतात आणि वारंवार वापरला जाणारा डेटा cache करतात. Redis फक्त त्यामागचे कारण स्पष्टपणे सांगता येत असेल तरच निवडा.

Ubuntu 24.04 मध्ये Node.js 18 चे packages आहेत. ही आवृत्ती आवश्यक किमान आवृत्तीपेक्षा जुनी आहे. त्यामुळे आधी सध्याची runtime install करा.

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs git build-essential
sudo adduser --system --group --home /srv/nodebb nodebb
sudo -u nodebb git clone -b v4.x https://github.com/NodeBB/NodeBB.git /srv/nodebb
cd /srv/nodebb
sudo -u nodebb ./nodebb setup

./nodebb setup interactive आहे. ते कोणता database वापरायचा आणि त्याच्याशी कसे जोडायचे हे विचारते. त्यानंतर ते admin account तयार करते आणि port निवडते. त्याचा default port 4567 आहे. NodeBB npm start सह सुरू होत नाही. ./nodebb script हा interface आहे. Output ./nodebb log येथे जाते.

./nodebb start daemonise करते. रीबूट होणाऱ्या machine साठी ही चुकीची पद्धत आहे. त्याऐवजी loader ला foreground मध्ये systemd अंतर्गत चालवा.

[Unit]
Description=NodeBB
After=network.target

[Service]
Type=simple
User=nodebb
WorkingDirectory=/srv/nodebb
ExecStart=/usr/bin/env node loader.js --no-daemon
Restart=on-failure

[Install]
WantedBy=multi-user.target

--no-daemon हा लोकांकडून अनेकदा दुर्लक्षित राहणारा भाग आहे. तो नसल्यास loader fork होतो आणि parent बाहेर पडतो. त्यामुळे systemctl status nodebb unit dead असल्याचे दाखवते, तरी curl localhost:4567 उत्तर देत राहते. त्यानंतर systemctl stop nodebb काहीही थांबवत नाही. Reverse proxy मागे websocket upgrade headers पुढे पाठवणे आवश्यक आहे. nginx block मध्ये proxy_set_header Upgrade $http_upgrade; आणि proxy_set_header Connection "upgrade"; नसल्यास forum load होतो, browser console मध्ये अयशस्वी socket.io requests भरतात आणि reader refresh करेपर्यंत नवीन posts दिसत नाहीत.

Moderation च्या बाबतीत NodeBB हे Flarum आणि Discourse यांच्या मधले आहे. Admin panel मध्ये flag queue, प्रत्येक category साठी privileges आणि reputation system आहे. nodebb-plugin-spam-be-gone सारख्या community plugins द्वारे anti-spam सुविधा मिळते. हा plugin Akismet आणि StopForumSpam जोडतो.

Backups manually घ्यावे लागतात. गरज पडण्याच्या दिवसापर्यंत याचा उल्लेख सहसा होत नाही. ./nodebb CLI मध्ये backup command नाही. mongodump किंवा pg_dump वापरून database स्वतः dump करा. त्यासोबत public/uploads directory आणि config.json ही copy करा. config.json मध्ये database credentials आणि site URL असतात. त्यामुळे त्याशिवाय केलेला restore म्हणजे प्रत्यक्षात नवीन install असतो. First-party importer देखील नाही. nodebb-plugin-import हा community project आहे, पण तो सध्याच्या आवृत्त्यांबरोबर पुरेसा अद्ययावत राहिलेला नाही. Discourse मध्ये NodeBB importer समाविष्ट आहे. त्यामुळे निश्चितपणे कार्य करणारा migration मार्ग Discourse कडे जातो.

phpBB: अजूनही कार्यरत असलेले साधे आणि स्थिर सॉफ्टवेअर

phpBB जुने आहे, आणि तेच त्याचे महत्त्वाचे वैशिष्ट्य आहे. 3.3 मालिका PHP 7.2.0 पासून PHP 8.3 पर्यंत, त्यासह, चालते. तसेच ती MySQL 4.1.3+, MariaDB 5.1+, PostgreSQL 8.3+, SQLite 3.6.15+, MS SQL Server आणि Oracle यांना समर्थन देते. यासाठी json, mbstring आणि XML support आवश्यक आहेत. getimagesize() function देखील enabled असणे आवश्यक आहे.

SQLite मुळे phpBB या यादीत समाविष्ट होते. SQLite वापरल्यास forum म्हणजे PHP files ची एक directory आणि एक database file इतकेच असते. Database server आवश्यक नसतो. कोणतेही tuning करावे लागत नाही. Backup घेण्यासाठी अतिरिक्त घटक नसतात. आधीपासून दुसरे काही चालू असलेल्या 1 GB VPS वर हा फरक महत्त्वाचा ठरतो. लहान community साठी SQLite वापरा. Concurrent posting वाढू लागल्यावर MySQL कडे स्थलांतर करा, कारण SQLite writes serialise करते आणि posts एकमेकांच्या मागे queue होऊ लागतात.

Composer step किंवा container आवश्यक नाही. PHP सह web server install करा, archive unpack करा आणि browser installer चालवा. संपूर्ण stack setup Ubuntu 24.04 वरील standard LAMP stack मध्ये दिले आहे.

sudo apt update
sudo apt install -y apache2 php libapache2-mod-php php-mysql php-mbstring php-xml php-gd unzip

phpbb.com वरून सध्याची 3.3 release download करा. ती तुमचा vhost serve करत असलेल्या directory मध्ये unpack करा. त्यानंतर installer ज्या paths मध्ये लिहितो, त्या web server user साठी writable करा.

sudo chown -R www-data:www-data /srv/phpbb
sudo chmod 660 /srv/phpbb/config.php
sudo chmod -R 770 /srv/phpbb/store /srv/phpbb/cache /srv/phpbb/files /srv/phpbb/images/avatars/upload

अधिकृत सूचनांमध्ये 666 आणि 777 permissions सांगितल्या आहेत. त्या shared hosting साठी आहेत, जिथे PHP कोणत्या user म्हणून चालते यावर तुमचे नियंत्रण नसते. तुमच्या स्वतःच्या VPS वर हे नियंत्रण तुमच्याकडे असते. त्यामुळे ownership www-data ला द्या आणि इतर सर्व users साठी access बंद ठेवा. Apache मधील एक तपशील अनेकांना अडचणीत आणतो: Ubuntu चे config त्याच्या स्वतःच्या default document root अंतर्गतच access देते. त्यामुळे /srv/phpbb कडे निर्देश करणाऱ्या vhost मध्ये Require all granted सह जुळणारा <Directory> block देखील आवश्यक आहे. अन्यथा phpBB पर्यंत request पोहोचण्यापूर्वीच प्रत्येक request 403 Forbidden परत करते. Browser मध्ये /install/index.php येथे प्रक्रिया पूर्ण करा. त्यानंतर config.php पुन्हा 640 वर सेट करा आणि install/ directory delete करा. ती directory हटवली जात नाही तोपर्यंत phpBB तिच्याबद्दल warning दाखवत राहते.

Spam ही phpBB ची ज्ञात समस्या आहे, आणि ती सोडवता येते. Registration form predictable URL (ucp.php?mode=register) वर उपलब्ध असते. त्यामुळे domain crawl झाल्यानंतर काही दिवसांतच bots ते शोधतात. टिकाऊ उपाय admin panel मधील Spambot countermeasures विभागात आहे: anti-spam method म्हणून Question and Answer निवडा आणि तुमच्या community मधील सदस्यच उत्तर देऊ शकेल असा प्रश्न लिहा. Image CAPTCHAs (completely automated public Turing tests) सोडवण्यासाठी प्रति हजार शुल्क घेणाऱ्या services स्वस्तात उपलब्ध आहेत. तुमच्या स्वतःच्या विषयावर आधारित प्रश्नासाठी अशी service उपयोगी ठरत नाही.

Migration साठी phpBB हा सर्वाधिक समर्थन असलेला source देखील आहे. Discourse चे phpbb3.rb हे या संपूर्ण article मधील सर्वाधिक वापरले गेलेले importer आहे. phpBB support forums वर वीस वर्षांची उत्तरे उपलब्ध आहेत. बाहेर स्थलांतर करण्यासाठी mysqldump किंवा SQLite file copy करणे पुरेसे आहे. मात्र तुमचे styles आणि extensions स्थलांतरित होत नाहीत.

फोरमसाठी नोंदणीचे ईमेल कधीच का पोहोचत नाहीत?

या चारही प्लॅटफॉर्मवर नोंदणी पुष्टीकरण ईमेलवर अवलंबून असते. ते ईमेल पोहोचले नाही, तर खाते कधीही सक्रिय होत नाही आणि logs मध्ये नोंदणीची प्रक्रिया मध्येच थांबलेली दिसते. फोरम प्रत्यक्षात कार्यरत राहील की नाही हे outbound email deliverability वर अवलंबून असते. त्यामुळे ती install प्रक्रियेचाच भाग माना.

  • बहुतेक VPS providers outbound port 25 मुलतः block करतात. त्यामुळे थेट delivery करण्याचा प्रयत्न करणारा स्थानिक Postfix कुठेही पोहोचत नाही. mail log मध्ये connect to gmail-smtp-in.l.google.com[...]:25: Connection timed out दिसते.
  • अगदी नवीन IP address ची sending reputation नसते. त्यामुळे delivery यशस्वी झाली तरी ईमेल spam folder मध्ये जाऊ शकते. पुष्टीकरण link साठी याचा अर्थ ईमेल पोहोचले नाही असाच होतो.
  • DNS मध्ये SPF (sender policy framework) आणि DKIM (domainkeys identified mail) records प्रकाशित नसतील, तर मोठे providers संदेश थेट नाकारतात. Google चा rejection संदेश 550 5.7.26 Unauthenticated email from example.com is not accepted due to domain's DMARC policy असा दिसतो. मोठ्या प्रमाणात ईमेल पाठवणाऱ्या प्रत्येकाकडून आता DMARC (domain-based message authentication, reporting and conformance) अपेक्षित आहे.

व्यवहार्य उपाय म्हणजे relay वापरणे. फोरमच्या SMTP settings port 587 वरील transactional mail provider कडे निर्देशित करा. त्या provider ने दिलेले SPF, DKIM आणि DMARC records प्रकाशित करा. ईमेल mail.example.com सारख्या subdomain वरून पाठवा, म्हणजे फोरमची reputation तुमच्या वैयक्तिक mail पासून स्वतंत्र राहील. Mail server स्वतः चालवणे शक्य आहे आणि VPS वर पूर्ण self-hosted mail server याचे वर्णन करते. मात्र deliverability शिकण्यासाठी फोरम launch चा आठवडा योग्य वेळ नाही.

फोरमची घोषणा करण्यापूर्वी चाचणी करा. Discourse मध्ये container च्या आतून:

cd /var/discourse
./launcher enter app
rake emails:test[you@example.com]

हे task SMTP connection तपासते आणि एक संदेश पाठवते. Credentials चुकीचे असल्यास ते failure चे कारण सांगते. साधारणपणे ते Net::SMTPAuthenticationError असे दिसते. phpBB मध्ये admin panel मधील Client communication अंतर्गत यासाठी समतुल्य चाचणी आहे. Flarum आणि NodeBB साठी मोठ्या provider कडील प्रत्यक्ष mailbox वापरून तात्पुरते खाते नोंदवा आणि आलेल्या संदेशाचे raw headers वाचा. Authentication-Results header मधील spf=pass आणि dkim=pass हे तुम्ही शोधत असलेले परिणाम आहेत.

Discourse बाबत एक महत्त्वाची बाब आहे. August 2026 पासून setup wizard मध्ये SMTP वगळून Discourse ID वर fallback करण्याची सुविधा आहे. यात ईमेल केलेल्या link ऐवजी external account वापरून लोक sign in करतात. त्यामुळे relay शिवाय launch करता येतो. मात्र यामुळे notification mail किंवा password resets उपलब्ध होत नाहीत. त्यामुळे community वाढण्यापूर्वी SMTP configure करा.

फोरमला TLS मागे कसे ठेवावे?

Flarum आणि phpBB हे सामान्य virtual hosts आहेत. त्यामुळे तुम्ही आधीपासून चालवत असलेल्या web server वरील certbot पुरेसे आहे. NodeBB आणि Discourse वेगळे आहेत. हे applications स्थानिक ports वर listening करतात. त्यामुळे पुढे TLS (transport layer security) termination करून hostname नुसार routing करणारा घटक आवश्यक असतो. फोरम त्याच server वर इतर services सोबत चालत असल्यास, सर्व services च्या पुढे एकच reverse proxy ठेवा. यासाठी अनेक Docker Compose apps च्या पुढे Traefik वापरता येतो.

Discourse ची default configuration स्वतः ports 80 आणि 443 ताब्यात घेते. त्यासाठी ते स्वतःचे nginx आणि स्वतःचा Let's Encrypt template वापरते. ते विद्यमान proxy च्या मागे ठेवण्यासाठी app.yml संपादित करा, templates/web.letsencrypt.ssl.template.yml line काढा, exposed ports बदला, जेणेकरून container फक्त स्थानिक address वर listening करेल, आणि त्यानंतर ./launcher rebuild app चालवा. हे नंतर केल्यास rebuild आणि काही मिनिटांचा downtime लागतो. त्यामुळे install करण्यापूर्वी निर्णय घ्या; install केल्यानंतर नाही.

तुमच्या समुदायाच्या आकाराला कोणते forum योग्य आहे?

निर्णय घेताना features पेक्षा लोकसंख्येचा विचार करा.

  • काहीशे members पेक्षा कमी सदस्य, एक moderator आणि 1 GB RAM असल्यास: SQLite वर phpBB वापरा. आधुनिक interface हवा असेल आणि MariaDB चालवता येत असेल, तर Flarum वापरा. दोन्ही एकल PHP applications आहेत आणि त्यांचे patches लागू ठेवणे सोपे आहे.
  • समुदाय वाढत असेल, दोन किंवा अधिक moderators असतील आणि 4 GB RAM असेल, तर: Discourse वापरा. Moderation एका व्यक्तीच्या क्षमतेत बसत नाही असे होताच Trust levels आणि review queue यांच्यासाठी लागणारी अतिरिक्त संसाधने योग्य ठरतात.
  • टिकाऊ threads पेक्षा live conversation अधिक महत्त्वाचे असेल, तर: NodeBB वापरा. अन्यथा ते chat आहे हे मान्य करून Docker Compose वर Rocket.Chat चालवा. एका आठवड्यानंतर वाचण्यासारखे काहीही उरत नसेल, तर ते forum नसून chat server असावे.
  • प्रत्यक्ष गरज discussion ऐवजी documentation ची असेल, तर: यापैकी कोणतेही वापरू नका. BookStack, Wiki.js किंवा Outline या गरजेला अधिक चांगले उत्तर देतात. वारंवार विचारल्या जाणाऱ्या समान प्रश्नांनी भरलेले forum म्हणजे सहसा अनुपलब्ध wiki असते.
  • Server वर नेमके काय ठेवायचे हे अजून ठरले नसेल, तर: 2026 साठीची विस्तृत self-hosting shortlist हा अधिक चांगला प्रारंभबिंदू आहे. self-hosted Notion alternatives मार्गदर्शक forums आणि shared workspaces यांच्यातील साम्य स्पष्ट करतो.

तुम्ही कोणतेही forum निवडा, त्याची टिकाऊपणा शेवटचा restore केलेला backup किती विश्वसनीय आहे यावर अवलंबून असतो. ठरलेल्या वेळापत्रकानुसार database dump घ्या, त्याच job मध्ये uploads directory ची प्रत तयार करा आणि dump वापरण्यायोग्य आहे हे सिद्ध करण्यासाठी तो एकदा दुसऱ्या ठिकाणी restore करा. VPS वर scheduled restic backups हा भाग स्पष्ट करते. या setup मधील दुसरी संधी नसलेला हा एकमेव भाग आहे.

FAQ

स्वयं-होस्ट केलेल्या फोरमसाठी सर्व्हरच्या किमान आवश्यकता कोणत्या आहेत?

इतर सेवांसोबत चालवताना SQLite असलेले phpBB 1 GB RAM वर चालते, कारण त्यासाठी स्वतंत्र database server आवश्यक नसतो. Flarum साठी 1 GB RAM आणि MariaDB आवश्यक आहे. MongoDB सोबत NodeBB 2 GB RAM वर सुरळीत चालते. Discourse swap आणि 10 GB disk सह 1 GB ही किमान आवश्यकता सांगते; परंतु प्रत्यक्षात 2 GB ही किमान व्यवहार्य मर्यादा आहे आणि व्यस्त फोरमसाठी 4 GB योग्य आहे. कारण प्रत्येक upgrade वेळी ./launcher rebuild app memory मध्ये assets पुन्हा compile करते. त्यावेळी लहान सर्व्हर kernel च्या out of memory handler कडून बंद केला जाऊ शकतो.

माझा phpBB फोरम Discourse वर हलवता येईल का?

होय. येथे ही सर्वाधिक समर्थित migration पद्धत आहे. Discourse मध्ये script/import_scripts/phpbb3.rb उपलब्ध आहे. ते phpBB database च्या प्रतीवर container मध्ये चालवा; live database वर कधीही चालवू नका. Users, categories, topics, posts आणि attachments स्थलांतरित होतात. Styles आणि extensions स्थलांतरित होत नाहीत. जुन्या topic URLs बदलतात. त्यामुळे DNS बदलण्यापूर्वी phpBB paths साठी redirects तयार करा. मोठ्या boards साठी यास काही तास लागू शकतात. त्यामुळे scratch server वर एकदा import करून त्याचा कालावधी मोजा.

नवीन users ना activation email कधीच का मिळत नाही?

बहुतेक VPS providers outbound port 25 block करतात. त्यामुळे local mail server कोणतेही email deliver करू शकत नाही. Log मध्ये recipient च्या mail exchanger विरुद्ध Connection timed out दिसते. Delivery होत असली तरी SPF किंवा DKIM records नसलेला नवीन IP reject किंवा filter केला जाऊ शकतो. Google कडून 550 5.7.26 Unauthenticated email ... is not accepted due to domain's DMARC policy उत्तर मिळते. Port 587 वरील relay मार्फत email पाठवा. त्या relay ने दिलेले SPF, DKIM आणि DMARC records publish करा. त्यानंतर test registration करून तुम्हाला मिळालेल्या message चे Authentication-Results header वाचा.

कोणत्या self-hosted forum software साठी moderation चे काम सर्वात कमी असते?

Discourse, कारण त्याची workflow सुविधा core मध्येच आहे; ती नंतर जोडलेली सुविधा नाही. नवीन accounts पुरेसे वाचन करेपर्यंत rate limited असतात. Flags अशा queue मध्ये जमा होतात ज्यात त्यावर कारवाई कोणी केली याची नोंद असते. Akismet plugin अधिकृत आहे. Question and Answer anti-spam method enable केल्यानंतर phpBB देखील जवळपास तितकेच सक्षम होते. त्यामुळे बहुतेक bot registration आपोआप थांबते. Flarum आणि NodeBB याच कामांसाठी community extensions वर अवलंबून असतात. यामुळे मूळ घटक बदलत नाही: moderation load किती लोक post करतात यावर वाढतो, ते कोणते software वापरतात यावर नाही.