OpenIM Helm Charts simplify deployment and management of OpenIM instant messaging platform and associated middleware on Kubernetes clusters.
The latest version is as follows:
service chart-version imageVersion
openim-server 0.1.2 release-v3.6
openim-chat 0.1.2 release-v1.6
openim-admin 0.1.2 toc-base-open-k8s.35
openim-web 0.1.1 preview-k8s
About helm charts version management
Note: the next release ,we will adapt the chart's ingress configuration for traefik and istio ingress-controller.
Detailed directory info can be found in the respective directories.
If you need to enable monitoring, install the kube-prometheus-stack component:
helm install kube-prometheus-stack infra/kube-prometheus-stack/ -f infra/prometheus-config.yaml -n openim
Note If your want prometheus alert function,you should change alertmanager.config section to your truly email information.
If you need to enable loki, install the loki-stack component: Change loki.persistence.storageClassName to your real storageClassName in infra/loki-stack/values.yaml.
helm install loki-stack infra/loki-stack/ -n openim
Note in this we use grafana in kube-prometheus-stack for loki display,so you should config the datasource of loki using "http://loki-stack:3100"
LiveKit has not yet been integrated into Helm charts. If you require audio and video capabilities, please refer to the LiveKit Helm charts for deployment: https://github.com/livekit/livekit-helm. Additionally, you will need to modify the corresponding settings in config-chatserver.yaml related to LiveKit.
The configuration settings are as follows:
liveKit:
liveKitUrl: "wss://im-livekiturl:7880" # Use wss:// instead of ws:// to enable encrypted connections
key: "" # LIVEKIT_API_KEY
secret: "" # LIVEKIT_API_SECRET
To configure these settings, you need to:
liveKitUrl: Replace "wss://im-livekiturl:7880"
with the WebSocket Secure (WSS) URL of your LiveKit server. The wss://
protocol ensures that the connection to the LiveKit server is encrypted for security.
key: Fill in the key
field with your LiveKit API key. The API key is used to authenticate your application's access to the LiveKit server.
secret: Fill in the secret
field with your LiveKit API secret. The API secret is a critical component of your application's security, enabling secure communication between your server and the LiveKit server.
Make sure to save the changes to config-chatserver.yaml
after updating these settings to ensure that your chat server can communicate with the LiveKit server using the correct credentials and connection details.
Deploy required middleware services:
helm install im-kafka infra/kafka -f infra/kafka-config.yaml -n openim
helm install im-mongodb infra/mongodb -f infra/mongodb-config.yaml -n openim
helm install im-redis infra/redis -f infra/redis-config.yaml -n openim
helm install im-minio infra/minio -f infra/minio-config.yaml -n openim
object:
enable: "minio"
apiURL: "https://openim1.server.top/api"# change openim1.server.top to your real domain name
minio:
bucket: "openim"
endpoint: "http://im-minio:9000"
accessKeyID: "root"
secretAccessKey: "openIM123"
sessionToken: ''
signEndpoint: "https://openim1.server.top/im-minio-api" # change openim1.server.top to your real domain name
global:
monitor:
enabled: true #set true
config:
prometheus:
enable: true #set true
prometheusUrl: "https://openim2.server.top/" # also change openim2.server.top your real domain name for grafana website
helm install openimserver -f k8s-open-im-server-config.yaml -f config-imserver.yaml -f notification.yaml ./charts/openim-server/ -n openim
helm install openimchat -f k8s-chat-server-config.yaml -f config-chatserver.yaml ./charts/openim-chat/ -n openim
helm install openim-web -f k8s-webfront-config.yaml ./charts/openim-web/ -n openim
helm install openim-admin -f k8s-adminfront-config.yaml ./charts/openim-admin/ -n openim