forked from ebhomengo/niki
38 lines
610 B
Docker
38 lines
610 B
Docker
# Build Stage
|
|
# First pull Golang image
|
|
FROM golang:1.23.0-alpine as builder
|
|
|
|
# Set environment variable
|
|
ENV APP_NAME niki
|
|
ENV CMD_PATH main.go
|
|
|
|
# Add a work directory
|
|
WORKDIR /$APP_NAME
|
|
|
|
## Cache and install dependencies
|
|
#COPY go.mod go.sum ./
|
|
#RUN go mod download
|
|
|
|
# Copy app files
|
|
COPY . .
|
|
|
|
# Budild application
|
|
RUN CGO_ENABLED=0 go build -mod=vendor -v -o $APP_NAME .
|
|
|
|
# Run Stage
|
|
|
|
FROM alpine:3.20 as Runtime
|
|
|
|
|
|
# Set environment variable
|
|
ENV APP_NAME niki
|
|
|
|
# Copy only required data into this image
|
|
COPY --from=builder /$APP_NAME .
|
|
|
|
# Expose application port
|
|
EXPOSE 8313
|
|
|
|
# Start app
|
|
CMD ./$APP_NAME
|