DEV Community

skiffer-git
skiffer-git

Posted on

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:
   git clone https://github.com/openimsdk/open-im-server
   cd open-im-server
   export OPENIM_IP="[Your External/Internal IP]"
   make init
Enter fullscreen mode Exit fullscreen mode
  1. Configure Kafka in docker-compose.yml:
  • Replace:

     - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://${DOCKER_BRIDGE_GATEWAY:-172.28.0.1}:${KAFKA_PORT:-19094}
    
  • With:

     - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://127.0.0.1:${KAFKA_PORT:-19094}
    
  1. Start the Service:
   docker compose up -d
Enter fullscreen mode Exit fullscreen mode
  1. Final Configurations:
   vim config/config.yaml -c "%s/172\.28\.0\.1/127.0.0.1/g" -c "wq"
Enter fullscreen mode Exit fullscreen mode
  1. Launch openim-server:
   make start
Enter fullscreen mode Exit fullscreen mode
  1. Verification:
   make check
Enter fullscreen mode Exit fullscreen mode

Wait five minutes before checking to ensure accuracy.

Deploying openim-chat

Deploy openim-chat using source code or Docker.

  1. Return to Parent Directory:
   cd ..
Enter fullscreen mode Exit fullscreen mode
  1. Deploy from Source:
   git clone https://github.com/openimsdk/chat
   cd chat
   make init
Enter fullscreen mode Exit fullscreen mode
  1. Set Up MySQL (if not already deployed):
   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
Enter fullscreen mode Exit fullscreen mode
  1. Configure openim-chat:
    Modify config/config.yaml, replacing 172.28.0.1 with 127.0.0.1.

  2. Start openim-chat:

   make start
Enter fullscreen mode Exit fullscreen mode
  1. Verification:
   make check
Enter fullscreen mode Exit fullscreen mode
  1. 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

Image description

Top comments (0)