Files
dbr/Dockerfile

25 lines
552 B
Docker

# Multi-stage Dockerfile for Go (PocketBase) project
# --- Build Stage ---
FROM golang:1.21-alpine AS builder
WORKDIR /app
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o server main.go
# --- Development Stage ---
FROM golang:1.21-alpine AS dev
WORKDIR /app
COPY --from=builder /app /app
EXPOSE 8080
CMD ["go", "run", "main.go"]
# --- Production Stage ---
FROM alpine:3.18 AS prod
WORKDIR /app
COPY --from=builder /app/server /app/server
COPY pb_public /app/pb_public
EXPOSE 8080
CMD ["/app/server"]