-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
31 lines (22 loc) · 885 Bytes
/
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
ARG NODE_VERSION=20
ARG CADDY_VERSION=2
FROM node:${NODE_VERSION}-alpine AS node-build
COPY . /app
WORKDIR /app
RUN npm install -g pnpm
RUN pnpm install --frozen-lockfile
RUN pnpm build
FROM caddy:${CADDY_VERSION}-builder-alpine AS caddy-build
RUN xcaddy build \
--with github.com/mholt/caddy-l4@master \
--with github.com/mholt/caddy-dynamicdns@master \
--with github.com/caddy-dns/cloudflare@master \
--with github.com/caddyserver/transform-encoder@master \
--with github.com/hslatman/caddy-crowdsec-bouncer/http@main \
--with github.com/hslatman/caddy-crowdsec-bouncer/layer4@main
FROM caddy:${CADDY_VERSION}-alpine
COPY --from=caddy-build /usr/bin/caddy /usr/bin/caddy
COPY --from=node-build /app/build /public
COPY --from=node-build /app/Caddyfile /etc/caddy/Caddyfile
ENTRYPOINT ["/usr/bin/caddy"]
CMD ["run", "--config", "/etc/caddy/Caddyfile"]