# Copyright © 2023 OpenIM open source community. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Build stage FROM golang:1.20 as builder WORKDIR /openkf-server COPY /server . RUN go env -w GO111MODULE=on \ && go env -w CGO_ENABLED=0 \ && go env \ && go env -w GOPROXY=https://goproxy.cn,direct \ && go mod tidy \ && go build -o server . \ && go build -o cmd/dbmigration/dbmigration cmd/dbmigration/main.go # Production stage FROM alpine:latest WORKDIR /openkf-server COPY --from=builder /openkf-server/server . COPY --from=builder /openkf-server/cmd/dbmigration/dbmigration . COPY --from=builder /openkf-server/config.docker.yaml . COPY --from=builder /openkf-server/docker_init_server.sh . RUN chmod +x /openkf-server/docker_init_server.sh . EXPOSE 10010 ENTRYPOINT ["./docker_init_server.sh"]