This commit is contained in:
		
							
								
								
									
										26
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | ||||
| # -------- Dockerfile (Multi-Stage Build) -------- | ||||
| # 1. Builder-Stage | ||||
| FROM golang:1.24-alpine AS builder | ||||
|  | ||||
| WORKDIR /app | ||||
| COPY go.* ./ | ||||
| RUN go mod download | ||||
| COPY . . | ||||
| RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /bin/ipblock-api | ||||
|  | ||||
| # 2. Runtime-Stage | ||||
| FROM alpine:3.20 | ||||
|  | ||||
| # HTTPS-Callouts in Alpine brauchen ca-certificates | ||||
| RUN apk add --no-cache ca-certificates | ||||
|  | ||||
| COPY --from=builder /bin/ipblock-api /bin/ipblock-api | ||||
|  | ||||
| # Default listens on :8080 – siehe main.go | ||||
| EXPOSE 8080 | ||||
|  | ||||
| # Environment defaults; können per compose überschrieben werden | ||||
| ENV REDIS_ADDR=redis:6379 \ | ||||
|     TTL_HOURS=720 | ||||
|  | ||||
| ENTRYPOINT ["/bin/ipblock-api"] | ||||
		Reference in New Issue
	
	Block a user