|
- # 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"]
|