2023-05-16 20:33:31 +08:00
|
|
|
FROM node:16.18.0 AS FRONT
|
2021-08-11 21:39:34 +08:00
|
|
|
WORKDIR /web
|
|
|
|
COPY ./web .
|
2022-02-11 22:54:15 +08:00
|
|
|
RUN yarn config set registry https://registry.npmmirror.com
|
2022-10-22 11:08:29 +08:00
|
|
|
RUN yarn install --frozen-lockfile --network-timeout 1000000 && yarn run build
|
2021-08-11 21:39:34 +08:00
|
|
|
|
2021-12-22 21:58:25 +08:00
|
|
|
|
2023-05-16 20:33:31 +08:00
|
|
|
FROM golang:1.19.9 AS BACK
|
2022-06-29 23:21:18 +08:00
|
|
|
WORKDIR /go/src/casdoor
|
|
|
|
COPY . .
|
|
|
|
RUN ./build.sh
|
2023-03-21 20:46:17 +08:00
|
|
|
RUN go test -v -run TestGetVersionInfo ./util/system_test.go ./util/system.go > version_info.txt
|
2022-06-29 23:21:18 +08:00
|
|
|
|
|
|
|
FROM alpine:latest AS STANDARD
|
2021-12-22 21:58:25 +08:00
|
|
|
LABEL MAINTAINER="https://casdoor.org/"
|
2022-10-21 17:19:58 +08:00
|
|
|
ARG USER=casdoor
|
2022-10-26 23:31:00 +08:00
|
|
|
ARG TARGETOS
|
|
|
|
ARG TARGETARCH
|
|
|
|
ENV BUILDX_ARCH="${TARGETOS:-linux}_${TARGETARCH:-amd64}"
|
2022-06-29 23:21:18 +08:00
|
|
|
|
2022-07-09 17:36:56 +08:00
|
|
|
RUN sed -i 's/https/http/' /etc/apk/repositories
|
2022-10-21 17:19:58 +08:00
|
|
|
RUN apk add --update sudo
|
2022-07-09 17:36:56 +08:00
|
|
|
RUN apk add curl
|
|
|
|
RUN apk add ca-certificates && update-ca-certificates
|
|
|
|
|
2022-10-21 17:19:58 +08:00
|
|
|
RUN adduser -D $USER -u 1000 \
|
|
|
|
&& echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER \
|
|
|
|
&& chmod 0440 /etc/sudoers.d/$USER \
|
|
|
|
&& mkdir logs \
|
|
|
|
&& chown -R $USER:$USER logs
|
|
|
|
|
|
|
|
USER 1000
|
2022-07-07 16:10:15 +08:00
|
|
|
WORKDIR /
|
2022-10-26 23:31:00 +08:00
|
|
|
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/server_${BUILDX_ARCH} ./server
|
2022-10-21 17:19:58 +08:00
|
|
|
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/swagger ./swagger
|
|
|
|
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/conf/app.conf ./conf/app.conf
|
2023-03-21 20:46:17 +08:00
|
|
|
COPY --from=BACK --chown=$USER:$USER /go/src/casdoor/version_info.txt ./go/src/casdoor/version_info.txt
|
2022-10-21 17:19:58 +08:00
|
|
|
COPY --from=FRONT --chown=$USER:$USER /web/build ./web/build
|
|
|
|
|
2022-07-07 16:10:15 +08:00
|
|
|
ENTRYPOINT ["/server"]
|
2022-06-29 23:21:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
FROM debian:latest AS db
|
|
|
|
RUN apt update \
|
|
|
|
&& apt install -y \
|
|
|
|
mariadb-server \
|
|
|
|
mariadb-client \
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
|
|
FROM db AS ALLINONE
|
2021-08-11 21:39:34 +08:00
|
|
|
LABEL MAINTAINER="https://casdoor.org/"
|
2022-10-26 23:31:00 +08:00
|
|
|
ARG TARGETOS
|
|
|
|
ARG TARGETARCH
|
|
|
|
ENV BUILDX_ARCH="${TARGETOS:-linux}_${TARGETARCH:-amd64}"
|
2021-08-11 21:39:34 +08:00
|
|
|
|
2022-07-09 17:36:56 +08:00
|
|
|
RUN apt update
|
|
|
|
RUN apt install -y ca-certificates && update-ca-certificates
|
2022-06-29 23:21:18 +08:00
|
|
|
|
2022-07-07 16:10:15 +08:00
|
|
|
WORKDIR /
|
2022-10-26 23:31:00 +08:00
|
|
|
COPY --from=BACK /go/src/casdoor/server_${BUILDX_ARCH} ./server
|
2022-06-29 23:21:18 +08:00
|
|
|
COPY --from=BACK /go/src/casdoor/swagger ./swagger
|
|
|
|
COPY --from=BACK /go/src/casdoor/docker-entrypoint.sh /docker-entrypoint.sh
|
|
|
|
COPY --from=BACK /go/src/casdoor/conf/app.conf ./conf/app.conf
|
2023-03-21 20:46:17 +08:00
|
|
|
COPY --from=BACK /go/src/casdoor/version_info.txt ./go/src/casdoor/version_info.txt
|
2022-06-29 23:21:18 +08:00
|
|
|
COPY --from=FRONT /web/build ./web/build
|
2023-04-14 19:14:59 +08:00
|
|
|
RUN mkdir tempFiles
|
2022-06-29 23:21:18 +08:00
|
|
|
|
|
|
|
ENTRYPOINT ["/bin/bash"]
|
|
|
|
CMD ["/docker-entrypoint.sh"]
|