feat(docker): build go project

This commit is contained in:
Pihkaal
2024-11-12 16:17:32 +01:00
parent 85eac55045
commit 57bbf9f091

View File

@@ -1,23 +1,13 @@
FROM node:20-slim AS base
FROM golang:1.23.2
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY . /app
WORKDIR /app
FROM base AS prod-deps
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
COPY go.mod ./
RUN go mod download
FROM base AS build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
RUN pnpm run build
FROM base
COPY --from=build /app/.output /app/.output
COPY *.go ./
COPY public ./public
RUN go build -o ./server
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]
CMD ["./server"]