parent
cd14f3e649
commit
38f0e3d833
@ -1 +1 @@
|
|||||||
Subproject commit 369973051405db1102fd1b99a0226ab79b9922e0
|
Subproject commit d6372d6fe5aeea1a57e5668b510bb6e42a7e49a3
|
@ -0,0 +1,6 @@
|
|||||||
|
# 先设为忽略所有内容
|
||||||
|
**/**
|
||||||
|
|
||||||
|
|
||||||
|
# 然后逐个排除
|
||||||
|
!open_im_*
|
@ -0,0 +1,158 @@
|
|||||||
|
|
||||||
|
GREEN_PREFIX="\033[32m"
|
||||||
|
COLOR_SUFFIX="\033[0m"
|
||||||
|
SKY_BLUE_PREFIX="\033[36m"
|
||||||
|
|
||||||
|
|
||||||
|
# 编译所有需要的组件源码
|
||||||
|
win-build-all:
|
||||||
|
go env -w GOOS=linux
|
||||||
|
|
||||||
|
make build-api && make build-msg-gateway && make build-msg-transfer && make build-push && make build-timer-task
|
||||||
|
make build-rpc-user && make build-rpc-friend && make build-rpc-group && make build-rpc-msg && make build-rpc-auth
|
||||||
|
make build-demo
|
||||||
|
|
||||||
|
go env -w GOOS=windows
|
||||||
|
|
||||||
|
# 编译 open_im_api
|
||||||
|
build-api:
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_api building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_api ../cmd/open_im_api/main.go
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_api build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 open_im_msg_gateway
|
||||||
|
build-msg-gateway:
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_msg_gateway building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_msg_gateway ../cmd/open_im_msg_gateway/main.go
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_msg_gateway build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 open_im_msg_transfer
|
||||||
|
build-msg-transfer:
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_msg_transfer building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_msg_transfer ../cmd/open_im_msg_transfer/main.go
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_msg_transfer build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 open_im_push
|
||||||
|
build-push:
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_push building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_push ../cmd/open_im_push/main.go
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_push build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 open_im_timer_task
|
||||||
|
build-timer-task:
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_timer_task building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_timer_task ../cmd/open_im_timer_task/main.go
|
||||||
|
echo -e ${GREEN_PREFIX} "open_im_timer_task build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 build-rpc-user
|
||||||
|
build-rpc-user:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_user building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_rpc_user ../cmd/rpc/open_im_user/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_user build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 build-rpc-friend
|
||||||
|
build-rpc-friend:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_friend building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_rpc_friend ../cmd/rpc/open_im_friend/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_friend build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 build-rpc-group
|
||||||
|
build-rpc-group:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_group building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_rpc_group ../cmd/rpc/open_im_group/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_group build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 build-rpc-auth
|
||||||
|
build-rpc-auth:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_auth building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_rpc_auth ../cmd/rpc/open_im_auth/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_auth build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 build-rpc-msg
|
||||||
|
build-rpc-msg:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_msg building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_rpc_msg ../cmd/rpc/open_im_msg/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_rpc_msg build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 编译 open_im_demo
|
||||||
|
build-demo:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_demo building..." ${COLOR_SUFFIX}
|
||||||
|
go build -ldflags="-w -s" -o open_im_demo ../cmd/open_im_demo/main.go
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "open_im_demo build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包所有组件为镜像
|
||||||
|
image-all:
|
||||||
|
make image-api && make image-msg-gateway && make image-msg-transfer & make image-push && make image-timer-task
|
||||||
|
make image-rpc-user && make image-rpc-friend && make image-rpc-group && make image-rpc-msg && make image-rpc-auth
|
||||||
|
make image-demo
|
||||||
|
|
||||||
|
# 打包 open_im_api
|
||||||
|
image-api:
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/api building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/api:latest -f ./dockerfiles/Dockerfile.api .
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/api build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 open_im_msg_gateway
|
||||||
|
image-msg-gateway:
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/msg_gateway building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/msg_gateway:latest -f ./dockerfiles/Dockerfile.msg_gateway .
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/msg_gateway build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 open_im_msg_transfer
|
||||||
|
image-msg-transfer:
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/msg_transfer building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/msg_transfer:latest -f ./dockerfiles/Dockerfile.msg_transfer .
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/msg_transfer build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 open_im_push
|
||||||
|
image-push:
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/push building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/push:latest -f ./dockerfiles/Dockerfile.push .
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/push build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 open_im_timer_task
|
||||||
|
image-timer-task:
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/timer_task building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/timer_task:latest -f ./dockerfiles/Dockerfile.timer_task .
|
||||||
|
echo -e ${GREEN_PREFIX} "IMAGE:openim/timer_task build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 build-rpc-user
|
||||||
|
image-rpc-user:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_user building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/rpc_user:latest -f ./dockerfiles/Dockerfile.rpc_user .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_user build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 build-rpc-friend
|
||||||
|
image-rpc-friend:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_friend building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/rpc_friend:latest -f ./dockerfiles/Dockerfile.rpc_friend .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_friend build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 build-rpc-group
|
||||||
|
image-rpc-group:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_group building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/rpc_group:latest -f ./dockerfiles/Dockerfile.rpc_group .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_group build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 build-rpc-auth
|
||||||
|
image-rpc-auth:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_auth building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/rpc_auth:latest -f ./dockerfiles/Dockerfile.rpc_auth .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_auth build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 build-rpc-msg
|
||||||
|
image-rpc-msg:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_msg building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/rpc_msg:latest -f ./dockerfiles/Dockerfile.rpc_msg .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/rpc_msg build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
# 打包 open_im_demo
|
||||||
|
image-demo:
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/demo building..." ${COLOR_SUFFIX}
|
||||||
|
docker build -t openim/demo:latest -f ./dockerfiles/Dockerfile.demo .
|
||||||
|
echo -e ${SKY_BLUE_PREFIX} "IMAGE:openim/demo build ok" ${COLOR_SUFFIX}
|
||||||
|
|
||||||
|
.PHONY: win-build-all build-api build-msg-gateway build-msg-transfer build-push
|
||||||
|
build-timer-task build-rpc-user build-rpc-friend build-rpc-group build-rpc-msg build-demo
|
||||||
|
image-all image-api image-msg-gateway image-msg-transfer image-push
|
||||||
|
image-timer-task image-rpc-user image-rpc-friend image-rpc-group image-rpc-msg image-demo
|
@ -0,0 +1,166 @@
|
|||||||
|
# The class cannot be named by Pascal or camel case.
|
||||||
|
# If it is not used, the corresponding structure will not be set,
|
||||||
|
# and it will not be read naturally.
|
||||||
|
serverversion: 1.0.3
|
||||||
|
#---------------Infrastructure configuration---------------------#
|
||||||
|
etcd:
|
||||||
|
etcdSchema: openIM
|
||||||
|
etcdAddr: [ etcd:2379 ]
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
dbMysqlAddress: [ 192.168.31.101:3306 ]
|
||||||
|
dbMysqlUserName: openIM
|
||||||
|
dbMysqlPassword: openIM
|
||||||
|
dbMysqlDatabaseName: openIM
|
||||||
|
dbTableName: eMsg
|
||||||
|
dbMsgTableNum: 1
|
||||||
|
dbMaxOpenConns: 20
|
||||||
|
dbMaxIdleConns: 10
|
||||||
|
dbMaxLifeTime: 120
|
||||||
|
|
||||||
|
mongo:
|
||||||
|
dbAddress: [ 192.168.31.102:27017 ]
|
||||||
|
dbDirect: false
|
||||||
|
dbTimeout: 10
|
||||||
|
dbDatabase: openIM
|
||||||
|
dbSource: admin
|
||||||
|
dbUserName:
|
||||||
|
dbPassword:
|
||||||
|
dbMaxPoolSize: 20
|
||||||
|
dbRetainChatRecords: 7
|
||||||
|
|
||||||
|
redis:
|
||||||
|
dbAddress: openim_redis:6379
|
||||||
|
dbMaxIdle: 128
|
||||||
|
dbMaxActive: 0
|
||||||
|
dbIdleTimeout: 120
|
||||||
|
dbPassWord: openIM
|
||||||
|
|
||||||
|
kafka:
|
||||||
|
ws2mschat:
|
||||||
|
addr: [ openim_kafka:9092 ]
|
||||||
|
topic: "ws2ms_chat"
|
||||||
|
ms2pschat:
|
||||||
|
addr: [ openim_kafka:9092 ]
|
||||||
|
topic: "ms2ps_chat"
|
||||||
|
consumergroupid:
|
||||||
|
msgToMongo: mongo
|
||||||
|
msgToMySql: mysql
|
||||||
|
msgToPush: push
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#---------------Internal service configuration---------------------#
|
||||||
|
|
||||||
|
# The service ip default is empty,
|
||||||
|
# automatically obtain the machine's valid network card ip as the service ip,
|
||||||
|
# otherwise the configuration ip is preferred
|
||||||
|
serverip: 0.0.0.0
|
||||||
|
|
||||||
|
api:
|
||||||
|
openImApiPort: [ 10000 ]
|
||||||
|
sdk:
|
||||||
|
openImSdkWsPort: [ 30000 ]
|
||||||
|
|
||||||
|
credential:
|
||||||
|
tencent:
|
||||||
|
appID: 1302656840
|
||||||
|
region: ap-chengdu
|
||||||
|
bucket: echat-1302656840
|
||||||
|
secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC
|
||||||
|
secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe
|
||||||
|
|
||||||
|
|
||||||
|
rpcport:
|
||||||
|
openImUserPort: [ 10100 ]
|
||||||
|
openImFriendPort: [ 10200 ]
|
||||||
|
openImOfflineMessagePort: [ 10300]
|
||||||
|
openImOnlineRelayPort: [ 10400 ]
|
||||||
|
openImGroupPort: [ 10500 ]
|
||||||
|
openImAuthPort: [ 10600 ]
|
||||||
|
openImPushPort: [ 10700 ]
|
||||||
|
|
||||||
|
|
||||||
|
rpcregistername:
|
||||||
|
openImUserName: User
|
||||||
|
openImFriendName: Friend
|
||||||
|
openImOfflineMessageName: OfflineMessage
|
||||||
|
openImPushName: Push
|
||||||
|
openImOnlineMessageRelayName: OnlineMessageRelay
|
||||||
|
openImGroupName: Group
|
||||||
|
openImAuthName: Auth
|
||||||
|
|
||||||
|
log:
|
||||||
|
storageLocation: ../logs/
|
||||||
|
rotationTime: 24
|
||||||
|
remainRotationCount: 5
|
||||||
|
remainLogLevel: 6
|
||||||
|
elasticSearchSwitch: false
|
||||||
|
elasticSearchAddr: [ 127.0.0.1:9201 ]
|
||||||
|
elasticSearchUser: ""
|
||||||
|
elasticSearchPassword: ""
|
||||||
|
|
||||||
|
modulename:
|
||||||
|
longConnSvrName: msg_gateway
|
||||||
|
msgTransferName: msg_transfer
|
||||||
|
pushName: push
|
||||||
|
|
||||||
|
longconnsvr:
|
||||||
|
openImWsPort: [ 17778 ]
|
||||||
|
websocketMaxConnNum: 10000
|
||||||
|
websocketMaxMsgLen: 4096
|
||||||
|
websocketTimeOut: 10
|
||||||
|
|
||||||
|
push:
|
||||||
|
tpns:
|
||||||
|
ios:
|
||||||
|
accessID: 1600018281
|
||||||
|
secretKey: 3cd68a77a95b89e5089a1aca523f318f
|
||||||
|
android:
|
||||||
|
accessID: 111
|
||||||
|
secretKey: 111
|
||||||
|
jpns:
|
||||||
|
appKey: cf47465a368f24c659608e7e
|
||||||
|
masterSecret: 02204efe3f3832947a236ee5
|
||||||
|
pushUrl: "https://api.jpush.cn/v3/push"
|
||||||
|
pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end"
|
||||||
|
manager:
|
||||||
|
appManagerUid: ["openIM123456","openIM654321"]
|
||||||
|
secrets: ["openIM1","openIM2"]
|
||||||
|
|
||||||
|
secret: tuoyun
|
||||||
|
|
||||||
|
multiloginpolicy: 1
|
||||||
|
|
||||||
|
#token config
|
||||||
|
tokenpolicy:
|
||||||
|
accessSecret: "open_im_server"
|
||||||
|
# Token effective time day as a unit
|
||||||
|
accessExpire: 7
|
||||||
|
|
||||||
|
messagecallback:
|
||||||
|
callbackSwitch: false
|
||||||
|
callbackUrl: "http://www.xxx.com/msg/judge"
|
||||||
|
#TimeOut use second as unit
|
||||||
|
callbackTimeOut: 10
|
||||||
|
|
||||||
|
|
||||||
|
#---------------demo configuration---------------------#
|
||||||
|
#The following configuration items are applied to openIM Demo configuration
|
||||||
|
demoswitch: true
|
||||||
|
demo:
|
||||||
|
openImDemoPort: [ 42233 ]
|
||||||
|
alismsverify:
|
||||||
|
accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71
|
||||||
|
accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1
|
||||||
|
signName: OpenIM Corporation
|
||||||
|
verificationCodeTemplateCode: SMS_2268101641
|
||||||
|
superCode: 666666
|
||||||
|
mail:
|
||||||
|
title: "openIM"
|
||||||
|
senderMail: "1765567899@qq.com"
|
||||||
|
senderAuthorizationCode: "1gxyausfoevlzbfag"
|
||||||
|
smtpAddr: "smtp.qq.com"
|
||||||
|
smtpPort: 25
|
||||||
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_api $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_demo $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_msg_transfer $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_push $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_rpc_auth $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_rpc_friend $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_rpc_group $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_rpc_msg $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_rpc_user $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,15 @@
|
|||||||
|
FROM alpine:3.13
|
||||||
|
|
||||||
|
# 设置固定的项目路径
|
||||||
|
ENV WORKDIR /app
|
||||||
|
|
||||||
|
# 将可执行文件复制到目标目录
|
||||||
|
ADD ./open_im_timer_task $WORKDIR/main
|
||||||
|
|
||||||
|
# 创建用于挂载的几个目录,添加可执行权限
|
||||||
|
RUN mkdir $WORKDIR/logs $WORKDIR/config $WORKDIR/db && \
|
||||||
|
chmod +x $WORKDIR/main
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR $WORKDIR
|
||||||
|
CMD ./main
|
@ -0,0 +1,103 @@
|
|||||||
|
version: "3.7"
|
||||||
|
networks:
|
||||||
|
openim:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
# mysql:
|
||||||
|
# networks:
|
||||||
|
# - openim
|
||||||
|
# image: 192.168.31.101:8080/library/mysql:5.7
|
||||||
|
# # ports:
|
||||||
|
# # #- 13306:3306
|
||||||
|
# # - 23306:33060
|
||||||
|
# container_name: mysql
|
||||||
|
# volumes:
|
||||||
|
# - ./components/mysql/data:/var/lib/mysql
|
||||||
|
# - /etc/localtime:/etc/localtime
|
||||||
|
# environment:
|
||||||
|
# MYSQL_ROOT_PASSWORD: openIM
|
||||||
|
# restart: always
|
||||||
|
|
||||||
|
# mongodb:
|
||||||
|
# networks:
|
||||||
|
# - openim
|
||||||
|
# image: 192.168.31.101:8080/library/mongo:4.4.5-bionic
|
||||||
|
# # ports:
|
||||||
|
# # - 37017:27017
|
||||||
|
# container_name: mongo
|
||||||
|
# volumes:
|
||||||
|
# - ./components/mongodb/data/db:/data/db
|
||||||
|
# - ./components/mongodb/data/logs:/data/logs
|
||||||
|
# - ./components/mongodb/data/conf:/etc/mongo
|
||||||
|
# # environment:
|
||||||
|
# # - MONGO_INITDB_ROOT_USERNAME=openIM
|
||||||
|
# # - MONGO_INITDB_ROOT_PASSWORD=openIM
|
||||||
|
|
||||||
|
# #TZ: Asia/Shanghai
|
||||||
|
# restart: always
|
||||||
|
|
||||||
|
redis:
|
||||||
|
networks:
|
||||||
|
- openim
|
||||||
|
image: 192.168.31.101:8080/library/redis:6.2.4-alpine
|
||||||
|
# ports:
|
||||||
|
# - 16379:6379
|
||||||
|
container_name: openim_redis
|
||||||
|
volumes:
|
||||||
|
- ./components/redis/data:/data
|
||||||
|
#redis config file
|
||||||
|
#- ./components/redis/config/redis.conf:/usr/local/redis/config/redis.conf
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
restart: always
|
||||||
|
sysctls:
|
||||||
|
net.core.somaxconn: 1024
|
||||||
|
command: redis-server --requirepass openIM --appendonly yes
|
||||||
|
|
||||||
|
|
||||||
|
zookeeper:
|
||||||
|
networks:
|
||||||
|
- openim
|
||||||
|
image: wurstmeister/zookeeper
|
||||||
|
# ports:
|
||||||
|
# - 2181:2181
|
||||||
|
container_name: openim_zookeeper
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
|
||||||
|
kafka:
|
||||||
|
networks:
|
||||||
|
- openim
|
||||||
|
image: wurstmeister/kafka
|
||||||
|
container_name: openim_kafka
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
KAFKA_BROKER_ID: 0
|
||||||
|
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
||||||
|
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
|
||||||
|
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
|
||||||
|
depends_on:
|
||||||
|
- zookeeper
|
||||||
|
|
||||||
|
etcd:
|
||||||
|
networks:
|
||||||
|
- openim
|
||||||
|
image: quay.io/coreos/etcd
|
||||||
|
# ports:
|
||||||
|
# - 2379:2379
|
||||||
|
# - 2380:2380
|
||||||
|
container_name: openim_etcd
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
environment:
|
||||||
|
ETCDCTL_API: 3
|
||||||
|
restart: always
|
||||||
|
command: /usr/local/bin/etcd --name etcd0 --data-dir /etcd-data --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://0.0.0.0:2379 --listen-peer-urls http://0.0.0.0:2380 --initial-advertise-peer-urls http://0.0.0.0:2380 --initial-cluster etcd0=http://0.0.0.0:2380 --initial-cluster-token tkn --initial-cluster-state new
|
||||||
|
|
Loading…
Reference in new issue