2021-11-11 01:36:51 +08:00
|
|
|
FROM node:14.18-alpine as web
|
2020-11-11 08:54:47 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
WORKDIR /opt/workflow
|
2020-11-11 08:54:47 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
|
|
|
|
RUN apk update && \
|
|
|
|
apk add --no-cache git && \
|
|
|
|
rm -rf /var/cache/apk/* /tmp/* /var/tmp/* $HOME/.cache
|
|
|
|
RUN git clone https://gitee.com/yllan/ferry_web.git
|
2020-11-11 08:54:47 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
WORKDIR ferry_web
|
|
|
|
|
2022-02-11 13:57:05 +00:00
|
|
|
RUN npm install -g cnpm --registry=https://registry.npmmirror.com
|
2022-06-30 10:47:18 +08:00
|
|
|
RUN npm uninstall node-sass && npm i -D sass --registry=https://registry.npmmirror.com
|
2021-11-11 01:36:51 +08:00
|
|
|
RUN cnpm install
|
|
|
|
RUN echo $'# just a flag\n\
|
|
|
|
ENV = \'production\'\n\n\
|
|
|
|
# base api\n\
|
|
|
|
VUE_APP_BASE_API = \'\''\
|
|
|
|
> .env.production
|
|
|
|
RUN npm run build:prod
|
|
|
|
|
2022-07-14 00:48:28 +08:00
|
|
|
FROM golang:1.18 AS build
|
2020-11-11 08:54:47 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
WORKDIR /opt/workflow/ferry
|
|
|
|
COPY . .
|
|
|
|
ARG GOPROXY="https://goproxy.cn"
|
2020-11-11 08:54:47 +08:00
|
|
|
RUN go mod download
|
2021-11-11 01:36:51 +08:00
|
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o ferry .
|
2020-11-11 08:54:47 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
FROM alpine AS prod
|
2021-04-13 11:32:34 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
MAINTAINER lanyulei
|
2021-04-13 11:32:34 +08:00
|
|
|
|
2022-08-16 18:45:15 +08:00
|
|
|
RUN echo -e "http://mirrors.aliyun.com/alpine/v3.11/main\nhttp://mirrors.aliyun.com/alpine/v3.11/community" > /etc/apk/repositories \
|
|
|
|
&& apk add -U tzdata \
|
|
|
|
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
WORKDIR /opt/workflow/ferry
|
2021-04-13 11:32:34 +08:00
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
COPY --from=build /opt/workflow/ferry/ferry /opt/workflow/ferry/
|
|
|
|
COPY config/ /opt/workflow/ferry/default_config/
|
|
|
|
COPY template/ /opt/workflow/ferry/template/
|
|
|
|
COPY docker/entrypoint.sh /opt/workflow/ferry/
|
2021-04-13 11:32:34 +08:00
|
|
|
RUN mkdir -p logs static/uploadfile static/scripts static/template
|
|
|
|
|
2021-11-11 01:36:51 +08:00
|
|
|
RUN chmod 755 /opt/workflow/ferry/entrypoint.sh
|
|
|
|
RUN chmod 755 /opt/workflow/ferry/ferry
|
|
|
|
|
|
|
|
COPY --from=web /opt/workflow/ferry_web/web /opt/workflow/ferry/static/web
|
|
|
|
COPY --from=web /opt/workflow/ferry_web/web/index.html /opt/workflow/ferry/template/web/
|
|
|
|
|
|
|
|
RUN mv /opt/workflow/ferry/static/web/static/web/* /opt/workflow/ferry/static/web/
|
|
|
|
RUN rm -rf /opt/workflow/ferry/static/web/static
|
2021-04-13 11:32:34 +08:00
|
|
|
|
|
|
|
EXPOSE 8002
|
2021-11-11 01:36:51 +08:00
|
|
|
VOLUME [ "/opt/workflow/ferry/config" ]
|
|
|
|
ENTRYPOINT [ "/opt/workflow/ferry/entrypoint.sh" ]
|