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

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay