|
1 |
| -FROM golang:1.17.5 AS BACK |
2 |
| -WORKDIR /go/src/casdoor |
3 |
| -COPY . . |
4 |
| -RUN ./build.sh && apt update && apt install wait-for-it && chmod +x /usr/bin/wait-for-it |
5 |
| - |
6 | 1 | FROM node:16.13.0 AS FRONT
|
7 | 2 | WORKDIR /web
|
8 | 3 | COPY ./web .
|
9 | 4 | RUN yarn config set registry https://registry.npmmirror.com
|
10 | 5 | RUN yarn install && yarn run build
|
11 | 6 |
|
12 | 7 |
|
13 |
| -FROM debian:latest AS ALLINONE |
14 |
| -RUN apt update |
15 |
| -RUN apt install -y ca-certificates && update-ca-certificates |
16 |
| -RUN apt install -y mariadb-server mariadb-client && mkdir -p web/build && chmod 777 /tmp |
| 8 | +FROM golang:1.17.5 AS BACK |
| 9 | +WORKDIR /go/src/casdoor |
| 10 | +COPY . . |
| 11 | +RUN ./build.sh |
| 12 | + |
| 13 | + |
| 14 | +FROM alpine:latest AS STANDARD |
17 | 15 | LABEL MAINTAINER="https://casdoor.org/"
|
18 |
| -COPY --from=BACK /go/src/casdoor/ ./ |
19 |
| -COPY --from=BACK /usr/bin/wait-for-it ./ |
20 |
| -COPY --from=FRONT /web/build /web/build |
21 |
| -CMD chmod 777 /tmp && service mariadb start&&\ |
22 |
| -if [ "${MYSQL_ROOT_PASSWORD}" = "" ] ;then MYSQL_ROOT_PASSWORD=123456 ; fi&&\ |
23 |
| -mysqladmin -u root password ${MYSQL_ROOT_PASSWORD} &&\ |
24 |
| -./wait-for-it localhost:3306 -- ./server --createDatabase=true |
25 |
| - |
26 |
| - |
27 |
| -FROM alpine:latest |
28 |
| -RUN sed -i 's/https/http/' /etc/apk/repositories |
29 |
| -RUN apk add curl |
30 |
| -RUN apk add ca-certificates && update-ca-certificates |
| 16 | + |
| 17 | +WORKDIR /app |
| 18 | +COPY --from=BACK /go/src/casdoor/server ./server |
| 19 | +COPY --from=BACK /go/src/casdoor/swagger ./swagger |
| 20 | +COPY --from=BACK /go/src/casdoor/conf/app.conf ./conf/app.conf |
| 21 | +COPY --from=FRONT /web/build ./web/build |
| 22 | +VOLUME /app/files /app/logs |
| 23 | +ENTRYPOINT ["/app/server"] |
| 24 | + |
| 25 | + |
| 26 | +FROM debian:latest AS db |
| 27 | +RUN apt update \ |
| 28 | + && apt install -y \ |
| 29 | + mariadb-server \ |
| 30 | + mariadb-client \ |
| 31 | + && rm -rf /var/lib/apt/lists/* |
| 32 | + |
| 33 | + |
| 34 | +FROM db AS ALLINONE |
31 | 35 | LABEL MAINTAINER="https://casdoor.org/"
|
32 | 36 |
|
33 |
| -COPY --from=BACK /go/src/casdoor/ ./ |
34 |
| -COPY --from=BACK /usr/bin/wait-for-it ./ |
35 |
| -RUN mkdir -p web/build && apk add --no-cache bash coreutils |
36 |
| -COPY --from=FRONT /web/build /web/build |
37 |
| -CMD ./server |
| 37 | +ENV MYSQL_ROOT_PASSWORD=123456 |
| 38 | + |
| 39 | +WORKDIR /app |
| 40 | +COPY --from=BACK /go/src/casdoor/server ./server |
| 41 | +COPY --from=BACK /go/src/casdoor/swagger ./swagger |
| 42 | +COPY --from=BACK /go/src/casdoor/docker-entrypoint.sh /docker-entrypoint.sh |
| 43 | +COPY --from=BACK /go/src/casdoor/conf/app.conf ./conf/app.conf |
| 44 | +COPY --from=FRONT /web/build ./web/build |
| 45 | + |
| 46 | +ENTRYPOINT ["/bin/bash"] |
| 47 | +CMD ["/docker-entrypoint.sh"] |
0 commit comments