All checks were successful
Build and Release / release (push) Successful in 1m30s
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
FROM golang:1.26.1-alpine AS builder
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
WORKDIR /app
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o history-api ./cmd/api
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o email-worker ./cmd/worker/email
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o storage-worker ./cmd/worker/storage
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o rag-worker ./cmd/worker/rag
|
|
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o cron-worker ./cmd/worker/cron
|
|
|
|
FROM alpine:latest
|
|
|
|
RUN apk --no-cache add ca-certificates tzdata postgresql-client
|
|
ENV TZ=Asia/Ho_Chi_Minh
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /app/history-api .
|
|
COPY --from=builder /app/email-worker .
|
|
COPY --from=builder /app/storage-worker .
|
|
COPY --from=builder /app/rag-worker .
|
|
COPY --from=builder /app/cron-worker .
|
|
COPY data ./data
|
|
|
|
RUN chmod +x ./history-api ./email-worker ./storage-worker ./rag-worker ./cron-worker
|
|
|
|
EXPOSE 3344
|
|
|
|
CMD ["./history-api"]
|