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:
- Create a New Directory: Start in a new directory to prevent conflicts.
- Check for Conflicting Processes : Run these commands:
- ps -ef | grep openim
- ps -ef | grep chat
 
- Check Docker Containers : Use docker psto confirm no related containers are running.
Source Code Deployment
Deploying openim-server
Deploying from source requires adjusting Docker's network configurations for Mac.
- 
Clone and Prepare the Repository: jsxgit clone https://github.com/openimsdk/open-im-server cd open-im-server export OPENIM_IP="[Your External/Internal IP]" make init
- 
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}
 
- 
- 
Start the Service: jsxdocker compose up -d
- 
Final Configurations: jsxvim config/config.yaml -c "%s/172\.28\.0\.1/127.0.0.1/g" -c "wq"
- 
Launch openim-server: jsxmake start
- 
Verification: jsxmake checkWait five minutes before checking to ensure accuracy. 
Deploying openim-chat
Deploy openim-chat using source code or Docker.
- 
Return to Parent Directory: jsxcd ..
- 
Deploy from Source: jsxgit clone https://github.com/openimsdk/chat cd chat make init
- 
Set Up MySQL (if not already deployed): jsxdocker 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
- 
Configure openim-chat : Modify config/config.yaml, replacing172.28.0.1with127.0.0.1.
- 
Start openim-chat: jsxmake start
- 
Verification: jsxmake check
- 
Web Interface Access : Visit http://127.0.0.1:11001. For validation, see this guide. 
Docker Deployment
For Docker deployment on Mac, refer to OpenIM Docker Documentation.
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
