forked from ebhomengo/niki
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			613 B
		
	
	
	
		
			Docker
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			613 B
		
	
	
	
		
			Docker
		
	
	
	
# Build Stage
 | 
						|
# First pull Golang image
 | 
						|
FROM golang:1.21.3-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.18 as development
 | 
						|
 | 
						|
 
 | 
						|
# Set environment variable
 | 
						|
ENV APP_NAME niki
 | 
						|
 
 | 
						|
# Copy only required data into this image
 | 
						|
COPY --from=builder /$APP_NAME .
 | 
						|
 
 | 
						|
# Expose application port
 | 
						|
EXPOSE 1313
 | 
						|
 
 | 
						|
# Start app
 | 
						|
CMD ./$APP_NAME |