32 lines
535 B
Docker
32 lines
535 B
Docker
###############
|
|
# Build backend
|
|
FROM golang:alpine AS go-builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy go modules files and download dependencies
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
# Copy all source code
|
|
COPY cmd/ /app/cmd/
|
|
COPY internal/ /app/internal/
|
|
|
|
# Build the binary
|
|
RUN go build -o ddbb ./cmd/ddbb/main.go
|
|
|
|
|
|
######################
|
|
# Production container
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /app
|
|
COPY --from=go-builder /app/ddbb .
|
|
|
|
RUN apk add bash mariadb-client postgresql17-client mongodb-tools
|
|
|
|
EXPOSE 3000
|
|
|
|
# Run the server
|
|
CMD ["./ddbb"]
|