Cara Pasang Userbot Telegram dengan Docker

Sep 13, 2021

Kisah ini bermula dari teman saya yang bilang kalau layanan continuous integration yang mereka gunakan untuk membuat rom sudah tidak bisa membuat rom secara bebas biaya. Tentu ini berdampak dengan nganggurnya layanan VPS yang ku gunakan, padahal sedang ku hemat saldonya agar bisa upload setiap saat. Daripada mubazir, akhirnya ku pakai saja untuk server userbot saja. Kali ini saya akan menggunakan teknologi kontainer untuk memasangnya dengan tujuan untuk mengurangi modifikasi pada sistem utama pada operasi sistem yang ada di server.

Pasang docker dulu, duh

Saya sendiri docker mengikuti petunjuk dari sini meskipun harus menambah repository lagi. Kalau semisal mau menggunakan compose sekalian ya sekalian pasang saja disini

Mencari Dockerfile dan Membuat Image

Untuk menambah kontainer pada sistem, kita membutuhkan image sebagai dasarnya. Untuk mendapatkan ini kita memperlukan dua cara. Pertama dengan mengunduh langsung image yang sudah jadi dengan perintah

docker pull anu

Kedua, membuat/mencari image dari Dockerfile yang sudah ada. Karena userbot yang saya akan pasang memerlukan untuk membuat sendiri. Sehingga kita perlu untuk membuatnya sendiri.

git clone https://github.com/BianSepang/WeebProject.git
cd WeebProject
docker build -t userbot .

Sebelum anda melakukan hal ini pastikan anda telah mengisi file config.env dengan konfigurasi yang ada pada repository tersebut

Kemudian atur Postgreesql

Kali ini setup postgreesql ku taruh di host, kenapa? Saya masih belom ingin untuk ribet dengan database di docker

sudo -i -u postgres
psql

kemudian ketik

CREATE DATABASE userbot;
CREATE USER userbot WITH ENCRYPTED PASSWORD 'passwordmu';
GRANT ALL PRIVILEGES ON DATABASE userbot TO userbot;

Kemudian atur userbot mu seperti biasa ikuti petunjuk di config.env, ubah lah sesuai petunjuk. Untuk bagian database

DATABASE_URL = "postgresql://(usermu):(passwordmu)@userbot:5432/weebproject

Kemudian jalankan deh

Lakukan

docker run --add-host=userbot:host-gateway -it userbot 

Kalau semisal sudah berjalan dengan mulus, kita tinggal menjalankanya sebagai daemon alias proses yang berjalan di latar belakang

docker run --add-host=userbot:host-gateway -d userbot 

Kemudian kalau semisal ingin menghentikanya, pertama kita cari proses userbotnya

ai@lab:~/userbot$ docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS          PORTS                                           NAMES
f4b3ff303df8   userbot_userbot                   "python3 -m userbot"     16 seconds ago   Up 12 seconds   80/tcp, 443/tcp                                 elated_satoshi

Kemudian kita tinggal kill dengan cara

docker stop (container ID)

Tambahan

Ternyata setelah ane coba, ternyata menjalankan dengan cara docker run cukup ribet. Alhasil ku putuskan untuk mengganti cara menjalankanya menggunakan docker-compose

Ganti file docker-compose.yml yang berada di folder userbot dengan ini

version: '3.4'

services:
  userbot:
    extra_hosts:
          - userbot:host-gateway 
    build:
      context: .
      dockerfile: ./Dockerfile
    restart: always

kemudian tinggal jalankan

docker-compose up -d

kalau mau menghentikan tinggal jalankan

docker-compose stop

Lebih lanjut

panduandockerlinuxuserbot
Creative
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

nru

Trying to expand knowledge and make life more maintainable & fun.

Review Anker PowerPort Mini Review