diff --git a/build/images/openim-api/Dockerfile b/build/images/openim-api/Dockerfile index 31e591cc3..f0cafec3a 100644 --- a/build/images/openim-api/Dockerfile +++ b/build/images/openim-api/Dockerfile @@ -17,7 +17,7 @@ RUN go mod tidy RUN go build -o _output/openim-api ./cmd/openim-api -# Using Alpine Linux with Go environment for the final image +# Using Alpine Linux for the final image FROM alpine:latest # Install necessary packages, such as bash @@ -30,7 +30,7 @@ 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 $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts ENTRYPOINT ["sh", "-c", "_output/openim-api"] diff --git a/build/images/openim-crontask/Dockerfile b/build/images/openim-crontask/Dockerfile index b3227a12b..37019532d 100644 --- a/build/images/openim-crontask/Dockerfile +++ b/build/images/openim-crontask/Dockerfile @@ -1,6 +1,5 @@ # Use Go 1.22 Alpine as the base image for building the application FROM golang:1.22-alpine AS builder - # Define the base directory for the application as an environment variable ENV SERVER_DIR=/openim-server @@ -14,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy + -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-crontask +RUN go build -o _output/openim-crontask ./cmd/openim-crontask -# Optionally build your application if needed -RUN mage build ${BINS} || true -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -37,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-crontask: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-crontask"] \ No newline at end of file diff --git a/build/images/openim-msggateway/Dockerfile b/build/images/openim-msggateway/Dockerfile index d7ff23e76..0de3954bc 100644 --- a/build/images/openim-msggateway/Dockerfile +++ b/build/images/openim-msggateway/Dockerfile @@ -1,6 +1,5 @@ # Use Go 1.22 Alpine as the base image for building the application FROM golang:1.22-alpine AS builder - # Define the base directory for the application as an environment variable ENV SERVER_DIR=/openim-server @@ -14,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy + -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-msggateway +RUN go build -o _output/openim-msggateway ./cmd/openim-msggateway -# Optionally build your application if needed -RUN mage build ${BINS} || true -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -37,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-msggateway: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/mo3et/gomake@v0.0.74 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-msggateway"] \ No newline at end of file diff --git a/build/images/openim-msgtransfer/Dockerfile b/build/images/openim-msgtransfer/Dockerfile index fc75ade6e..e7dc67086 100644 --- a/build/images/openim-msgtransfer/Dockerfile +++ b/build/images/openim-msgtransfer/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-msgtransfer -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-msgtransfer ./cmd/openim-msgtransfer -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-msgtransfer: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-msgtransfer"] \ No newline at end of file diff --git a/build/images/openim-push/Dockerfile b/build/images/openim-push/Dockerfile index 866d1819a..f087736ee 100644 --- a/build/images/openim-push/Dockerfile +++ b/build/images/openim-push/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-push -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-push ./cmd/openim-push -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-push: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-push"] \ No newline at end of file diff --git a/build/images/openim-rpc-auth/Dockerfile b/build/images/openim-rpc-auth/Dockerfile index 4e44eae7e..5af68264d 100644 --- a/build/images/openim-rpc-auth/Dockerfile +++ b/build/images/openim-rpc-auth/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-auth -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-auth ./cmd/openim-rpc/openim-rpc-auth -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-auth: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-auth"] \ No newline at end of file diff --git a/build/images/openim-rpc-conversation/Dockerfile b/build/images/openim-rpc-conversation/Dockerfile index 75adae19f..23241363e 100644 --- a/build/images/openim-rpc-conversation/Dockerfile +++ b/build/images/openim-rpc-conversation/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-conversation -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-conversation ./cmd/openim-rpc/openim-rpc-conversation -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-conversation: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-conversation"] \ No newline at end of file diff --git a/build/images/openim-rpc-friend/Dockerfile b/build/images/openim-rpc-friend/Dockerfile index 0dc95f436..ef4fa1ec5 100644 --- a/build/images/openim-rpc-friend/Dockerfile +++ b/build/images/openim-rpc-friend/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-friend -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-friend ./cmd/openim-rpc/openim-rpc-friend -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-friend: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-friend"] \ No newline at end of file diff --git a/build/images/openim-rpc-group/Dockerfile b/build/images/openim-rpc-group/Dockerfile index 697ee1675..0ded073b3 100644 --- a/build/images/openim-rpc-group/Dockerfile +++ b/build/images/openim-rpc-group/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-group -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-group ./cmd/openim-rpc/openim-rpc-group -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-group: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-group"] \ No newline at end of file diff --git a/build/images/openim-rpc-msg/Dockerfile b/build/images/openim-rpc-msg/Dockerfile index e0baaf592..a8e3f98c0 100644 --- a/build/images/openim-rpc-msg/Dockerfile +++ b/build/images/openim-rpc-msg/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-msg -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-msg ./cmd/openim-rpc/openim-rpc-msg -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-msg: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-msg"] \ No newline at end of file diff --git a/build/images/openim-rpc-third/Dockerfile b/build/images/openim-rpc-third/Dockerfile index c374fdabf..501a7a5a0 100644 --- a/build/images/openim-rpc-third/Dockerfile +++ b/build/images/openim-rpc-third/Dockerfile @@ -13,21 +13,18 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 -ENV BINS=openim-rpc-third -# Optionally build your application if needed -RUN mage build ${BINS} || true +RUN go build -o _output/openim-rpc-third ./cmd/openim-rpc/openim-rpc-third -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine + +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +33,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-third: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-third"] \ No newline at end of file diff --git a/build/images/openim-rpc-user/Dockerfile b/build/images/openim-rpc-user/Dockerfile index 573260594..86a6bf53d 100644 --- a/build/images/openim-rpc-user/Dockerfile +++ b/build/images/openim-rpc-user/Dockerfile @@ -13,21 +13,16 @@ ENV GOPROXY=https://goproxy.io,direct # Copy all files from the current directory into the container COPY . . -RUN go mod download +RUN go mod tidy -# Install Mage to use for building the application -RUN go install github.com/magefile/mage@v1.15.0 +RUN go build -o _output/openim-rpc-user ./cmd/openim-rpc/openim-rpc-user -ENV BINS=openim-rpc-user -# Optionally build your application if needed -RUN mage build ${BINS} || true - -# Using Alpine Linux with Go environment for the final image -FROM golang:1.22-alpine +# Using Alpine Linux for the final image +FROM alpine:latest # Install necessary packages, such as bash -RUN apk add bash +RUN apk add --no-cache bash # Set the environment and work directory ENV SERVER_DIR=/openim-server @@ -36,22 +31,7 @@ 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 echo -e "serviceBinaries:\n openim-rpc-user: 1 \n" \ - > $SERVER_DIR/start-config.yml && \ - echo -e "toolBinaries:\n - check-free-memory\n - seq\n" >> $SERVER_DIR/start-config.yml && \ - echo "maxFileDescriptors: 10000" >> $SERVER_DIR/start-config.yml - -RUN go get github.com/openimsdk/gomake@v0.0.15-alpha.1 +# COPY --from=builder $SERVER_DIR/config $SERVER_DIR/config # Set the command to run when the container starts -ENTRYPOINT ["sh", "-c", "mage start && tail -f /dev/null"] +ENTRYPOINT ["sh", "-c", "_output/openim-rpc-user"] \ No newline at end of file