-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathDockerfile
58 lines (33 loc) · 1.68 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
FROM waziup/node-sass:14 AS dashboard
COPY wazigate-dashboard/. /wazigate-dashboard
WORKDIR /wazigate-dashboard/
RUN npm i --force && npm run build --force
################################################################################
FROM golang:1.13-alpine AS bin
ENV CGO_ENABLED=0
ENV GO111MODULE=on
RUN apk add --no-cache ca-certificates tzdata git
COPY . /wazigate-edge
WORKDIR /wazigate-edge/
RUN go build -ldflags "-s -w" -o wazigate-edge .
################################################################################
FROM alpine:latest AS app
RUN apk add --no-cache ca-certificates tzdata curl
WORKDIR /root/
COPY --from=dashboard /wazigate-dashboard/node_modules/react/umd wazigate-dashboard/node_modules/react/umd
COPY --from=dashboard /wazigate-dashboard/node_modules/react-dom/umd wazigate-dashboard/node_modules/react-dom/umd
COPY --from=dashboard /wazigate-dashboard/site.webmanifest wazigate-dashboard/
COPY --from=dashboard /wazigate-dashboard/wazigate.png wazigate-dashboard/
COPY --from=dashboard /wazigate-dashboard/dist/assets wazigate-dashboard/
COPY --from=dashboard /wazigate-dashboard/dist/*.svg wazigate-dashboard/
COPY --from=dashboard /wazigate-dashboard/dist/index.html wazigate-dashboard/
COPY --from=dashboard /wazigate-dashboard/dist wazigate-dashboard/dist
COPY --from=dashboard /wazigate-dashboard/docs wazigate-dashboard/docs
COPY --from=dashboard /wazigate-dashboard/admin wazigate-dashboard/admin
COPY --from=bin /wazigate-edge/wazigate-edge .
EXPOSE 80/tcp
EXPOSE 1883/tcp
ENV WAZIUP_MONGO=wazigate-mongo:27017
HEALTHCHECK CMD curl --fail http://localhost || exit 1
VOLUME /var/lib/wazigate
ENTRYPOINT ["./wazigate-edge", "-www", "wazigate-dashboard"]