mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-22 18:25:47 +08:00

* fix: some minor bugs and make Dockerfile more productive. * fix: make GitHub CI configuration support build image with STANDARD target. * fix: Naming the base stage in multi-stage builds with lowercase letters to support various operating systems. * fix: copy swagger to the image as well.
48 lines
1.1 KiB
Docker
48 lines
1.1 KiB
Docker
FROM node:16.13.0 AS FRONT
|
|
WORKDIR /web
|
|
COPY ./web .
|
|
RUN yarn config set registry https://registry.npmmirror.com
|
|
RUN yarn install && yarn run build
|
|
|
|
|
|
FROM golang:1.17.5 AS BACK
|
|
WORKDIR /go/src/casdoor
|
|
COPY . .
|
|
RUN ./build.sh
|
|
|
|
|
|
FROM alpine:latest AS STANDARD
|
|
LABEL MAINTAINER="https://casdoor.org/"
|
|
|
|
WORKDIR /app
|
|
COPY --from=BACK /go/src/casdoor/server ./server
|
|
COPY --from=BACK /go/src/casdoor/swagger ./swagger
|
|
COPY --from=BACK /go/src/casdoor/conf/app.conf ./conf/app.conf
|
|
COPY --from=FRONT /web/build ./web/build
|
|
VOLUME /app/files /app/logs
|
|
ENTRYPOINT ["/app/server"]
|
|
|
|
|
|
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
|
|
LABEL MAINTAINER="https://casdoor.org/"
|
|
|
|
ENV MYSQL_ROOT_PASSWORD=123456
|
|
|
|
WORKDIR /app
|
|
COPY --from=BACK /go/src/casdoor/server ./server
|
|
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
|
|
COPY --from=FRONT /web/build ./web/build
|
|
|
|
ENTRYPOINT ["/bin/bash"]
|
|
CMD ["/docker-entrypoint.sh"]
|