26 lines
646 B
Docker
26 lines
646 B
Docker
FROM golang:1.25-alpine AS backend-build
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
COPY go.sum ./
|
|
RUN go mod download
|
|
COPY cmd ./cmd
|
|
COPY internal ./internal
|
|
RUN go build -o /out/temporserv ./cmd/server
|
|
|
|
FROM node:24-alpine AS web-build
|
|
WORKDIR /src
|
|
COPY apps/web/package*.json ./apps/web/
|
|
RUN cd apps/web && npm install
|
|
COPY apps/web ./apps/web
|
|
RUN cd apps/web && npm run build
|
|
|
|
FROM alpine:3.21
|
|
WORKDIR /app
|
|
RUN adduser -D appuser
|
|
COPY --from=backend-build /out/temporserv /app/temporserv
|
|
COPY --from=web-build /src/apps/web/dist /app/web
|
|
RUN mkdir -p /app/data /music && chown -R appuser:appuser /app /music
|
|
USER appuser
|
|
EXPOSE 5050
|
|
CMD ["/app/temporserv"]
|