HostData.id – Chatwoot adalah sebuah platform customer engagement bersifat open-source yang dirancang untuk menyatukan semua kanal komunikasi pelanggan Anda ke dalam satu dasbor terpadu. Bayangkan Anda bisa mengelola percakapan dari Live Chat di website, pesan masuk ke halaman Facebook, Direct Message di Twitter, email, dan bahkan WhatsApp, semuanya dari satu tempat.
Prerequiresites
sebelum memulai instalasi Chatwoot pastikan Anda sudah memenuhi beberapa kebutuhan untuk digunakan pada artikel kali ini:
- VPS Indonesia Murah, NAT VPS
- VPS dengan Sistem Operasi Linux
- CPU: 2 cores
- RAM: 4GB
- Storage: 20GB SSD
- Domain dengan DNS Management
Goals
Berikut goals pada Artikel kali ini:
- Berhasil instalasi Chatwoot
- Akses dashboard dengan domain
- Integrasi Chatwoot dengan Telegram / Telegram bot untuk live chat
Instalasi Chatwoot di VPS (Docker) untuk Layanan Pelanggan
Sebelum melakukan instalasi Chatwoot di VPS (Docker). Anda bisa melakukan koneksi SSH terlebih dahulu ke VPS Anda masing masing. Buka Terminal atau CMD, kemudian jalankan command prompt berikut:
ssh root@IP_Address -p 22
Masukkan Password apabila meminta kredensial password.
Sebuah welcome message akan ditampilkan saat kredensial yang dikirimkan adalah benar.

Welcome message
Langkah 1: Menginstal Docker
Chatwoot berjalan menggunakan Docker. Sebelum melanjutkan ke tahap konfigurasi, pastikan Docker CE sudah terinstal di server Anda. Panduan instalasinya bisa Anda ikuti di artikel instalasi Docker CE dari Hostdata.
Langkah 2: Mengunduh file yang diperlukan
Setelah Docker terinstal, Anda dapat mulai menyiapkan Chatwoot dengan mengunduh file konfigurasi yang diperlukan. Buat direktori /root/chatwoot, lalu unduh file environment dan template Docker Compose dari repositori resmi:
mkdir /root/chatwoot wget -O /root/chatwoot/.env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example wget -O /root/chatwoot/docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml cd /root/chatwoot

Unduh File Yang Diperlukan
Langkah 3: Edit File Konfigurasi Chatwoot
Edit file .env dan docker-compose.yaml untuk menyesuaikan konfigurasi Chatwoot sesuai kebutuhan Anda. Salah satu hal penting yang perlu diperhatikan adalah pengaturan kredensial layanan seperti Redis dan PostgreSQL.
Di file .env, Anda dapat mengganti parameter berikut:
-
REDIS_PASSWORD: Password untuk Redis yang digunakan oleh Chatwoot. Gantilah nilainya agar tidak menggunakan default demi keamanan. -
POSTGRES_PASSWORD: Password untuk PostgreSQL. Pastikan nilainya aman dan sesuai standar Anda.
Di file docker-compose.yaml, pastikan nilai POSTGRES_PASSWORD sama persis dengan yang Anda set di .env, karena nilai ini digunakan saat container PostgreSQL dijalankan.
# Ubah password Redis dan PostgreSQL nano /root/chatwoot/.env # Pastikan nilai password PostgreSQL sama di file Docker Compose nano /root/chatwoot/docker-compose.yaml
💡 Disarankan untuk menggunakan password yang kuat dan tidak menggunakan nilai default agar sistem lebih aman. Jika Anda menggunakan layanan database eksternal (managed), Anda bisa mengabaikan service default di
docker-compose.yamldan cukup mengatur host serta kredensialnya di.env.
Langkah 4: Konfigurasi Database Chatwoot
Setelah file konfigurasi selesai disesuaikan, langkah selanjutnya adalah menyiapkan basis data yang dibutuhkan oleh Chatwoot. Jalankan perintah berikut untuk melakukan inisialisasi database, migrasi skema, dan pengisian data awal secara otomatis:
cd /root/chatwoot docker compose run --rm rails bundle exec rails db:chatwoot_prepare
💡 Pastikan semua service yang dibutuhkan (seperti PostgreSQL dan Redis) sudah siap sebelum menjalankan perintah ini. Jika menggunakan layanan eksternal, pastikan kredensial di
.envsudah benar.
Langkah 5: Jalankan Layanan Chatwoot
Setelah database berhasil disiapkan, jalankan semua layanan Chatwoot dalam mode latar (background) menggunakan perintah berikut:
docker compose up -d
Perintah ini akan:
-
Menjalankan semua container yang didefinisikan dalam
docker-compose.yaml -
Termasuk aplikasi Chatwoot, Redis, PostgreSQL (jika tidak menggunakan layanan eksternal).
Untuk memastikan semua layanan berjalan dengan baik, Anda bisa menggunakan:
Langkah 5: Akses Layanan Chatwoot
Pemasangan Chatwoot Anda telah selesai. Namun secara default, kontainer Chatwoot hanya terikat ke localhost, sehingga tidak dapat diakses langsung dari internet.
Untuk mengakses Chatwoot dari luar, Anda perlu menyiapkan reverse proxy seperti Nginx untuk meneruskan trafik ke container. Ini adalah pendekatan yang lebih aman dan fleksibel untuk produksi.
Verifikasi Instalasi Lokal
Untuk memastikan bahwa instance Chatwoot berjalan dengan benar secara lokal, jalankan perintah berikut:
Jika Anda ingin melakukan pengujian cepat tanpa reverse proxy, Anda bisa sementara mengganti binding port di docker-compose.yaml dari:
127.0.0.1:3000:3000
menjadi:
3000:3000

Edit file Dockerdocker-compose.yaml
Setelah itu, jalankan ulang layanan:
docker compose down docker compose up -d
Lalu akses Chatwoot melalui browser di:
http://<alamat-IP-server-Anda>:3000

Instalasi Chatwoot di VPS (Docker)
⚠️ Catatan penting: Setelah selesai melakukan pengujian, kembalikan pengaturan port ke 127.0.0.1:3000:3000 dan gunakan reverse proxy seperti Nginx untuk akses permanen demi keamanan dan fleksibilitas.
Konfigurasikan Apache dan Let’s Encrypt
Untuk membuat Chatwoot dapat diakses melalui domain dan aman dengan HTTPS, Anda bisa menggunakan Apache sebagai reverse proxy dan mengatur sertifikat SSL dari Let’s Encrypt.
Pointing Domain
Sebelum melanjutkan ke konfigurasi Apache dan SSL, pastikan domain Anda sudah mengarah ke IP VPS Anda. Tanpa ini, permintaan ke domain tidak akan sampai ke server. Berikut adalah panduan lengkap untuk pointing domain dengan Cloudflare.
Jalankan Let’s Encrypt untuk Konfigurasi Sertifikat SSL
Setelah domain Anda terpointing ke IP VPS dan virtual host Apache sudah disiapkan, saatnya menginstal sertifikat SSL dari Let’s Encrypt agar Chatwoot dapat diakses secara aman melalui HTTPS.
- Install Certbot dan Plugin Apache
sudo apt update sudo apt install certbot sudo apt-get install python3-certbot-apache
- Jalankan Certbot untuk Mendapatkan Sertifikat SSL
Gantidomainanda.comdengan nama domain Anda:certbot --webroot -w /var/www/html -d domainanda.com -i apache

Perintah ini akan:
-
Melakukan validasi domain via webroot
-
Menghasilkan sertifikat SSL dari Let’s Encrypt
-
Konfigurasikan Apache Web Server
-
Install Apache
Pertama, pastikan Apache telah terpasang di server Anda:
sudo apt-get update sudo apt-get install apache2
-
Buat Virtual Host untuk Domain Anda
Pindah ke direktori konfigurasi situs Apache:
cd /etc/apache2/sites-available
Lalu buat file konfigurasi untuk domain Anda, misalnya
chatwoot.syntaxia.site.conf:sudo nano chatwoot.syntaxia.site.conf
Masukkan konfigurasi berikut:
<VirtualHost *:80> ServerName chatwoot.domainanda.com Redirect permanent / https://chatwoot.domainanda.com/ </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName chatwoot.domainanda.com ProxyPreserveHost On ProxyPass / http://127.0.0.1:3000/ ProxyPassReverse / http://127.0.0.1:3000/ SSLEngine on SSLCertificateFile /etc/letsencrypt/live/chatwoot.domainanda.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/chatwoot.domainanda.com/privkey.pem </VirtualHost> </IfModule>Setelah selesai, simpan dan keluar dari editor (
Ctrl + O, laluEnteruntuk menyimpan danCtrl + Xuntuk keluar jika menggunakannano). - Aktifkan Modul Apache yang Dibutuhkan
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_ajp sudo a2enmod rewrite sudo a2enmod deflate sudo a2enmod headers sudo a2enmod proxy_balancer sudo a2enmod proxy_connect sudo a2enmod proxy_html sudo a2enmod ssl
- Nonaktifkan Konfigurasi Default dan Aktifkan Konfigurasi Baru
sudo a2dissite *default*.conf sudo a2ensite chatwoot.syntaxia.site.conf sudo systemctl reload apache
- Akses Chatwoot Dengan Domain
Setelah konfigurasi selesai, Anda sudah dapat mengakses aplikasi Chatwoot melalui browser:
https://chatwoot.domainanda.site/
Pastikan domain telah mengarah ke IP server, port 443 terbuka, dan konfigurasi reverse proxy Apache sesuai.
Konfigurasi Akses Admin Chatwoot
Setelah proses instalasi Chatwoot selesai, Anda dapat mengakses domain yang Anda tentukan selama instalasi. Pastikan akses ke domain berjalan lancar sebelum melanjutkan ke langkah berikutnya.
Menyelesaikan Pengaturan Akun Admin
Setelah berhasil mengakses domain, langkah selanjutnya adalah mengisi data untuk akun admin. Isikan informasi berikut pada formulir yang tersedia:
-
Nama: Nama Anda sebagai admin.
-
Nama Perusahaan: Nama perusahaan atau organisasi Anda.
-
Email Kerja: Alamat email yang digunakan untuk keperluan administratif.
-
Kata Sandi: Buat kata sandi yang aman untuk akun admin Anda.

Menyelesaikan Pengaturan Akun Admin
Setelah mengisi semua data, klik “Finish Setup” untuk menyelesaikan proses pengaturan.
Setelah proses konfigurasi akun admin selesai, Anda akan diarahkan ke halaman login. Masukkan kredensial yang baru saja Anda buat untuk login ke dalam sistem.

Halaman Login
Setelah berhasil login, Anda akan langsung diarahkan ke Dashboard Chatwoot. Di halaman ini, Anda dapat mulai mengelola dan memantau interaksi pelanggan dengan memanfaatkan berbagai fitur yang tersedia di Chatwoot.

Dashboard Chatwoot
Integrasi Telegram Bot dengan Chatwoot untuk Layanan Pelanggan
Sebelum membahas teknis lebih lanjut, mari kita pahami terlebih dahulu apa itu bot Telegram. Bot Telegram adalah program otomatis yang beroperasi di dalam aplikasi Telegram. Bot ini dapat digunakan untuk berbagai tujuan, seperti memberikan informasi, menjalankan perintah, bahkan untuk bermain game. Dalam pembahasan ini, kita akan fokus menggunakan bot Telegram sebagai Customer Service (CS) atau layanan pelanggan.
langkah-langkah membuat bot Telegram
- Buat Bot di BotFather:
-
- Buka aplikasi Telegram dan cari “@BotFather”.
- Ketik
/newbotuntuk membuat bot baru.
- Berikan nama bot (minimal 5 karakter, maksimal 32 karakter, dan diakhiri dengan “bot”).
BotFather akan memberikan token API, simpan baik-baik

Bot Token Api
Cara Mengintegrasikan Bot Telegram dengan Chatwoot
Setelah Anda mendapatkan API Bot Telegram, langkah selanjutnya adalah mengonfigurasi integrasi bot Telegram dengan Chatwoot.
-
Login ke Chatwoot
Masuk terlebih dahulu ke akun Chatwoot Anda. -
Masuk ke Menu Setting
Setelah login, buka menu Settings > Inboxes.

-
Tambahkan Inbox Baru
Klik tombol Add Inbox yang terletak di kanan atas layar.

-
Pilih Channel Telegram
Pada pilihan Choose Channel, pilih Telegram.

-
Masukkan Token Bot Telegram
Di bagian Create Inbox, masukkan Telegram Bot Token yang Anda dapatkan sebelumnya, lalu klik Create Telegram Channel.

-
Tambahkan Agen
Di bagian Add Agents, pilih agen yang akan diberikan akses untuk mengelola inbox Telegram ini, kemudian klik Add Agent.

-
Konfirmasi Konfigurasi Berhasil
Jika muncul pesan “Your Inbox is ready!”, berarti proses konfigurasi sudah berhasil dilakukan.

Uji Coba Integrasi Bot Telegram dengan Chatwoot
Langkah pertama adalah menguji bot Telegram yang sudah terintegrasi. Berikut adalah cara uji coba integrasi Telegram Bot dengan Chatwoot:
-
Akses Bot Telegram
Coba akses bot Telegram yang telah Anda integrasikan, misalnya melalui username @tutorhostdatabot. -
Kirim Pesan ke Bot
Lalu coba krim pesan ke bot tersebut. -
Balas Pesan Melalui Chatwoot
Selanjutnya, coba balas pesan yang masuk tersebut langsung dari Chatwoot. Anda dapat memantau dan merespons percakapan pelanggan dengan mudah.

Jika Anda mengikuti semua langkah di atas dengan benar, integrasi Chatwoot dengan Telegram akan berhasil.
Penutup
Integrasi Chatwoot dengan bot Telegram adalah langkah strategis untuk meningkatkan layanan pelanggan Anda. Dengan menghubungkan kedua platform ini, Anda mengubah Telegram menjadi kanal customer support yang efisien dan terpusat. Tim Anda kini dapat mengelola semua percakapan secara profesional dari satu dasbor, mempercepat respons, dan pada akhirnya meningkatkan kepuasan pelanggan.
Demikian panduan lengkap untuk instalasi Chatwoot dan integrasi Telegram Bot di VPS Anda. Dengan mengikuti langkah-langkah ini, Anda telah berhasil membangun sebuah platform komunikasi modern untuk layanan pelanggan yang lebih responsif.


