Di tulisan ini aku mau sharing soal pengalamanku install OpenClaw di Docker.
Sebenernya dulu aku sempet bingung pas pertama kali mau nyobain OpenClaw. Dokumentasinya ada, tapi karena aku masih baru, kadang langkah-langkahnya kurang detail buat aku yang butuh dipandu pelan-pelan. Makanya aku catat di sini, lengkap, biar kalau ada yang mau nyobain juga gak perlu bingung kayak aku dulu.
OpenClaw ini cocok buat kamu yang mau punya asisten AI di Telegram dengan cepat. Cara pakainya mirip-mirip ChatGPT, tapi jalan di server sendiri dan bisa kamu akses lewat bot Telegram. Gak perlu ribet-ribet setup yang berat.
OpenClaw adalah platform AI Agent yang bisa diinstall di server sendiri. Dokumentasi resminya sebenarnya sudah cukup jelas, tetapi bagi pemula yang baru pertama kali menyentuh Docker, beberapa langkah mungkin terasa melompat. Artikel ini saya tulis sebagai catatan sekaligus panduan bagi siapa pun yang ingin mengikuti jejak yang sama: punya AI Agent di Telegram, jalan di server sendiri, tanpa ribet.
OpenClaw cocok untuk Anda yang:
– Baru ingin memulai perjalanan dengan AI Agent
– Membutuhkan bot Telegram sederhana yang cepat diinstall
– Ingin merasakan pengalaman mengelola AI sendiri sebelum beralih ke framework yang lebih kompleks
Persiapan
Sebelum memulai, pastikan Anda telah menyiapkan kebutuhan berikut:
Server atau VPS
• Keterangan: Minimal RAM 1GB, sistem operasi Ubuntu atau Debian
• Cara Mendapatkan: Sewa dari DigitalOcean, Linode, Vultr, atau penyedia VPS lokal
Docker
• Keterangan: Platform containerisasi untuk menjalankan aplikasi
• Cara Mendapatkan: Jalankan: `curl -fsSL https://get.docker.com \
Token Telegram Bot
• Keterangan: Kunci akses untuk menghubungkan bot ke Telegram
• Cara Mendapatkan: Buat bot baru melalui @BotFather di Telegram
DeepSeek API Key / bisa pakai model lainnya
• Keterangan: Kunci akses untuk menggunakan model AI
• Cara Mendapatkan: Daftar di platform.deepseek.com, lalu buat API key
Jika Docker belum terinstall, jalankan perintah berikut:
curl -fsSL https://get.docker.com | sh
Setelah proses selesai, logout dan login kembali agar perubahan grup Docker diterapkan. Verifikasi instalasi dengan:
docker --version
Langkah 1: Membuat Bot Telegram
Buka Telegram, cari akun @BotFather, lalu kirim perintah:
/newbot
BotFather akan merespons dan memulai percakapan seperti ini:
@BotFather
──────────────────────────────
Alright, a new bot. How are we going to call it?
Please choose a name for your bot.
──────────────────────────────
Ketik nama bot yang kamu inginkan, misalnya:
Asisten OpenClaw
BotFather akan menjawab lagi:
@BotFather
──────────────────────────────
Good. Now let's choose a username for your bot.
It must end with '_bot'. Like this: TetrisBot atau tetris_bot.
──────────────────────────────
Ketik username yang unik dan diakhiri _bot, misalnya:
asisten_openclaw_bot
Jika username tersedia, BotFather akan mengirimkan token seperti ini:
@BotFather
──────────────────────────────
Done! Congratulations on your new bot.
You will find it at t.me/asisten_openclaw_bot.
Use this token to access the HTTP API:
──────────────────────────────
1234567890:ABCdefGHIjklmNOPqrstUVwxyz
Simpan token ini. Token inilah yang akan kita gunakan untuk menghubungkan OpenClaw dengan bot Telegram kamu. Jangan pernah membagikan token ini ke siapa pun siapa saja yang memilikinya dapat mengendalikan bot kamu.
Langkah 2: Menyiapkan Folder Project
Masuk ke server melalui SSH. Setelah terhubung, buat folder khusus untuk project ini.
Ketik perintah berikut di terminal:
$ mkdir -p ~/openclaw-docker/config $ cd ~/openclaw-docker
Terminal akan merespons seperti ini:
─$ mkdir -p ~/openclaw-docker/config
─$ cd ~/openclaw-docker
─$
Tidak ada pesan error? Artinya folder sudah berhasil dibuat. Struktur folder yang akan terbentuk:
~/openclaw-docker/
├── config/
│ └── (akan diisi file .env)
└── (akan diisi docker-compose.yml)
Langkah 3: Membuat File Konfigurasi .env
File .env digunakan untuk menyimpan token Telegram dan API key DeepSeek secara terpisah, sehingga lebih aman dan mudah dikelola.
Jalankan editor nano untuk membuat file:
$ nano config/.env
Layar akan berubah menjadi editor teks seperti ini:
GNU nano 7.2 config/.env Modified ┌─────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─────────────────────────────────────────────────────────────────────────────┤ ^G Help ^O WriteOut ^R ReadFile ^Y Prev Page ^K CutText ^C CurPos ^X Exit ^F Find ^H Replace ^V Next Page ^U UncutText ^T To Spell
Ketik isi file berikut:
TELEGRAM_BOT_TOKEN= masukkan token bot telegram yang sudah kamu buat
DEEPSEEK_API_KEY= masukkan API KEY Model yang kamu gunakan
Cara menyimpan dan keluar:
1. Tekan Ctrl + X — nano akan menanyakan “Save modified buffer?”
2. Tekan Y — untuk mengkonfirmasi penyimpanan
3. Tekan Enter — untuk menyimpan dengan nama file yang sama
Setelah kembali ke terminal, verifikasi file sudah terisi:
$ cat config/.env
Output yang diharapkan:
TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklmNOPqrstUVwxyz DEEPSEEK_API_KEY=***
Catatan penting: File .env berisi informasi sensitif. Jangan pernah memasukkan file ini ke GitHub atau membagikannya ke orang lain.
Langkah 4: Membuat File Docker Compose
Docker Compose adalah alat untuk mendefinisikan dan menjalankan aplikasi dalam container Docker. Untuk OpenClaw, kita hanya membutuhkan satu container.
Buat file baru:
$ nano docker-compose.yml
Ketik konfigurasi berikut:
version: '3.8'
services:
openclaw-bot:
image: node:20-slim
container_name: openclaw-bot
ports:
- "18790:18790"
volumes:
- ./config:/app/config
working_dir: /app
command: >
sh -c "npm install -g openclaw && openclaw gateway --port 18790"
environment:
- TELEGRAM_BOT_TOKEN=***
- DEEPSEEK_API_KEY=***
restart: unless-stopped
Simpan dengan Ctrl + X, lalu Y, lalu Enter.
Penjelasan masing-masing parameter:
image: node:20-slim
• Fungsi: Menggunakan image Node.js versi 20 yang ringan
container_name
• Fungsi: Nama container untuk memudahkan identifikasi
ports: "18790:18790"
• Fungsi: Memetakan port container ke port server
volumes
• Fungsi: Menghubungkan folder konfigurasi lokal ke dalam container
command
• Fungsi: Perintah yang dijalankan saat container dimulai
restart: unless-stopped
• Fungsi: Container otomatis menyala kembali setelah server restart
Langkah 5: Mengekspor Variabel Lingkungan
Agar Docker Compose dapat membaca file .env, ekspor variabel-variabelnya ke shell:
export $(grep -v '^#' config/.env | xargs)
Verifikasi dengan:
echo $TELEGRAM_BOT_TOKEN
Jika token muncul, maka proses ekspor berhasil.
Langkah 6: Menjalankan OpenClaw
Jalankan container dengan perintah:
docker compose up -d
Proses ini akan mendownload image Node.js, menginstall OpenClaw, dan menjalankannya. Untuk melihat progres:
docker compose logs -f
Tunggu hingga muncul pesan:
Gateway running on port 18790
Langkah 7: Memeriksa Status Container
Pastikan container berjalan dengan benar:
docker ps
Container openclaw-bot seharusnya muncul dengan status Up.
Langkah 8: Menguji Bot di Telegram
Buka Telegram, cari username bot yang sudah dibuat, dan kirim pesan:
Halo
Jika bot merespons, instalasi berhasil.
Troubleshooting
Jika bot tidak merespons, periksa log untuk mengetahui penyebabnya:
docker compose logs -f
Bot tidak merespons
• Kemungkinan Penyebab: Token Telegram salah
• Solusi: Periksa token di file .env
Respons lambat atau error
• Kemungkinan Penyebab: API Key tidak valid atau limit
• Solusi: Pastikan API key masih aktif
Container crash
• Kemungkinan Penyebab: Port sudah digunakan
• Solusi: Ganti port ke nomor lain, misalnya 18791:18790
Perintah Yang Pasti Berguna
Menghentikan container
• Perintah: docker compose down
Menjalankan kembali
• Perintah: docker compose up -d
Melihat log real-time
• Perintah: docker compose logs -f
Melihat resource container
• Perintah: docker stats
Itulah panduan install OpenClaw di Docker yang bisa aku share. Mulai dari menyiapkan server, membuat bot Telegram, mengatur konfigurasi, sampai menjalankannya semua bisa dilakukan dalam waktu singkat.
Tidak perlu jadi ahli Docker atau programmer senior untuk bisa punya AI Agent sendiri. Dengan mengikuti langkah-langkah di atas, siapapun bisa memiliki asisten virtual yang berjalan di server sendiri dan siap diajak ngobrol lewat Telegram.
Setelah bot berhasil berjalan, tantangan selanjutnya adalah bagaimana memanfaatkannya secara maksimal apakah hanya untuk ngobrol ringan, atau mulai dihubungkan dengan data dan sistem yang ada. Itu semua tergantung kebutuhan masing-masing.
Selamat mencoba, dan semoga bermanfaat. :’)
