提交 0397a2d1 编写于 作者: programor_guo's avatar programor_guo

Merge remote-tracking branch 'origin/main'

# Open-IM-Server
Open-IM-Server is open source instant messaging Server.Backend in Go.
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM.png)
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-logo.png)
[![LICENSE](https://img.shields.io/badge/license-Apache--2.0-green)](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE)
[![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/)
......@@ -45,102 +44,102 @@ business data.
#### Building from Source
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15.
> Open-IM relies on five open source high-performance components: **ETCD**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM-Server privately, please make sure that you have installed the above five components and **check the component connection parameters** in the configuration file. you must install the missing components first,If your server does not have the above components. **It is recommended to use it directly, if you have the above components, if not, Docker installation is recommended, which is faster and more convenient**.
2. Open-IM relies on five open source high-performance components: **Etcd**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM privately, please make sure that you have installed the above five components and **check the component parameters ** in the configuration file. If your server does not have the above components, you must install the missing components first. **If you have the above components, it is recommended to use them directly, if not, Docker installation is recommended, which is faster and more convenient**.
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15.
3. Git clone Open-IM project
3. Git clone Open-IM project
```
git clone https://github.com/tinode/chat
https://github.com/OpenIMSDK/Open-IM-Server.git
```
4. Open [config.yaml](https://github.com/Open-IM-IM/opim_admin/blob/main/config/config.yaml),then modify the following parameters.
- Check that the Etcd connection parameters.
- Check that the ETCD connection parameters.
```
etcd:
etcdAddr: [ xxx.xxx.xxx.xxx:2379]
```
```
etcd:
etcdAddr: [ 127.0.0.1:2379]
```
- Check or modify database(MySQL) connection parameters are correct for your database.
- Check or modify database(MySQL) connection parameters are correct for your database.
```
mysql:
dbAddress: [ xxx.xxx.xxx.xxx:3306]
dbUserName: xxx
dbPassword: xxx
```
```
mysql:
dbAddress: [ 127.0.0.1:3306]
dbUserName: xxx
dbPassword: xxx
```
- Check or modify database(MongoDB) connection parameters are correct for your database.
- Check or modify database(MongoDB) connection parameters are correct for your database.
```
mongo:
dbAddress: [xxx.xxx.xxx.xxx:27017 ]
dbUserName:
dbPassword:
```
```
mongo:
dbAddress: [ 127.0.0.1:27017 ]
dbUserName:
dbPassword:
```
- Check or modify Redis connection parameters.
- Check or modify Redis connection parameters.
```
redis:
dbAddress: [xxx.xxx.xxx.xxx:6379]
dbPassWord:
```
```
redis:
dbAddress: [ 127.0.0.1:6379]
dbPassWord:
```
- Check or modify Kafka connection parameters.
- Check or modify Kafka connection parameters.
```
kafka:
ws2mschat:
addr: [ xxx.xxx.xxx.xxx:9092 ]
ms2pschat:
addr: [ xxx.xxx.xxx.xxx:9092 ]
```
```
kafka:
ws2mschat:
addr: [ 127.0.0.1:9092 ]
ms2pschat:
addr: [ 127.0.0.1:9092 ]
```
5. Build Open-IM server and database initializer:
- **MySQL**
- **MySQL**
```
...
```
```
need to add
```
- **MongoDB**
- **MongoDB**
```
...
```
```
need to add
```
6. Enter the script directory and execute the script according to the steps。
1. Shell authorization
1. Shell authorization
```
chmod +x *.sh
```
```
chmod +x *.sh
```
2. Execute build shell
2. Execute build shell
```
./auto_build_service_file.sh
```
```
./build_all_service.sh
```
3. Start service
3. Start service
```
./auto_start_service.sh
```
```
./start_all.sh
```
#### Using Docker to run Open-IM-Server
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
> Open-IM relies on five open source high-performance components: **ETCD**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM-Server privately, please make sure that you have installed the above five components and **check the component connection parameters** in the configuration file. you must install the missing components first,If your server does not have the above components. **It is recommended to use it directly, if you have the above components, if not, Docker installation is recommended, which is faster and more convenient**.
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
2. Open-IM relies on five open source high-performance components: **Etcd**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM privately, please make sure that you have installed the above five components and **check the component parameters ** in the configuration file. If your server does not have the above components, you must install the missing components first. **If you have the above components, it is recommended to use them directly, if not, Docker installation is recommended, which is faster and more convenient**.
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
3. Pull Open_IM_Server Image from docker
......@@ -152,56 +151,56 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
4. External config file,the container comes with a built-in config file which can be customized with values from the environment variables .**If changes are extensive it may be more convenient to replace the built-in config file with a custom one**. In that case map the config file located on your host.
- Create configuration folder directory
- Create configuration folder directory
```
mkdir -p open_im_server/config
```
```
mkdir -p open_im_server/config
```
- Download the [config.yaml](https://github.com/Open-IM-IM/opim_admin/blob/main/config/config.yaml) file from github, then modify the following parameters
- Download the [config.yaml](https://github.com/Open-IM-IM/opim_admin/blob/main/config/config.yaml) file from github, then modify the following parameters
- Check or modify the Etcd connection parameters.
- Check or modify the Etcd connection parameters.
```
etcd:
etcdAddr: [ x.x.x.x:2379]
```
```
etcd:
etcdAddr: [ 127.0.0.1:2379]
```
- Check or modify database(MySQL) connection parameters are correct for your database.
- Check or modify database(MySQL) connection parameters are correct for your database.
```
mysql:
dbAddress: [ x.x.x.x:3306]
dbUserName: xxx
dbPassword: xxx
```
```
mysql:
dbAddress: [ 127.0.0.1:3306]
dbUserName: xxx
dbPassword: xxx
```
- Check or modify database(MongoDB) connection parameters are correct for your database.
- Check or modify database(MongoDB) connection parameters are correct for your database.
```
mongo:
dbAddress: [ x.x.x.x:27017 ]
dbUserName:
dbPassword:
```
```
mongo:
dbAddress: [ 127.0.0.1:27017 ]
dbUserName:
dbPassword:
```
- Check or modify the Redis connection parameters.
- Check or modify the Redis connection parameters.
```
redis:
dbAddress: [x.x.x.x:6379]
dbPassWord:
```
```
redis:
dbAddress: [ 127.0.0.1:6379]
dbPassWord:
```
- Check or modify the Kafka connection parameters.
- Check or modify the Kafka connection parameters.
```
kafka:
ws2mschat:
addr: [ x.x.x.x:9092 ]
ms2pschat:
addr: [ x.x.x.x:9092 ]
```
```
kafka:
ws2mschat:
addr: [ 127.0.0.1:9092 ]
ms2pschat:
addr: [ 127.0.0.1:9092 ]
```
5. Start Open-IM-Server Service
......@@ -209,13 +208,13 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
docker run -p 10000:10000 -p 7777:7777 --name open_im_server -v /home/open_im_server/logs:/home/open_im_server/logs -v /home/open_im_server/config/config.yaml:/home/open_im_server/config/config.yaml --restart always -d docker.io/lyt1123/open_im_server:[tag]
```
- -p 10000:10000 The container port maps the host 10000 port, provides api service.
- -p 7777:7777 The container port maps the host 7777 port, provides message services.
- --name open_im_server Container service name
- -v /home/open_im_server/logs:/home/open_im_server/logs The container log directory maps the host directory
- -v /home/open_im_server/config/config.yaml:/home/open_im_server/config/config.yaml The container configuration file maps the host configuration file
- --restart always Automatically start when the container is closed abnormally
- -d Running service in the background
- -p 10000:10000 The container port maps the host 10000 port, provides api service.
- -p 7777:7777 The container port maps the host 7777 port, provides message services.
- --name open_im_server Container service name
- -v /home/open_im_server/logs:/home/open_im_server/logs The container log directory maps the host directory
- -v /home/open_im_server/config/config.yaml:/home/open_im_server/config/config.yaml The container configuration file maps the host configuration file
- --restart always Automatically start when the container is closed abnormally
- -d Running service in the background
### CONFIGURATION INSTRUCTIONS
>Open-IM configuration is divided into basic component configuration and business internal service configuration. Developers need to fill in the address of each component as the address of their server component when using the product, and ensure that the internal service port of the business is not occupied
......@@ -328,8 +327,8 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
app:app client
app-server:app server
open-im-sdk:Tuoyun's open source sdk
open-im-server:Tuoyun's open source sdk service
open-im-sdk:open-im source sdk
open-im-server:open-im source sdk service
```
- **Authentication Clow Chart**
......
......@@ -5,10 +5,10 @@
#---------------Infrastructure configuration---------------------#
etcd:
etcdSchema: openIM
etcdAddr: [ 47.112.160.66:2379 ]
etcdAddr: [ 127.0.0.1:2379 ]
mysql:
dbAddress: [ 47.112.160.66:3306 ]
dbAddress: [ 127.0.0.1:3306 ]
dbUserName: root
dbPassword: 123456
dbDatabaseName: openIM
......@@ -19,7 +19,7 @@ mysql:
dbMaxLifeTime: 120
mongo:
dbAddress: [ 47.112.160.66:27017 ]
dbAddress: [ 127.0.0.1:27017 ]
dbDirect: false
dbTimeout: 10
dbDatabase: [ openIM ]
......@@ -30,7 +30,7 @@ mongo:
dbRetainChatRecords: 7
redis:
dbAddress: [47.112.160.66:6379]
dbAddress: [ 127.0.0.1:6379 ]
dbMaxIdle: 128
dbMaxActive: 0
dbIdleTimeout: 120
......@@ -38,10 +38,10 @@ redis:
kafka:
ws2mschat:
addr: [ 47.112.160.66:9092 ]
addr: [ 127.0.0.1:9092 ]
topic: "ws2ms_chat"
ms2pschat:
addr: [ 47.112.160.66:9092 ]
addr: [ 127.0.0.1:9092 ]
topic: "ms2ps_chat"
consumergroupid:
msgToMongo: mongo
......
......@@ -12,7 +12,6 @@ require (
github.com/eapache/go-resiliency v1.2.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
github.com/eapache/queue v1.1.0 // indirect
github.com/favadi/protoc-go-inject-tag v1.1.0 // indirect
github.com/frankban/quicktest v1.11.3 // indirect
github.com/garyburd/redigo v1.6.2
github.com/gin-gonic/gin v1.6.3
......
......@@ -4,6 +4,7 @@ import (
"Open_IM/src/common/config"
"Open_IM/src/common/db"
"errors"
"github.com/dgrijalva/jwt-go"
"time"
)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册