better-argo-tunnels/archive/webdav/Dockerfile

22 lines
623 B
Docker

# Build context must be the repository root (see archive/docker-compose-*.yml).
FROM golang:1.25-alpine AS build
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -o /webdav ./archive/cmd-webdav
FROM alpine:3.21
RUN apk add --no-cache ca-certificates libcap \
&& addgroup -S webdav \
&& adduser -S -D -H -u 10001 -G webdav webdav \
&& mkdir -p /data \
&& chown -R webdav:webdav /data
COPY archive/webdav/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
COPY --from=build /webdav /webdav
RUN setcap cap_net_bind_service=+ep /webdav
EXPOSE 80
USER webdav
ENTRYPOINT ["/entrypoint.sh"]