Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3.6.1 code conventions #2203

Merged
merged 670 commits into from
Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
670 commits
Select commit Hold shift + click to select a range
f32fcda
Adjust configuration settings
skiffer-git Apr 3, 2024
7dff742
Adjust configuration settings
skiffer-git Apr 3, 2024
60dd500
Adjust configuration settings
skiffer-git Apr 3, 2024
38c6ff7
refactor: webhooks update.
FGadvancer Apr 3, 2024
c52eaa8
refactor: kafka update.
FGadvancer Apr 7, 2024
f5d01ff
Simplify the Docker Compose configuration, remove unnecessary environ…
skiffer-git Apr 7, 2024
99755e0
Merge branch '3.6.1-code-conventions' of https://github.com/FGadvance…
skiffer-git Apr 7, 2024
e07a550
refactor: kafka update.
FGadvancer Apr 7, 2024
a134774
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 7, 2024
545fdd3
refactor: kafka update.
FGadvancer Apr 7, 2024
5893ba7
Simplify the Docker Compose configuration, remove unnecessary environ…
skiffer-git Apr 7, 2024
3602921
Simplify the Docker Compose configuration, remove unnecessary environ…
skiffer-git Apr 7, 2024
0267fec
Simplify the Docker Compose configuration, remove unnecessary environ…
skiffer-git Apr 7, 2024
eeb8041
Windows can compile and run.
skiffer-git Apr 7, 2024
787428a
Windows can compile and run.
skiffer-git Apr 7, 2024
f80e8ba
refactor: kafka update.
FGadvancer Apr 7, 2024
46201b7
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 7, 2024
32c2c37
feat: msg cache split
withchao Apr 7, 2024
1ab094e
refactor: webhooks update
FGadvancer Apr 7, 2024
b9e044e
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 7, 2024
827e673
refactor: webhooks update
FGadvancer Apr 7, 2024
8ce5655
refactor: friends update
FGadvancer Apr 7, 2024
8730664
refactor: group update
FGadvancer Apr 7, 2024
8c10e4f
refactor: third update
FGadvancer Apr 7, 2024
9b3aedc
refactor: api update
FGadvancer Apr 8, 2024
93b68f0
refactor: crontab update
FGadvancer Apr 8, 2024
220eeca
refactor: msggateway update
FGadvancer Apr 8, 2024
8ff5c89
mage
skiffer-git Apr 9, 2024
26cb47c
mage
skiffer-git Apr 9, 2024
a383abe
refactor: all module update.
FGadvancer Apr 9, 2024
5d8503c
check
skiffer-git Apr 9, 2024
97e53a4
refactor: all module update.
FGadvancer Apr 9, 2024
4956e21
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 9, 2024
e9f074f
load config
skiffer-git Apr 9, 2024
6f8dc33
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 9, 2024
ff03e52
load config
skiffer-git Apr 9, 2024
3dec12c
load config
skiffer-git Apr 9, 2024
2b6421d
load config
skiffer-git Apr 9, 2024
bc08093
refactor: all module update.
FGadvancer Apr 9, 2024
af5c358
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 9, 2024
a7d43bb
refactor: all module update.
FGadvancer Apr 9, 2024
92efb51
refactor: all module update.
FGadvancer Apr 10, 2024
49c699e
refactor: all module update.
FGadvancer Apr 10, 2024
b477577
refactor: all module update.
FGadvancer Apr 10, 2024
dee12fc
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
9b9c482
refactor: all module update.
FGadvancer Apr 10, 2024
1ee90e5
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 10, 2024
398b919
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
9d80580
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
8035095
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
5824d17
refactor: all module update.
FGadvancer Apr 10, 2024
66d0ba2
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 10, 2024
0fdada1
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
df338a5
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 10, 2024
b0e78f0
refactor: all module update.
FGadvancer Apr 10, 2024
2ac461d
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 10, 2024
82f3738
refactor: all module update.
FGadvancer Apr 10, 2024
5fd9392
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
5b1873a
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 10, 2024
2614946
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
1b8ed7f
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
7f37d58
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
b1bc832
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
551dbb2
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
29947e8
update tools
withchao Apr 10, 2024
f724b63
update tools
withchao Apr 10, 2024
341eacb
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
c5e9f6c
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
4255453
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
5874ea0
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
cdfac3c
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
a683aad
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
4d05521
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
9765256
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
d1eff3f
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
a9f25cf
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
f9d3f35
Optimize Docker configuration and script.
skiffer-git Apr 10, 2024
18fbfd8
update protocol
withchao Apr 11, 2024
3ad8056
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
5bb0efa
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
d9943a6
refactor: all module update.
FGadvancer Apr 11, 2024
c53aed5
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 11, 2024
707ff0f
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
867cbaf
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
6c4f848
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
d81cfb9
Optimize Docker configuration and script.
skiffer-git Apr 11, 2024
67e264c
refactor: api remove token auth by redis directly.
FGadvancer Apr 11, 2024
cb96d55
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 11, 2024
95b180e
Code Refactoring
skiffer-git Apr 11, 2024
e379067
refactor: websocket auth change to call rpc of auth.
FGadvancer Apr 11, 2024
2fe48ef
refactor: kick online user and remove token change to call auth rpc.
FGadvancer Apr 12, 2024
a921efe
refactor: kick online user and remove token change to call auth rpc.
FGadvancer Apr 12, 2024
8e09f3c
refactor: remove msggateway redis.
FGadvancer Apr 12, 2024
8d25ced
refactor: cmd update.
FGadvancer Apr 12, 2024
11d3c7a
refactor: cmd update.
FGadvancer Apr 12, 2024
77d789b
refactor: cmd update.
FGadvancer Apr 12, 2024
3f0eb01
refactor: cmd update.
FGadvancer Apr 12, 2024
76abe49
refactor: cmd update.
FGadvancer Apr 12, 2024
1890174
refactor: cmd update.
FGadvancer Apr 12, 2024
9857ea2
refactor: cmd update.
FGadvancer Apr 12, 2024
a447748
refactor: cmd update.
FGadvancer Apr 12, 2024
e1d9942
refactor: cmd update.
FGadvancer Apr 12, 2024
cb44871
refactor: cmd update.
FGadvancer Apr 12, 2024
1500615
refactor: cmd update.
FGadvancer Apr 15, 2024
9edc48d
refactor: cmd update.
FGadvancer Apr 15, 2024
285b1e8
refactor: cmd update.
FGadvancer Apr 15, 2024
ba25bef
refactor: cmd update.
FGadvancer Apr 15, 2024
3756ba9
refactor: cmd update.
FGadvancer Apr 15, 2024
eef1ee1
refactor: cmd update.
FGadvancer Apr 15, 2024
7295fe5
refactor: cmd update.
FGadvancer Apr 15, 2024
924c4c0
refactor: cmd update.
FGadvancer Apr 15, 2024
6044681
refactor: cmd update.
FGadvancer Apr 15, 2024
16d2faa
refactor: cmd update.
FGadvancer Apr 15, 2024
534812a
refactor: cmd update.
FGadvancer Apr 15, 2024
df2a1d9
refactor: cmd update.
FGadvancer Apr 15, 2024
4d198ea
refactor: cmd update.
FGadvancer Apr 15, 2024
b8a0c41
refactor: cmd update.
FGadvancer Apr 15, 2024
2ac3ff5
refactor: cmd update.
FGadvancer Apr 15, 2024
4c30f33
refactor: cmd update.
FGadvancer Apr 15, 2024
b6a62ee
refactor webhook
skiffer-git Apr 15, 2024
df6bcf0
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 15, 2024
32f31b7
refactor: cmd update.
FGadvancer Apr 15, 2024
a850733
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 15, 2024
28abacb
refactor: cmd update.
FGadvancer Apr 15, 2024
cfa22bf
refactor: cmd update.
FGadvancer Apr 15, 2024
55e26eb
refactor: cmd update.
FGadvancer Apr 15, 2024
ebbb8b8
refactor webhook
skiffer-git Apr 15, 2024
777fa8c
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 15, 2024
4c2a957
refactor: cmd update.
FGadvancer Apr 15, 2024
2df44e2
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 15, 2024
12e19bf
refactor: cmd update.
FGadvancer Apr 15, 2024
84fe8f6
fix: runtime: goroutine stack exceeds
withchao Apr 15, 2024
02ae10d
refactor: cmd update.
FGadvancer Apr 15, 2024
eaabf80
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 15, 2024
1f52b1f
refactor notification
skiffer-git Apr 15, 2024
39bf5a8
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 15, 2024
bbadbe3
refactor notification
skiffer-git Apr 15, 2024
e53dcbe
refactor
skiffer-git Apr 15, 2024
4a4172c
refactor: cmd update.
FGadvancer Apr 15, 2024
6d52a16
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 15, 2024
13080ec
refactor: cmd update.
FGadvancer Apr 15, 2024
5b7379f
refactor
skiffer-git Apr 16, 2024
b96ea0f
refactor
skiffer-git Apr 16, 2024
f5d18d4
refactor
skiffer-git Apr 16, 2024
3e01ca5
protojson
withchao Apr 16, 2024
ef3081b
protojson
withchao Apr 16, 2024
bc39e46
protojson
withchao Apr 16, 2024
5b4d0d4
go mod
withchao Apr 16, 2024
d1d58e7
wrapperspb
withchao Apr 16, 2024
6668d52
refactor: cmd update.
FGadvancer Apr 16, 2024
a6fec8d
refactor: cmd update.
FGadvancer Apr 16, 2024
6dbb855
refactor: cmd update.
FGadvancer Apr 16, 2024
2a429d6
refactor: context update.
FGadvancer Apr 16, 2024
580bd5c
refactor: websocket update info.
FGadvancer Apr 16, 2024
4cd4f68
refactor: websocket update info.
FGadvancer Apr 16, 2024
2d0aacc
refactor: websocket update info.
FGadvancer Apr 16, 2024
1fde6c8
refactor: websocket update info.
FGadvancer Apr 16, 2024
ae4417f
refactor: api name change.
FGadvancer Apr 17, 2024
ef96c70
refactor: debug info.
FGadvancer Apr 17, 2024
63e9822
refactor: debug info.
FGadvancer Apr 17, 2024
c6e7dfa
refactor: debug info.
FGadvancer Apr 17, 2024
778e374
fix: update file
withchao Apr 17, 2024
b0a5821
refactor
skiffer-git Apr 18, 2024
c853188
refactor
skiffer-git Apr 18, 2024
c10c3c3
refactor: debug info.
FGadvancer Apr 18, 2024
c3e7c80
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 18, 2024
9eadf67
refactor: debug info.
FGadvancer Apr 18, 2024
b186fe9
refactor: debug info.
FGadvancer Apr 18, 2024
9342147
refactor: debug info.
FGadvancer Apr 19, 2024
3c280d4
refactor: debug info.
FGadvancer Apr 19, 2024
e618a8f
refactor: debug info.
FGadvancer Apr 19, 2024
e82fd5a
fix: callback update.
FGadvancer Apr 19, 2024
b35c9e4
fix: callback update.
FGadvancer Apr 19, 2024
dfe7c4c
refactor
skiffer-git Apr 19, 2024
636d5c6
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 19, 2024
7d8886a
fix: update message.
FGadvancer Apr 19, 2024
51bb555
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 19, 2024
7969f56
fix: msg cache timeout.
FGadvancer Apr 19, 2024
cc93391
refactor
skiffer-git Apr 19, 2024
ab841fa
Merge branch '3.6.1-code-conventions' of https://github.com/FGadvance…
skiffer-git Apr 19, 2024
66070df
refactor
skiffer-git Apr 19, 2024
36780c6
fix: push update.
FGadvancer Apr 19, 2024
977b67d
fix: push update.
FGadvancer Apr 19, 2024
a6ec686
fix: push update.
FGadvancer Apr 19, 2024
23c2252
fix: push update.
FGadvancer Apr 19, 2024
6c19531
fix: push update.
FGadvancer Apr 19, 2024
20db896
fix: push update.
FGadvancer Apr 19, 2024
774f8e6
refactor
skiffer-git Apr 19, 2024
620a59e
refactor
skiffer-git Apr 19, 2024
5fbe768
fix: push update.
FGadvancer Apr 19, 2024
95b19f5
fix: websocket handle error remove when upgrade error.
FGadvancer Apr 19, 2024
e5ee8b3
Merge branch '3.6.1-code-conventions' of https://github.com/FGadvance…
skiffer-git Apr 20, 2024
eb36ab8
fix: priority url
withchao Apr 22, 2024
d12008f
fix: minio config
withchao Apr 22, 2024
f1eaaae
Merge branch '3.6.1-code-conventions' of https://github.com/FGadvance…
skiffer-git Apr 22, 2024
427e669
refactor: add zk logger.
FGadvancer Apr 22, 2024
f489a82
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 22, 2024
241a21c
refactor
skiffer-git Apr 22, 2024
530f179
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 22, 2024
dc48f12
fix: minio config
withchao Apr 22, 2024
9e61bde
refactor
skiffer-git Apr 22, 2024
73191fd
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 22, 2024
843a704
remove \r
skiffer-git Apr 22, 2024
802052d
remove \r
skiffer-git Apr 22, 2024
309a727
remove \r
skiffer-git Apr 22, 2024
d517f3f
remove \r
skiffer-git Apr 22, 2024
5cfb7c8
remove \r
invalid-email-address Apr 22, 2024
cc0c9eb
remove \r
invalid-email-address Apr 22, 2024
44f928d
remove \r
invalid-email-address Apr 22, 2024
b2895c4
remove \r
skiffer-git Apr 22, 2024
30c5049
Merge remote-tracking branch 'origin/main'
skiffer-git Apr 22, 2024
7de5e26
remove \r
invalid-email-address Apr 22, 2024
77cbadb
remove \r
skiffer-git Apr 22, 2024
64f4cd1
fix bug: get localIP
skiffer-git Apr 22, 2024
c239307
refactor
skiffer-git Apr 22, 2024
6a29662
refactor
skiffer-git Apr 22, 2024
b6391ac
refactor
skiffer-git Apr 22, 2024
88f78d9
refactor: remove zk logger.
FGadvancer Apr 22, 2024
470ee10
refactor: update tools version.
FGadvancer Apr 22, 2024
e103e33
refactor
skiffer-git Apr 22, 2024
2593d25
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 22, 2024
820413f
refactor: update server version to 3.7.0.
FGadvancer Apr 22, 2024
140d8d2
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 22, 2024
584fbaf
refactor
skiffer-git Apr 22, 2024
ad46166
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 22, 2024
fc9b16f
refactor
skiffer-git Apr 22, 2024
1f445a9
refactor
skiffer-git Apr 22, 2024
27300af
refactor
skiffer-git Apr 22, 2024
42d52fb
refactor
skiffer-git Apr 22, 2024
c6d58d7
refactor
skiffer-git Apr 22, 2024
aa7b02e
refactor
skiffer-git Apr 22, 2024
5ce08e5
refactor
skiffer-git Apr 22, 2024
670f5d2
refactor
skiffer-git Apr 22, 2024
65423e6
refactor
skiffer-git Apr 23, 2024
4a36a01
refactor
skiffer-git Apr 23, 2024
19b8824
refactor
skiffer-git Apr 23, 2024
ac94ede
refactor
skiffer-git Apr 23, 2024
fd9cd3c
refactor: zk log debug.
FGadvancer Apr 23, 2024
aa0c815
refactor: zk log debug.
FGadvancer Apr 23, 2024
97032a7
refactor: zk log debug.
FGadvancer Apr 23, 2024
68c7a42
refactor: zk log debug.
FGadvancer Apr 23, 2024
a393eeb
refactor: zk log debug.
FGadvancer Apr 23, 2024
daa5631
refactor
skiffer-git Apr 23, 2024
6ac0ef8
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
skiffer-git Apr 23, 2024
f3f23d9
refactor
skiffer-git Apr 23, 2024
46061bd
refactor
skiffer-git Apr 23, 2024
d447f53
refactor: log level change.
FGadvancer Apr 23, 2024
a3d46f8
Merge remote-tracking branch 'origin/3.6.1-code-conventions' into 3.6…
FGadvancer Apr 23, 2024
a35591d
refactor: 3.7.0 code conventions.
FGadvancer Apr 24, 2024
9c266c5
refactor: 3.7.0 code conventions.
FGadvancer Apr 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
.git

# Ignore build artifacts
_output/
logs/

_output/
# Ignore non-essential documentation
README.md
README-zh_CN.md
Expand All @@ -18,8 +17,6 @@ CHANGELOG/
# Ignore testing and linting configuration
.golangci.yml

# Ignore deployment-related files
docker-compose.yaml

# Ignore assets
assets/
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.sh text eol=lf
59 changes: 39 additions & 20 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,30 +1,49 @@
# Build Stage
FROM golang:1.20 AS builder
# Use Go 1.21 Alpine as the base image for building the application
FROM golang:1.21-alpine as builder

# Set go mod installation source and proxy
ARG GO111MODULE=on
# Define the base directory for the application as an environment variable
ENV SERVER_DIR=/openim-server

ENV GO111MODULE=$GO111MODULE
ENV GOPROXY=$GOPROXY
# Set the working directory inside the container based on the environment variable
WORKDIR $SERVER_DIR

# Set up the working directory
WORKDIR /openim/openim-server
# Set the Go proxy to improve dependency resolution speed
ENV GOPROXY=https://goproxy.io,direct

# Copy all files from the current directory into the container
COPY . .

# Copy all files to the container
ADD . .
RUN go mod download

RUN make clean
RUN make build
# Install Mage to use for building the application
RUN go install github.com/magefile/[email protected]

FROM ghcr.io/openim-sigs/openim-ubuntu-image:latest
# Optionally build your application if needed
RUN mage build

WORKDIR ${SERVER_WORKDIR}
# Using Alpine Linux with Go environment for the final image
FROM golang:1.21-alpine

# Copy scripts and binary files to the production image
COPY --from=builder ${OPENIM_SERVER_BINDIR} /openim/openim-server/_output/bin
COPY --from=builder ${OPENIM_SERVER_CMDDIR} /openim/openim-server/scripts
COPY --from=builder ${SERVER_WORKDIR}/config /openim/openim-server/config
COPY --from=builder ${SERVER_WORKDIR}/deployments /openim/openim-server/deployments
# Install necessary packages, such as bash
RUN apk add --no-cache bash

CMD ["/openim/openim-server/scripts/docker-start-all.sh"]
# Set the environment and work directory
ENV SERVER_DIR=/openim-server
WORKDIR $SERVER_DIR


# Copy the compiled binaries and mage from the builder image to the final image
COPY --from=builder $SERVER_DIR/_output $SERVER_DIR/_output
COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config
COPY --from=builder /go/bin/mage /usr/local/bin/mage
COPY --from=builder $SERVER_DIR/magefile_windows.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile_unix.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/magefile.go $SERVER_DIR/
COPY --from=builder $SERVER_DIR/start-config.yml $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.mod $SERVER_DIR/
COPY --from=builder $SERVER_DIR/go.sum $SERVER_DIR/

RUN go get github.com/openimsdk/[email protected]

# Set the command to run when the container starts
ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"]
63 changes: 63 additions & 0 deletions config/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
title: 'OpenIM Configuration Files and Common Configuration Item Modifications Guide'

## Configuration Files Explanation

| Configuration File | Description |
| ------------------------------- | ------------------------------------------------------------ |
| **kafka.yml** | Configurations for Kafka username, password, address, etc. |
| **redis.yml** | Configurations for Redis password, address, etc. |
| **minio.yml** | Configurations for MinIO username, password, address, and external IP/domain; failing to modify external IP or domain may cause image file sending failures |
| **zookeeper.yml** | Configurations for ZooKeeper user, password, address, etc. |
| **mongodb.yml** | Configurations for MongoDB username, password, address, etc. |
| **log.yml** | Configurations for log level and storage directory. |
| **notification.yml** | Configurations for events like adding friends, creating groups, etc. |
| **share.yml** | Common configurations needed by various OpenIM services, such as secret. |
| **webhooks.yml** | Configurations for URLs in Webhook. |
| **local-cache.yml** | Local cache configurations. |
| **openim-rpc-third.yml** | Configurations for listening IP, port, and storage settings for images and videos in openim-rpc-third service. |
| **openim-rpc-user.yml** | Configurations for listening IP and port in openim-rpc-user service. |
| **openim-api.yml** | Configurations for listening IP, port, etc., in openim-api service. |
| **openim-crontask.yml** | Configurations for openim-crontask service. |
| **openim-msggateway.yml** | Configurations for listening IP, port, etc., in openim-msggateway service. |
| **openim-msgtransfer.yml** | Configurations for openim-msgtransfer service. |
| **openim-push.yml** | Configurations for listening IP, port, and offline push settings in openim-push service. |
| **openim-rpc-auth.yml** | Configurations for listening IP, port, and token expiration settings in openim-rpc-auth service. |
| **openim-rpc-conversation.yml** | Configurations for listening IP, port, etc., in openim-rpc-conversation service. |
| **openim-rpc-friend.yml** | Configurations for listening IP, port, etc., in openim-rpc-friend service. |
| **openim-rpc-group.yml** | Configurations for listening IP, port, etc., in openim-rpc-group service. |
| **openim-rpc-msg.yml** | Configurations for listening IP, port, and whether to verify friendship before sending messages in openim-rpc-msg service. |

## Common Configuration Item Modifications

| Configuration Item Modification | Configuration File |
| ----------------------------------------------------- | ----------------------- |
| Using MinIO for image and video file object storage | `minio.yml` |
| Adjusting production environment logs | `log.yml` |
| Verifying friendship before sending messages | `openim-rpc-msg.yml` |
| Modifying secret | `share.yml` |
| Using OSS, COS, AWS, Kodo for image and video storage | `openim-rpc-third.yml` |
| Setting multiple login policy | `openim-msggateway.yml` |
| Setting up offline push | `openim-push.yml` |

## Starting Multiple Instances of an OpenIM Service

To start multiple instances of an OpenIM service, simply increase the corresponding port numbers and modify the `start-config.yml` file in the project root directory. Restart the service to take effect. For example, the configuration to start 2 instances of `openim-rpc-user` is as follows:

```yaml
rpc:
registerIP: ''
listenIP: 0.0.0.0
ports: [ 10110, 10111 ]

prometheus:
enable: true
ports: [ 20100, 20101 ]
```

Modify `start-config.yml`:

```yaml
serviceBinaries:
openim-rpc-user: 2
```
8 changes: 3 additions & 5 deletions config/minio.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
bucket: "openim"
port: 10005
accessKeyID: "root"
secretAccessKey: "openIM123"
sessionToken: ''
internalIP: localhost
externalIP: 150.109.93.151
url: https://image.rentsoft.cn/
publicRead: false
internalAddress: "minio:9000"
externalAddress: "http://external_ip:10005"
publicRead: false
9 changes: 3 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ require (
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect
github.com/mitchellh/mapstructure v1.5.0
github.com/openimsdk/localcache v0.0.1
github.com/openimsdk/protocol v0.0.64
github.com/openimsdk/tools v0.0.47-alpha.42
github.com/openimsdk/tools v0.0.49-alpha.2
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.18.0
github.com/stretchr/testify v1.9.0
Expand All @@ -32,9 +31,10 @@ require (
github.com/IBM/sarama v1.43.0
github.com/fatih/color v1.14.1
github.com/go-redis/redis v6.15.9+incompatible
github.com/hashicorp/golang-lru/v2 v2.0.7
github.com/kelindar/bitmap v1.5.2
github.com/likexian/gokit v0.25.13
github.com/openimsdk/gomake v0.0.6
github.com/openimsdk/gomake v0.0.9
github.com/redis/go-redis/v9 v9.4.0
github.com/robfig/cron/v3 v3.0.1
github.com/shirou/gopsutil v3.21.11+incompatible
Expand Down Expand Up @@ -83,7 +83,6 @@ require (
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jcmturner/aescts/v2 v2.0.0 // indirect
Expand Down Expand Up @@ -173,5 +172,3 @@ require (
golang.org/x/crypto v0.21.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
)

replace github.com/openimsdk/localcache => ./pkg/localcache
8 changes: 4 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -266,12 +266,12 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.18.1 h1:M1GfJqGRrBrrGGsbxzV5dqM2U2ApXefZCQpkukxYRLE=
github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs=
github.com/openimsdk/gomake v0.0.6 h1:bJmQWDHBj8PQ7oGJ2SL3Gsx0k5CdI/BPfGzlGcV105s=
github.com/openimsdk/gomake v0.0.6/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI=
github.com/openimsdk/gomake v0.0.9 h1:ouf25ygN2PMQ68Gfgns/EQRPiLPnp+77SIr68GfE+n4=
github.com/openimsdk/gomake v0.0.9/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI=
github.com/openimsdk/protocol v0.0.64 h1:OrjSs4CgKN9VLvJvrAsc37O7Ru0E0VllXZQSmG/ab7U=
github.com/openimsdk/protocol v0.0.64/go.mod h1:OZQA9FR55lseYoN2Ql1XAHYKHJGu7OMNkUbuekrKCM8=
github.com/openimsdk/tools v0.0.47-alpha.42 h1:wM6t9otTLhXECq8aQcYaZGvBgo/ZAmbNTqVt3g3NHGg=
github.com/openimsdk/tools v0.0.47-alpha.42/go.mod h1:P4oGP1Pd+d4ctbLD5U/XQTgl8yu8Hd3skx640Fr69ko=
github.com/openimsdk/tools v0.0.49-alpha.2 h1:8IfV6o2ySU7C54sh/MG7ctEp1h3lSNe03OCUDWSk5Ws=
github.com/openimsdk/tools v0.0.49-alpha.2/go.mod h1:P4oGP1Pd+d4ctbLD5U/XQTgl8yu8Hd3skx640Fr69ko=
github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
Expand Down
4 changes: 0 additions & 4 deletions internal/api/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,6 @@ func Start(ctx context.Context, index int, config *Config) error {
return errs.WrapMsg(err, "failed to register discovery service")
}

if err = client.CreateRpcRootNodes(config.Share.RpcRegisterName.GetServiceNames()); err != nil {
return errs.WrapMsg(err, "failed to create RPC root nodes")
}

var (
netDone = make(chan struct{}, 1)
netErr error
Expand Down
5 changes: 0 additions & 5 deletions internal/msgtransfer/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,6 @@ func Start(ctx context.Context, index int, config *Config) error {
if err != nil {
return err
}

if err := client.CreateRpcRootNodes(config.Share.RpcRegisterName.GetServiceNames()); err != nil {
return err
}

client.AddOption(mw.GrpcClient(), grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithDefaultServiceConfig(fmt.Sprintf(`{"LoadBalancingPolicy": "%s"}`, "round_robin")))
//todo MsgCacheTimeout
Expand Down
2 changes: 1 addition & 1 deletion internal/msgtransfer/online_history_msg_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ func (och *OnlineHistoryRedisConsumerHandler) ConsumeClaim(
break
}
}
log.ZDebug(context.Background(), "online new session msg come", "highWaterMarkOffset",
log.ZInfo(context.Background(), "online new session msg come", "highWaterMarkOffset",
claim.HighWaterMarkOffset(), "topic", claim.Topic(), "partition", claim.Partition())

var (
Expand Down
6 changes: 3 additions & 3 deletions internal/push/push_handler.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright © 2023 OpenIM. All rights reserved.

Check failure on line 1 in internal/push/push_handler.go

View workflow job for this annotation

GitHub Actions / comment-language-detector

Lines [262]

Check failure on line 1 in internal/push/push_handler.go

View workflow job for this annotation

GitHub Actions / comment-language-detector

Lines [262]
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -96,7 +96,7 @@
var err error
switch msgFromMQ.MsgData.SessionType {
case constant.ReadGroupChatType:
err = c.Push2SuperGroup(ctx, pbData.MsgData.GroupID, pbData.MsgData)
err = c.Push2Group(ctx, pbData.MsgData.GroupID, pbData.MsgData)
default:
var pushUserIDList []string
isSenderSync := datautil.GetSwitchFromOptions(pbData.MsgData.Options, constant.IsSenderSync)
Expand All @@ -108,7 +108,7 @@
err = c.Push2User(ctx, pushUserIDList, pbData.MsgData)
}
if err != nil {
log.ZError(ctx, "push failed", err, "msg", pbData.String())
log.ZWarn(ctx, "push failed", err, "msg", pbData.String())
}
}

Expand Down Expand Up @@ -179,7 +179,7 @@
return true
}

func (c *ConsumerHandler) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws.MsgData) (err error) {
func (c *ConsumerHandler) Push2Group(ctx context.Context, groupID string, msg *sdkws.MsgData) (err error) {
log.ZDebug(ctx, "Get super group msg from msg_transfer and push msg", "msg", msg.String(), "groupID", groupID)
var pushToUserIDs []string
if err = c.webhookBeforeGroupOnlinePush(ctx, &c.config.WebhooksConfig.BeforeGroupOnlinePush, groupID, msg,
Expand Down
16 changes: 0 additions & 16 deletions internal/rpc/third/third.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import (
"context"
"fmt"
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
"net/url"
"time"

"github.com/openimsdk/open-im-server/v3/pkg/common/db/cache"
Expand All @@ -29,7 +28,6 @@ import (
"github.com/openimsdk/tools/db/mongoutil"
"github.com/openimsdk/tools/db/redisutil"
"github.com/openimsdk/tools/discovery"
"github.com/openimsdk/tools/errs"
"github.com/openimsdk/tools/s3"
"github.com/openimsdk/tools/s3/cos"
"github.com/openimsdk/tools/s3/minio"
Expand All @@ -38,7 +36,6 @@ import (
)

type thirdServer struct {
apiURL string
thirdDatabase controller.ThirdDatabase
s3dataBase controller.S3Database
userRpcClient rpcclient.UserRpcClient
Expand Down Expand Up @@ -73,18 +70,6 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
if err != nil {
return err
}
apiURL := config.MinioConfig.URL
if apiURL == "" {
return errs.Wrap(fmt.Errorf("api is empty"))
}
if _, err := url.Parse(config.MinioConfig.URL); err != nil {
return err
}
if apiURL[len(apiURL)-1] != '/' {
apiURL += "/"
}
apiURL += "object/"

// Select the oss method according to the profile policy
enable := config.RpcConfig.Object.Enable
var o s3.Interface
Expand All @@ -103,7 +88,6 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg
}
cache.InitLocalCache(&config.LocalCacheConfig)
third.RegisterThirdServer(server, &thirdServer{
apiURL: apiURL,
thirdDatabase: controller.NewThirdDatabase(cache.NewThirdCache(rdb), logdb),
userRpcClient: rpcclient.NewUserRpcClient(client, config.Share.RpcRegisterName.User, config.Share.IMAdminUserID),
s3dataBase: controller.NewS3Database(rdb, o, s3db),
Expand Down
23 changes: 15 additions & 8 deletions pkg/common/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/openimsdk/tools/s3/cos"
"github.com/openimsdk/tools/s3/minio"
"github.com/openimsdk/tools/s3/oss"
"net"
"time"
)

Expand Down Expand Up @@ -52,13 +53,11 @@ type Log struct {

type Minio struct {
Bucket string `mapstructure:"bucket"`
Port int `mapstructure:"port"`
AccessKeyID string `mapstructure:"accessKeyID"`
SecretAccessKey string `mapstructure:"secretAccessKey"`
SessionToken string `mapstructure:"sessionToken"`
InternalIP string `mapstructure:"internalIP"`
ExternalIP string `mapstructure:"externalIP"`
URL string `mapstructure:"url"`
InternalAddress string `mapstructure:"internalAddress"`
ExternalAddress string `mapstructure:"externalAddress"`
PublicRead bool `mapstructure:"publicRead"`
}

Expand Down Expand Up @@ -477,16 +476,24 @@ func (k *Kafka) Build() *kafka.Config {
}
}
func (m *Minio) Build() *minio.Config {
return &minio.Config{
conf := minio.Config{
Bucket: m.Bucket,
Endpoint: fmt.Sprintf("http://%s:%d", m.InternalIP, m.Port),
AccessKeyID: m.AccessKeyID,
SecretAccessKey: m.SecretAccessKey,
SessionToken: m.SessionToken,
SignEndpoint: fmt.Sprintf("http://%s:%d", m.ExternalIP, m.Port),
PublicRead: m.PublicRead,
}

if _, _, err := net.SplitHostPort(m.InternalAddress); err == nil {
conf.Endpoint = fmt.Sprintf("http://%s", m.InternalAddress)
} else {
conf.Endpoint = m.InternalAddress
}
if _, _, err := net.SplitHostPort(m.ExternalAddress); err == nil {
conf.SignEndpoint = fmt.Sprintf("http://%s", m.ExternalAddress)
} else {
conf.SignEndpoint = m.ExternalAddress
}
return &conf
}
func (c *Cos) Build() *cos.Config {
return &cos.Config{
Expand Down
4 changes: 3 additions & 1 deletion pkg/common/config/load_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ func TestLoadOpenIMRpcUserConfig(t *testing.T) {
var user User
err := LoadConfig("../../../config/openim-rpc-user.yml", "IMENV_OPENIM_RPC_USER", &user)
assert.Nil(t, err)
//export IMENV_OPENIM_RPC_USER_RPC_LISTENIP="0.0.0.0"
assert.Equal(t, "0.0.0.0", user.RPC.ListenIP)
assert.Equal(t, []int{10110}, user.RPC.Ports)
//export IMENV_OPENIM_RPC_USER_RPC_PORTS="10110,10111,10112"
assert.Equal(t, []int{10110, 10111, 10112}, user.RPC.Ports)
}
Loading
Loading