Instalasi Chatwoot Dengan Docker untuk Layanan Pelanggan

  • Home
  • General
  • Instalasi Chatwoot Dengan Docker untuk Layanan Pelanggan

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

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

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.yaml dan 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 .env sudah 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:

docker compose ps

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:

curl -I localhost:3000/api
Curl Via Localhost

Curl Via Localhost

Akses Sementara via IP Eksternal (opsional)

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

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)

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
    Ganti domainanda.com dengan 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, lalu Enter untuk menyimpan dan Ctrl + X untuk keluar jika menggunakan nano).

  • 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

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

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

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 /newbot untuk 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

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:

  1. Akses Bot Telegram
    Coba akses bot Telegram yang telah Anda integrasikan, misalnya melalui username @tutorhostdatabot.

  2. Kirim Pesan ke Bot
    Lalu coba krim pesan ke bot tersebut.

  3. 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.

Butuh Bantuan?