Some checks failed
release-tag / release-image (push) Successful in 1m35s
build-binaries / build (, amd64, linux) (push) Failing after 38s
build-binaries / build (, arm, 7, linux) (push) Failing after 36s
build-binaries / build (, arm64, linux) (push) Failing after 36s
build-binaries / release (push) Has been cancelled
build-binaries / build (.exe, amd64, windows) (push) Has been cancelled
25 lines
661 B
Docker
25 lines
661 B
Docker
# -------- 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/virtualfileserver
|
||
|
||
# 2. Runtime-Stage
|
||
FROM alpine:3.22
|
||
|
||
# HTTPS-Callouts in Alpine brauchen ca-certificates
|
||
RUN apk add --no-cache ca-certificates
|
||
COPY --from=builder /bin/virtualfileserver /bin/virtualfileserver
|
||
# Default listens on :8090 – siehe main.go
|
||
EXPOSE 8080
|
||
|
||
# Environment defaults; können per compose überschrieben werden
|
||
ENV SERVE_DIR="." \
|
||
SERVE_ADDR=":8080" \
|
||
FORCE_ATTACHMENT="1"
|
||
|
||
ENTRYPOINT ["/bin/virtualfileserver"] |