Pazar, Aralık 22, 2024

Raspberry Pi Üzerine Rocket.Chat Nasıl Kurulur?

raspberry pi yüksek çözünürlüklü logo, raspberry pi logo

Ücretsiz sesli ve görüntülü konuşma imkanı sağlayan, ekran ve dosya paylaşımı yapabileceğiniz, açık kaynak kodlu bir uygulamadır. Üstelik bütün bunları yaparken uçtan uca her şeyi şifreler. Bizde bu güzelim uygulamayı Raspberry Pi üzerine kuracağız.

Kurduğumuz sistemi güncelleyerek işe başlıyoruz.

apt update && apt dist-upgrade -y

Ardından sistemimize gerekli olan bağımlılıkları kuralım bunlar içerisinde mongodb ve nodejs bulunuyor.

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get -y update && sudo apt-get install -y curl && curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get update
sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick

Bağımlılıklarımızı böylelikle kurmuş oluyoruz, sistemimiz artık hazır. Rocket.Chat uygulamasını kurmaya geldi sıra

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
rm -r /tmp/bundle/programs/server/npm/node_modules/sharp/vendor 
cd /tmp/bundle/programs/server && npm install
sudo mv /tmp/bundle /opt/Rocket.Chat
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

Rocket.Chat için servis dosyasını oluşturuyoruz.

cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000
PORT=3000
[Install]
WantedBy=multi-user.target
EOF

İşlemler tamamlandı Rocket.Chat artık çalıştırılmak için hazır, ama işlemlerimiz tamamlanmadan mongodb’mizi yapılandıralım.

sed -i "s/^#replication:/replication:\n  replSetName: rs01/" /etc/mongod.conf
sed -i "s/bindIp/#bindIp/"  /etc/mongod.conf
systemctl enable mongod && systemctl start mongod
mongo --eval "printjson(rs.initiate())" 
systemctl enable rocketchat && systemctl start rocketchat

Artık hazırız, Rocket.Chat kullanıma hazır 3000 portu üzerinden hizmet vermeye başlayacak. İsterseniz bunu Nginx arkasına alarak servis edebilirsiniz.


Bu işlemleri yapmam ben hazırı seviyorum diyenler aşağıdaki betiği kullanabilirler.

bash -c "$(curl https://install.rocket.chat)"

Kurulum tamamlandığında rocketchatctl install komutunu verip işlemi sonlandırabilirsiniz.