mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-25 02:58:26 +08:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
0397a2d179
51
README.md
51
README.md
@ -1,6 +1,5 @@
|
|||||||
# Open-IM-Server
|
# Open-IM-Server
|
||||||
Open-IM-Server is open source instant messaging Server.Backend in Go.
|

|
||||||

|
|
||||||
|
|
||||||
[](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE)
|
[](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE)
|
||||||
[](https://golang.org/)
|
[](https://golang.org/)
|
||||||
@ -45,30 +44,30 @@ business data.
|
|||||||
|
|
||||||
#### Building from Source
|
#### 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.
|
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:
|
etcd:
|
||||||
etcdAddr: [ xxx.xxx.xxx.xxx:2379]
|
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:
|
mysql:
|
||||||
dbAddress: [ xxx.xxx.xxx.xxx:3306]
|
dbAddress: [ 127.0.0.1:3306]
|
||||||
dbUserName: xxx
|
dbUserName: xxx
|
||||||
dbPassword: xxx
|
dbPassword: xxx
|
||||||
```
|
```
|
||||||
@ -77,7 +76,7 @@ business data.
|
|||||||
|
|
||||||
```
|
```
|
||||||
mongo:
|
mongo:
|
||||||
dbAddress: [xxx.xxx.xxx.xxx:27017 ]
|
dbAddress: [ 127.0.0.1:27017 ]
|
||||||
dbUserName:
|
dbUserName:
|
||||||
dbPassword:
|
dbPassword:
|
||||||
```
|
```
|
||||||
@ -86,7 +85,7 @@ business data.
|
|||||||
|
|
||||||
```
|
```
|
||||||
redis:
|
redis:
|
||||||
dbAddress: [xxx.xxx.xxx.xxx:6379]
|
dbAddress: [ 127.0.0.1:6379]
|
||||||
dbPassWord:
|
dbPassWord:
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -95,9 +94,9 @@ business data.
|
|||||||
```
|
```
|
||||||
kafka:
|
kafka:
|
||||||
ws2mschat:
|
ws2mschat:
|
||||||
addr: [ xxx.xxx.xxx.xxx:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
ms2pschat:
|
ms2pschat:
|
||||||
addr: [ xxx.xxx.xxx.xxx:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Build Open-IM server and database initializer:
|
5. Build Open-IM server and database initializer:
|
||||||
@ -105,13 +104,13 @@ business data.
|
|||||||
- **MySQL**
|
- **MySQL**
|
||||||
|
|
||||||
```
|
```
|
||||||
...
|
need to add
|
||||||
```
|
```
|
||||||
|
|
||||||
- **MongoDB**
|
- **MongoDB**
|
||||||
|
|
||||||
```
|
```
|
||||||
...
|
need to add
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Enter the script directory and execute the script according to the steps。
|
6. Enter the script directory and execute the script according to the steps。
|
||||||
@ -125,23 +124,23 @@ business data.
|
|||||||
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
|
#### Using Docker to run 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**.
|
||||||
|
|
||||||
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
||||||
|
|
||||||
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
|
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
|
||||||
|
|
||||||
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**.
|
|
||||||
|
|
||||||
3. Pull Open_IM_Server Image from docker
|
3. Pull Open_IM_Server Image from docker
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -164,14 +163,14 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
|||||||
|
|
||||||
```
|
```
|
||||||
etcd:
|
etcd:
|
||||||
etcdAddr: [ x.x.x.x:2379]
|
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:
|
mysql:
|
||||||
dbAddress: [ x.x.x.x:3306]
|
dbAddress: [ 127.0.0.1:3306]
|
||||||
dbUserName: xxx
|
dbUserName: xxx
|
||||||
dbPassword: xxx
|
dbPassword: xxx
|
||||||
```
|
```
|
||||||
@ -180,7 +179,7 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
|||||||
|
|
||||||
```
|
```
|
||||||
mongo:
|
mongo:
|
||||||
dbAddress: [ x.x.x.x:27017 ]
|
dbAddress: [ 127.0.0.1:27017 ]
|
||||||
dbUserName:
|
dbUserName:
|
||||||
dbPassword:
|
dbPassword:
|
||||||
```
|
```
|
||||||
@ -189,7 +188,7 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
|||||||
|
|
||||||
```
|
```
|
||||||
redis:
|
redis:
|
||||||
dbAddress: [x.x.x.x:6379]
|
dbAddress: [ 127.0.0.1:6379]
|
||||||
dbPassWord:
|
dbPassWord:
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -198,9 +197,9 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
|||||||
```
|
```
|
||||||
kafka:
|
kafka:
|
||||||
ws2mschat:
|
ws2mschat:
|
||||||
addr: [ x.x.x.x:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
ms2pschat:
|
ms2pschat:
|
||||||
addr: [ x.x.x.x:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Start Open-IM-Server Service
|
5. Start Open-IM-Server Service
|
||||||
@ -328,8 +327,8 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
|
|||||||
```
|
```
|
||||||
app:app client
|
app:app client
|
||||||
app-server:app server
|
app-server:app server
|
||||||
open-im-sdk:Tuoyun's open source sdk
|
open-im-sdk:open-im source sdk
|
||||||
open-im-server:Tuoyun's open source sdk service
|
open-im-server:open-im source sdk service
|
||||||
```
|
```
|
||||||
|
|
||||||
- **Authentication Clow Chart**
|
- **Authentication Clow Chart**
|
||||||
|
@ -5,10 +5,10 @@
|
|||||||
#---------------Infrastructure configuration---------------------#
|
#---------------Infrastructure configuration---------------------#
|
||||||
etcd:
|
etcd:
|
||||||
etcdSchema: openIM
|
etcdSchema: openIM
|
||||||
etcdAddr: [ 47.112.160.66:2379 ]
|
etcdAddr: [ 127.0.0.1:2379 ]
|
||||||
|
|
||||||
mysql:
|
mysql:
|
||||||
dbAddress: [ 47.112.160.66:3306 ]
|
dbAddress: [ 127.0.0.1:3306 ]
|
||||||
dbUserName: root
|
dbUserName: root
|
||||||
dbPassword: 123456
|
dbPassword: 123456
|
||||||
dbDatabaseName: openIM
|
dbDatabaseName: openIM
|
||||||
@ -19,7 +19,7 @@ mysql:
|
|||||||
dbMaxLifeTime: 120
|
dbMaxLifeTime: 120
|
||||||
|
|
||||||
mongo:
|
mongo:
|
||||||
dbAddress: [ 47.112.160.66:27017 ]
|
dbAddress: [ 127.0.0.1:27017 ]
|
||||||
dbDirect: false
|
dbDirect: false
|
||||||
dbTimeout: 10
|
dbTimeout: 10
|
||||||
dbDatabase: [ openIM ]
|
dbDatabase: [ openIM ]
|
||||||
@ -30,7 +30,7 @@ mongo:
|
|||||||
dbRetainChatRecords: 7
|
dbRetainChatRecords: 7
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
dbAddress: [47.112.160.66:6379]
|
dbAddress: [ 127.0.0.1:6379 ]
|
||||||
dbMaxIdle: 128
|
dbMaxIdle: 128
|
||||||
dbMaxActive: 0
|
dbMaxActive: 0
|
||||||
dbIdleTimeout: 120
|
dbIdleTimeout: 120
|
||||||
@ -38,10 +38,10 @@ redis:
|
|||||||
|
|
||||||
kafka:
|
kafka:
|
||||||
ws2mschat:
|
ws2mschat:
|
||||||
addr: [ 47.112.160.66:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
topic: "ws2ms_chat"
|
topic: "ws2ms_chat"
|
||||||
ms2pschat:
|
ms2pschat:
|
||||||
addr: [ 47.112.160.66:9092 ]
|
addr: [ 127.0.0.1:9092 ]
|
||||||
topic: "ms2ps_chat"
|
topic: "ms2ps_chat"
|
||||||
consumergroupid:
|
consumergroupid:
|
||||||
msgToMongo: mongo
|
msgToMongo: mongo
|
||||||
|
BIN
docs/open-im-logo.png
Normal file
BIN
docs/open-im-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 240 KiB |
1
go.mod
1
go.mod
@ -12,7 +12,6 @@ require (
|
|||||||
github.com/eapache/go-resiliency v1.2.0 // indirect
|
github.com/eapache/go-resiliency v1.2.0 // indirect
|
||||||
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
|
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
|
||||||
github.com/eapache/queue v1.1.0 // 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/frankban/quicktest v1.11.3 // indirect
|
||||||
github.com/garyburd/redigo v1.6.2
|
github.com/garyburd/redigo v1.6.2
|
||||||
github.com/gin-gonic/gin v1.6.3
|
github.com/gin-gonic/gin v1.6.3
|
||||||
|
2
go.sum
2
go.sum
@ -46,8 +46,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
|
|||||||
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
|
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
|
||||||
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
|
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
|
||||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||||
github.com/favadi/protoc-go-inject-tag v1.1.0 h1:rSTVJya9GF6mcqOO2KRAppvVMHqIkSzG9ORflxqflNA=
|
|
||||||
github.com/favadi/protoc-go-inject-tag v1.1.0/go.mod h1:13goAxKedbu5IbfI0n2wIKh1CCgZOwPNZQd0igDWvko=
|
|
||||||
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
|
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
|
||||||
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
|
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
|
||||||
github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY=
|
github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY=
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"Open_IM/src/common/config"
|
"Open_IM/src/common/config"
|
||||||
"Open_IM/src/common/db"
|
"Open_IM/src/common/db"
|
||||||
"errors"
|
"errors"
|
||||||
|
"github.com/dgrijalva/jwt-go"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user