Files
music-dl/Dockerfile

30 lines
506 B
Docker

FROM node:25-alpine AS web-builder
WORKDIR /app
RUN npm i -g pnpm
COPY ./web/package.json ./web/pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
COPY ./web/ ./
RUN pnpm build
FROM golang:1.26-alpine AS api-builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod verify && go mod download
COPY . .
COPY --from=web-builder /app/dist ./web/dist
RUN go build -o music-dl .
FROM alpine:latest
WORKDIR /app
COPY --from=api-builder /app/music-dl /app/music-dl
EXPOSE 5000
ENTRYPOINT ["/app/music-dl"]