1
- FROM node:18.19.0 AS FRONT
1
+ FROM --platform=$BUILDPLATFORM node:18.19.0 AS FRONT
2
2
WORKDIR /web
3
3
COPY ./web .
4
4
RUN yarn install --frozen-lockfile --network-timeout 1000000 && yarn run build
5
5
6
6
7
- FROM golang:1.20.12 AS BACK
7
+ FROM --platform=$BUILDPLATFORM golang:1.20.12 AS BACK
8
8
WORKDIR /go/src/casdoor
9
9
COPY . .
10
10
RUN ./build.sh
@@ -13,6 +13,9 @@ RUN go test -v -run TestGetVersionInfo ./util/system_test.go ./util/system.go >
13
13
FROM alpine:latest AS STANDARD
14
14
LABEL MAINTAINER="https://casdoor.org/"
15
15
ARG USER=casdoor
16
+ ARG TARGETOS
17
+ ARG TARGETARCH
18
+ ENV BUILDX_ARCH="${TARGETOS:-linux}_${TARGETARCH:-amd64}"
16
19
17
20
RUN sed -i 's/https/http/' /etc/apk/repositories
18
21
RUN apk add --update sudo
@@ -28,7 +31,7 @@ RUN adduser -D $USER -u 1000 \
28
31
29
32
USER 1000
30
33
WORKDIR /
31
- COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/server ./server
34
+ COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/server_${BUILDX_ARCH} ./server
32
35
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/swagger ./swagger
33
36
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/conf/app.conf ./conf/app.conf
34
37
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/version_info.txt ./go/src/casdoor/version_info.txt
@@ -47,12 +50,15 @@ RUN apt update \
47
50
48
51
FROM db AS ALLINONE
49
52
LABEL MAINTAINER="https://casdoor.org/"
53
+ ARG TARGETOS
54
+ ARG TARGETARCH
55
+ ENV BUILDX_ARCH="${TARGETOS:-linux}_${TARGETARCH:-amd64}"
50
56
51
57
RUN apt update
52
58
RUN apt install -y ca-certificates && update-ca-certificates
53
59
54
60
WORKDIR /
55
- COPY --from=BACK /go/src/casdoor/server ./server
61
+ COPY --from=BACK /go/src/casdoor/server_${BUILDX_ARCH} ./server
56
62
COPY --from=BACK /go/src/casdoor/swagger ./swagger
57
63
COPY --from=BACK /go/src/casdoor/docker-entrypoint.sh /docker-entrypoint.sh
58
64
COPY --from=BACK /go/src/casdoor/conf/app.conf ./conf/app.conf
0 commit comments