-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathDockerfile
44 lines (32 loc) · 1.16 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
FROM node:18-bookworm-slim
ARG TARGETOS
ARG TARGETARCH
ARG TARGETVARIANT
ARG CLOUDFLARED_VERSION=2025.2.0
ARG CLOUDFLARED_BASE_URL="https://github.com/cloudflare/cloudflared/releases/download"
ENV VERSION=$CLOUDFLARED_VERSION
ENV WEBUI_PORT=${WEBUI_PORT:-14333}
ENV METRICS_ENABLE=${METRICS_ENABLE:-"false"}
ENV METRICS_PORT=${METRICS_PORT:-60123}
ENV EDGE_IP_VERSION=auto
ENV PROTOCOL=auto
EXPOSE ${WEBUI_PORT}
EXPOSE ${METRICS_PORT}
USER root
WORKDIR /var/app
RUN apt update && apt upgrade -y && apt install -y curl
RUN if [ "$TARGETVARIANT" = "v7" ]; then \
CLOUDFLARED_PKG="cloudflared-$TARGETOS-${TARGETARCH}hf.deb"; \
else \
CLOUDFLARED_PKG="cloudflared-$TARGETOS-$TARGETARCH.deb"; \
fi && \
curl -L --output cloudflared.deb "$CLOUDFLARED_BASE_URL/$CLOUDFLARED_VERSION/$CLOUDFLARED_PKG" && \
dpkg -i cloudflared.deb && \
rm cloudflared.deb
VOLUME /config
VOLUME /root/.cloudflared
COPY app/backend /var/app/backend
COPY app/frontend /var/app/frontend
RUN cd /var/app/frontend && npm install && npm run build
RUN cd /var/app/backend && npm install
ENTRYPOINT node /var/app/backend/app.js