OpenIM (Open-Source Instant Messaging) Mac Deployment Guide
This guide provides step-by-step instructions for deploying OpenIM on a Mac, including both source code and Docker deployment methods.
## Preliminary Environment Setup
Ensure a clean working environment:
1. **Create a New Directory**: Start in a new directory to prevent conflicts.
2. **Check for Conflicting Processes**: Run these commands:
- `ps -ef | grep openim`
- `ps -ef | grep chat`
3. **Check Docker Containers**: Use `docker ps` to confirm no related containers are running.
## Source Code Deployment
### Deploying openim-server
Deploying from source requires adjusting Docker's network configurations for Mac.
1. **Clone and Prepare the Repository**:
```jsx
git clone https://github.com/openimsdk/open-im-server
cd open-im-server
export OPENIM_IP="[Your External/Internal IP]"
make init
```
2. **Configure Kafka in `docker-compose.yml`**:
- Replace:
```jsx
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://${DOCKER_BRIDGE_GATEWAY:-172.28.0.1}:${KAFKA_PORT:-19094}
```
- With:
```jsx
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://127.0.0.1:${KAFKA_PORT:-19094}
```
3. **Start the Service**:
```jsx
docker compose up -d
```
4. **Final Configurations**:
```jsx
vim config/config.yaml -c "%s/172\.28\.0\.1/127.0.0.1/g" -c "wq"
```
5. **Launch openim-server**:
```jsx
make start
```
6. **Verification**:
```jsx
make check
```
Wait five minutes before checking to ensure accuracy.
### Deploying openim-chat
Deploy openim-chat using source code or Docker.
1. **Return to Parent Directory**:
```jsx
cd ..
```
2. **Deploy from Source**:
```jsx
git clone https://github.com/openimsdk/chat
cd chat
make init
```
3. **Set Up MySQL** (if not already deployed):
```jsx
docker run -d \
--name mysql \
-p 13306:3306 \
-p 23306:33060 \
-v "$(pwd)/components/mysql/data:/var/lib/mysql" \
-v "/etc/localtime:/etc/localtime" \
-e MYSQL_ROOT_PASSWORD="openIM123" \
--restart always \
mariadb:10.6
```
4. **Configure openim-chat**:
Modify `config/config.yaml`, replacing `172.28.0.1` with `127.0.0.1`.
5. **Start openim-chat**:
```jsx
make start
```
6. **Verification**:
```jsx
make check
```
7. **Web Interface Access**:
Visit [http://127.0.0.1:11001](http://127.0.0.1:11001). For validation, see [this guide](https://docs.openim.io/guides/gettingStarted/quickTestServer).
## Docker Deployment
For Docker deployment on Mac, refer to [OpenIM Docker Documentation](https://docs.openim.io/zh-Hans/guides/gettingStarted/dockerCompose).
## About OpenIM
OpenIM is an open-source instant messaging component and solution that specializes in in-app communication. It is one of the most popular open-source IM projects currently. Developers can integrate the OpenIM component and deploy the server privately, quickly incorporating instant and real-time communication capabilities into their applications, ensuring the security and confidentiality of business data.
Repository address: https://github.com/openimsdk
Developer Documentation: https://docs.openim.io/guides/introduction
OpenIM (Open-Source Instant Messaging) Mac Deployment Guide的更多相关文章
- [ETL] Flume 理论与demo(Taildir Source & Hdfs Sink)
一.Flume简介 1. Flume概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据: ...
- 我的常用笔记(GetAndroid,ADBDemo,GetSJ,GetTB)
一.授权相关格式(GetAndroid,ADBDemo,GetTB,GetSJ) [Mac]ID=0, Mac=9918D2A363, EndTime=2018-12-30 15:45: ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 一个映射到mac风格按键的AHK脚本(替换虚拟机键盘映射)
Mac键位映射(部分) win+q 退出程序 win+w 关闭当前页面 win+h 隐藏当前窗口 win+shift+h 隐藏其他窗口 win+s 保存 win+o 打开 win+z 撤销 win+s ...
- 开源网络准入系统(open source Network Access Control system)
开源网络准入系统(open source Network Access Control system) http://blog.csdn.net/achejq/article/details/5108 ...
- (转)Mac OS X中配置Apache
我使用的Mac OS X版本是10.8.2,Mac自带了Apache环境. 启动Apache 设置虚拟主机 启动Apache 打开“终端(terminal)”,输入 sudo apachectl -v ...
- 使用GCM服务(Google Cloud Messaging)实现Android消息推送
最近在网上查了关于很多Android消息推送的资料,其中主要有四种方法. 1) 使用GCM服务(Google Cloud Messaging) 2) 使用XMPP协议(Openfire + Spark ...
- iOS、mac开源项目及库(感谢原作者的分享)
目录 模糊效果 富文本 表相关 HUD与Toast 其他UI 其他动画 网络测试 网络聊天 Model 数据库 PDF 摄像照相视频音频处理 消息相关 消息推送服务器端 版本新API的Demo 测试及 ...
- 与众不同 windows phone (33) - Communication(通信)之源特定组播 SSM(Source Specific Multicast)
原文:与众不同 windows phone (33) - Communication(通信)之源特定组播 SSM(Source Specific Multicast) [索引页][源码下载] 与众不同 ...
- 与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast)
原文:与众不同 windows phone (32) - Communication(通信)之任意源组播 ASM(Any Source Multicast) [索引页][源码下载] 与众不同 wind ...
随机推荐
- 火山引擎DataLeap的Data Catalog系统搜索实践 (上)
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 摘要 火山引擎大数据研发治理套件 DataLeap的Data Catalog系统通过汇总和组织各种元数据,解决了数 ...
- linux 只查看 java 进程
top $(ps -e | grep java | awk '{print $1}' | sed 's/^/-p/')
- Axure Axhub Charts 数据编辑、显示
Axhub Charts图表元件库: https://www.axureshop.com/a/100749.html
- Kubernetes(K8S) 配置管理 Secret 介绍
Secret 作用:加密数据(base64)存在 etcd 里面,让 Pod 容器以挂载 Volume 方式进行访问 场景:凭证 [root@k8smaster ~]# echo -n 'admin' ...
- Java 网络编程 —— 异步通道和异步运算结果
从 JDK7 开始,引入了表示异步通道的 AsynchronousSockerChannel 类和 AsynchronousServerSocketChannel 类,这两个类的作用与 SocketC ...
- Flink异步IO
本文讲解 Flink 用于访问外部数据存储的异步 I/O API. 对于不熟悉异步或者事件驱动编程的用户,建议先储备一些关于 Future 和事件驱动编程的知识. 对于异步 I/O 操作的需求 在与外 ...
- ME5A报表增强
一.ME5A报表新增长文本字段 结构中添加字段 在该方法下添加对应的取值逻辑 二.ME5A点击科目分配按钮界面添加字段 结构中添加字段 对应位置写取值逻辑 定期更文,欢迎关注 TRANSLATE wi ...
- Java Kafka 消费积压监控
Java Kafka 消费积压监控 后端代码: Monitor.java代码: package com.suncreate.kafkaConsumerMonitor.service; import c ...
- Educational Codeforces Round 96 (Rated for Div. 2) (A - C题个人题解)
因为火锅导致错过的上分机会,赛后发现人均AC5题 1430A. Number of Apartments 暴力搜索 #include<bits/stdc++.h> using namesp ...
- mybatis-plus 对date类型取当天的数据
数据库中的字段是时间类型,要取出当天的数据,使用mybatis-plus 如何实现,思路是用 时间大于当天凌晨,小于当天23:59:59的时间 //调用的代码Date start = DateUtil ...