garage-webui/Dockerfile

32 lines
762 B
Docker
Raw Normal View History

2024-08-18 06:33:58 +07:00
FROM node:20-slim AS frontend
2024-08-17 04:55:01 +07:00
WORKDIR /app
2025-03-01 23:45:09 +07:00
RUN npm install -g corepack@latest && corepack use pnpm@latest
2024-08-17 04:55:01 +07:00
COPY package.json pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
COPY . .
RUN pnpm run build
2025-03-01 23:45:09 +07:00
FROM golang:1.23 AS backend
2024-08-17 04:55:01 +07:00
WORKDIR /app
2024-08-18 06:33:58 +07:00
COPY backend/go.mod backend/go.sum ./
RUN go mod download
COPY backend/ ./
2024-08-18 07:13:34 +07:00
COPY --from=frontend /app/dist ./ui/dist
2024-08-18 06:33:58 +07:00
RUN make
2024-08-17 04:55:01 +07:00
FROM scratch
2024-08-17 04:55:01 +07:00
COPY --from=alpine /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=ghcr.io/tarampampam/curl:8.6.0 /bin/curl /bin/curl
2024-08-18 06:33:58 +07:00
COPY --from=backend /app/main /bin/main
2024-08-17 04:55:01 +07:00
HEALTHCHECK --interval=5m --timeout=2s --retries=3 --start-period=15s CMD [ \
"curl", "--fail", "http://127.0.0.1:3909" \
]
ENTRYPOINT [ "main" ]