Tạo folder bắt đâù cài đặt Komodo core:
mkdir komodo
cd komodo
sudo mkdir -p \
./data/mongo-db \
./data/mongo-configdb \
./data/repo-cache \
./backupsBạn có thể dụng command để tạo chuỗi random dài:
openssl rand -hex 32
03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232Create compose.env
TZ=Asia/Singapore
# Public URL Core mà browser và Periphery truy cập
KOMODO_HOST=http://192.168.101.36:9120
# MongoDB
KOMODO_DB_USERNAME=komodo
KOMODO_DB_PASSWORD=03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232
# Local authentication
KOMODO_LOCAL_AUTH=true
KOMODO_INIT_ADMIN_USERNAME=admin
KOMODO_INIT_ADMIN_PASSWORD=03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232
KOMODO_JWT_SECRET=03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232
# Core-to-Periphery và webhook secrets
KOMODO_PASSKEY=03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232
KOMODO_WEBHOOK_SECRET=03af3ddcc5xxxxx60f40beb1ba6b1985ccb1d798c142f2bb06996d232Tạo file compose.yaml (version mới không cần tạo file docker-compse.yaml nữa)
services:
mongo:
image: mongo:8
container_name: komodo-mongo
restart: unless-stopped
command: --quiet --wiredTigerCacheSizeGB 0.25
environment:
MONGO_INITDB_ROOT_USERNAME: ${KOMODO_DB_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${KOMODO_DB_PASSWORD}
volumes:
- ./data/mongo-db:/data/db
- ./data/mongo-configdb:/data/configdb
networks:
- komodo-internal
core:
image: ghcr.io/moghtech/komodo-core:2.2.0
container_name: komodo-core
restart: unless-stopped
depends_on:
- mongo
env_file:
- ./compose.env
environment:
KOMODO_DATABASE_ADDRESS: mongo:27017
KOMODO_DATABASE_USERNAME: ${KOMODO_DB_USERNAME}
KOMODO_DATABASE_PASSWORD: ${KOMODO_DB_PASSWORD}
ports:
- "9120:9120"
volumes:
- ./data/repo-cache:/repo-cache
networks:
- komodo-internal
networks:
komodo-internal:
name: komodo-internalTiếp đến là câu lệnh run docker compose:
docker compose --env-file compose.env up -dBạn login vào IP-host:9120
Install Komodo Peripheri
Trước tiên bạn cần tạo Onboarding key:
Bạn vào Setting -> Onboarding -> Click: New Onboarding Key

Bạn khai bao các thứ


Bạn copy the key và chuẩn bị cho công lệnh chạy trên Periphery
curl -sSL https://raw.githubusercontent.com/moghtech/komodo/main/scripts/setup-periphery.py \
| python3 - \
--core-address="http://komodo-core-domain-or-ip" \
--connect-as="$(hostname)" \
--onboarding-key="<ONBOARDING_KEY_CUA_BAN>"Xoá Komodo Periphery
Bước 1: Gỡ cài đặt (Uninstall)
- Dừng và vô hiệu hóa service đang chạy:
sudo systemctl stop periphery
sudo systemctl disable peripheryXóa file service của Systemd và tải lại daemon:
sudo rm /etc/systemd/system/periphery.service
sudo systemctl daemon-reloadXóa file nhị phân (binary):
File thực thi của periphery thường được đặt ở thư mục /usr/local/bin/ (với tài khoản root).
sudo rm /usr/local/bin/peripheryNếu bạn từng cài đặt với cờ --user bằng quyền user thường, file có thể nằm ở ~/.local/bin/periphery).
- Xóa thư mục cấu hình và khóa chứng thực (Keys):
Periphery lưu các file cấu hìnhperiphery.config.tomlvà các cặp khóa (public/private keys) tại/etc/komodo. Việc xóa thư mục này đảm bảo quá trình cài lại sẽ sinh ra cặp khóa mới hoàn toàn (rất quan trọng nếu bạn thay đổi Core).github+1
sudo rm -rf /etc/komodoCài đặt Komodo Core

Chúng ta sẽ cài đặt Komodo trên k8s.
#kustomizaion:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: komodo
resources:
- komodo-auth-secret.json
helmCharts:
- name: komodo
includeCRDs: false
releaseName: komodo
version: 0.1.1
repo: https://antiantiops.github.io/komodo-helm-chart
valuesFile: values_helm.yaml
namespace: komodo
# helm-values.yaml
###############
# Production values for the Komodo Helm chart.
# Credentials reside in the pre-created Kubernetes Secret komodo-auth, not Git.
existingSecret:
name: komodo-auth
komodo:
host: http://komodo.nimtechnology.com
localAuth: true
timezone: Asia/Ho_Chi_Minh
ingress:
enabled: true
className: nginx
annotations: {}
hosts:
- host: komodo.nimtechnology.com
paths:
- path: /
pathType: Prefix
tls: []
persistence:
config:
enabled: true
size: 1Gi
storageClass: longhorn
repoCache:
enabled: true
size: 10Gi
storageClass: longhorn
mongo:
persistence:
enabled: true
size: 10Gi
storageClass: longhorn
Tiếp theo chúng ta tạo secret cấp cho mongodb, komodo.
{
"apiVersion": "v1",
"kind": "Secret",
"metadata": {
"name": "komodo-auth",
"namespace": "komodo"
},
"type": "Opaque",
"data": {
"komodo-init-admin-password": "TlE5cnNuOXFycmlCSxxxxx1CMlA3MDZaU0RQNk4=",
"komodo-jwt-secret": "bVIvc1VwUlpHSXpmd2phcCt1V29DY2czMkdpcWXXXXNaUUFJQVZ2b1d1MVZhNWNjbFg4QTFrUWxUNQ==",
"komodo-passkey": "ZU9SNG1KaWMxbXBrc1XXXXnh4U3d3QUFIU2NodGl1OGtqMDZLR3RrST0=",
"komodo-webhook-secret": "UzE5NDRNZkZlWlXXXXN0JFbzZRcDFkd1VQVzA3QllCRXZrVDk1UT0=",
"mongo-root-password": "VktFNFF3bndVWURkcFXXXXXb1dRZTFhSUExTzZyT3Zub1Uraz0="
}
}
Mô hình webhook của
