GcallsCE Bản Dev - Ubuntu
🇻🇳 (vi)
![]()
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 allLầ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>
- Kiểm tra tình trạng của các service
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)
- Tham khảo Hướng dẫn cài đặt Keycloak
6. Database
- Tham khảo Hướng dẫn cài đặt MongoDB
- Tham khảo Hướng dẫn cài đặt Postgres
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