feat: bootstrap temporserv project scaffold
Add the initial project blueprint, Go backend skeleton, frontend app shell, database schema draft, and local development/deployment files.
This commit is contained in:
23
deploy/Dockerfile
Normal file
23
deploy/Dockerfile
Normal file
@@ -0,0 +1,23 @@
|
||||
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"]
|
||||
Reference in New Issue
Block a user