Add the initial project blueprint, Go backend skeleton, frontend app shell, database schema draft, and local development/deployment files.
24 lines
611 B
Docker
24 lines
611 B
Docker
FROM golang:1.25-alpine AS backend-build
|
|
WORKDIR /src
|
|
COPY go.mod ./
|
|
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 4040
|
|
CMD ["/app/temporserv"]
|