Skip to main content
Huỳnh Minh
💬
0 discussions

GcallsCE Bản Dev - Ubuntu

🇻🇳 (vi)

"Gcalls"

Hướng dẫn này được viết cho Ubuntu 20.04 LTS (Focal Fossa)

I. Điều kiện tiên quyết

  • Yêu cầu:
    • RAM 8GB trở lên
    • CPU 6 Core trở lên
    • Dung lượng 2GB trở lên
  • Chuẩn bị:
    • Quyền truy cập vào source code Gcalls Community Edition của Gcalls
    • nvm
    • git
    • node
    • npm
    • Visual Studio Code (Hoặc Code editor khác mà bạn thích, *)
    • software-properties-common, apt-transport-https (cho Visual Studio Code)
    • curl, wget
    • pm2
    • docker-compose
    • docker
    • Folder 1env (liên hệ dev)
    • Folder 1script (liên hệ dev)
    • Folder 1docker (liên hệ dev)
(*) Có thể không cần code editor hay IDE => thao tác 100% trên giao diện Ubuntu và Ubuntu Terminal hoặc chỉ Ubuntu Terminal

II. Đối tượng đọc:

  • Customer Success Engineer (CSE)
  • Contributor Có liên quan tới:
    • Dev
    • DevOps

III. Cài đặt phần mềm và tool cần thiết (bỏ qua bước này nếu đã cài mọi thứ trong danh sách chuẩn bị ở bước trên)

Thao tác qua Terminal của Ubuntu Trước tiên

```
sudo apt update
```

1. git

sudo apt install git-all
  • Kiểm tra git:
    git --version

2. curl và wget

sudo apt update
  • curl
    sudo apt install curl
  • wget
    sudo apt install software-properties-common apt-transport-https wget

3. nvm

Cài nvm bằng curl

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Hoặc cài nvm bằng wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Thêm vào bashrc

source ~/.bashrc
  • Kiểm tra nvm:
    nvm -v

4. node và npm

Cài đặt node v16

nvm install v16
  • Kiểm tra node và npm:
    node -v
    npm -v

5. VS Code (tùy chọn)

5.1 Cập nhật index package và cài dependencies cần thiết (software-properties-common apt-transport-https và wget):

sudo apt update
sudo apt install software-properties-common apt-transport-https wget

5.2 Nhập GPG key từ Microsoft:

wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -

5.3 Enable repository của VS Code:

sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"

5.4 Khi repo đã được enabled, tiến hành cài đặt VS Code:

sudo apt install code
  • Kiểm tra VS Code:
    code -v

6. pm2

  • Cài đặt pm2:
    npm install pm2@latest -g
  • Kiểm tra pm2:
    pm2 --version

7. Docker

  • Cập nhật package:
    sudo apt-get update
    sudo apt-get install
  • Thêm keyring và sourcelist:
    sudo mkdir -p /etc/apt/keyrings
    cd /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    echo \
    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt-get update
  • Cài đặt Docker:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • Kiểm tra Docker:
    docker -v

8. docker-compose

  • Cài đặt dependency cần thiết (curl):
    sudo apt install curl
  • Cài đặt docker-compose:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  • Cấp quyền executable cho docker-compose:
    sudo chmod +x /usr/local/bin/docker-compose
  • Kiểm tra docker-compose:
    docker-compose -v

IV. Cài đặt source code

Có thể thao tác qua 1 trong các hướng sau:

  • Terminal
  • Giao diện và Terminal
  • Giao diện, Terminal và VS Code Terminal

Hướng dẫn dưới đây sẽ thao tác qua Ubuntu Terminal và VS Code Terminal

Mở terminal (Crl+Alt+T)

1. Tải và thiết lập repo

    git init
  • gcalls-community-version:
    git clone https://gitlab.com/g1tla6/g1
cd g1/src/gcallsce
bash update.sh

2. Cài đặt Gcalls Plus Webphone:

  • Biểu đồ cấu trúc source:
.
├── CHANGELOG.md
├── f-contact-app
├── f-portal-app
├── f-click-to-call
├── m-integrate-service
├── m-mobile-service
├── m-access-service
├── m-raw-service
├── m-api-service
├── m-web-service
├── b-command-service
├── b-filter-service
├── b-record-service
├── 1env
│ └── gcallsce_local
├── 1docker
├── 1script
└── README.md
  • Copy các file config và env cho từng service:
    # Copy the env files
sudo cp ./1env/gcallsce_local/accessService.env ./m-access-service/.env
sudo cp ./1env/gcallsce_local/apiService.env ./m-api-service/.env
sudo cp ./1env/gcallsce_local/portalApp.env ./f-portal-app/.env
sudo cp ./1env/gcallsce_local/commandService.env ./b-command-service/.env
sudo cp ./1env/gcallsce_local/integrateService.env ./m-integrate-service/.env
sudo cp ./1env/gcallsce_local/mobileService.env ./m-mobile-service/.env
sudo cp ./1env/gcallsce_local/recordService.env ./b-record-service/.env
sudo cp ./1env/gcallsce_local/contactApp.env ./f-contact-app/.env
sudo cp ./1env/gcallsce_local/webService.env ./m-web-service/.env
sudo cp ./1env/gcallsce_local/rawsService.env ./m-raw-service/.env
sudo cp ./1env/gcallsce_local/callbox.env ./callbox.env
sudo cp ./1env/gcallsce_local/click2Call.env ./f-click-to-call.env

# Copy role files
sudo cp ./1env/gcallsce/role.json ./m-access-service/role.json
sudo cp ./1env/gcallsce/role-old.json ./m-access-service/role-old.json
  • Khởi tạo các service (Lưu ý lệnh npm run installpackage đang không hoạt động được do gcallsConfig bị gỡ khỏi npm. Chỉ có cách build từ source gcallsConfig rồi copy qua node_modules của repo callbox nhưng không đảm bảo chạy được.):

    pm2 install pm2-logrotate
    cd b-filter-service
    npm install --force
    pm2 start app.js -i 2 --name b-filter-service
    cd ..

    cd b-command-service
    npm install --force
    npm run start
    cd ..

    cd f-click-to-call
    npm install --force
    npm run start
    cd ..

    cd f-portal-app
    npm install --force
    npm run start
    cd ..

    cd f-contact-app
    npm install --force
    npm run build
    pm2 serve build 4005 --name f-contact-app --spa
    cd ..

    #cd f-callbox
    #npm run installpackage
    #npm run build
    #pm2 serve build 5001 --name f-callbox --spa
    #cd ..

    cd m-api-service
    npm install --force
    npm run start
    cd ..

    cd m-web-service
    npm install --force
    npm run start
    cd ..

    cd m-integrate-service
    npm install --force
    npm run start
    cd ..

    cd m-mobile-service
    npm install --force
    npm run start
    cd ..

    cd m-access-service
    npm install --force
    npm run start
    cd ..

    cd m-raw-service
    npm install --force
    npm run start
    cd ..

    pm2 logs all
  • Lần lượt các service của Gcalls Plus Webphone sẽ chạy sau khi được cài

  • Lần sau khi cần khởi động Gcalls Plus Webphone, chạy lại các lệnh nêu trên.

  • Kiểm tra Gcalls Plus Webphone

    • Kiểm tra tình trạng của các service
      pm2 status
    • Kiểm tra log của từng service
      pm2 log <số thứ tự của service xem theo pm2 status>

5. Cài đặt Keycloak (Quản lý tài khoản và xác thực) bản Docker và Logstash (Quản lý loggging)

6. Database

V. Kết luận

  • Để sử dụng Gcalls Webphone, truy cập vào localhost:4004 (frontend của Gcalls Plus Webphone) để sử dụng Gcalls Plus Webphone
  • Truy cập localhost:8080 (frontend của Keycloak) để quản lý tài khoản/ credential ở các callcenter sử dụng tài khoản trong file docker-compose. Tham khảo Video hướng dẫn sử dụng Gcalls Plus Webphone