aboutsummaryrefslogblamecommitdiffstats
path: root/Dockerfile
blob: 78924b52a2a3b414305c7479c81c8d3e8bf1938b (plain) (tree)
1
2
3
4
5
6
7
8
9
                                
                           


                    


                                    
        





                                                                                   
                                                   





                                                          
                       




                                
                
# Stage 1: Build the application
FROM golang:1.22 AS builder

WORKDIR /usr/src/app

COPY go.mod go.sum ./
RUN go mod download && go mod verify

COPY . .
RUN CGO_ENABLED=1 GOOS=linux go build -ldflags="-s -w" -buildvcs=false -o /donetick

# Stage 2: Create a smaller runtime image
FROM alpine:latest

# Install necessary CA certificates
RUN apk --no-cache add ca-certificates libc6-compat

# Copy the binary and config folder from the builder stage
COPY --from=builder /donetick /donetick
COPY --from=builder /usr/src/app/config /config

# Set environment variables
ENV DT_ENV="selfhosted"

# Expose the application port
EXPOSE 2021

# Command to run the application
CMD ["/donetick"]