2024-01-03 17:26:13 +00:00
|
|
|
FROM golang:alpine AS builder
|
2019-08-29 12:04:57 +02:00
|
|
|
|
2025-02-11 19:08:46 +05:30
|
|
|
ARG CGO_ENABLED=0
|
|
|
|
|
2019-08-29 12:04:57 +02:00
|
|
|
WORKDIR /go/src/github.com/rclone/rclone/
|
|
|
|
|
2025-02-11 19:08:46 +05:30
|
|
|
RUN echo "**** Set Go Environment Variables ****" && \
|
|
|
|
go env -w GOCACHE=/root/.cache/go-build
|
|
|
|
|
|
|
|
RUN echo "**** Install Dependencies ****" && \
|
|
|
|
apk add --no-cache \
|
|
|
|
make \
|
|
|
|
bash \
|
|
|
|
gawk \
|
|
|
|
git
|
|
|
|
|
|
|
|
COPY go.mod .
|
|
|
|
COPY go.sum .
|
|
|
|
|
|
|
|
RUN echo "**** Download Go Dependencies ****" && \
|
|
|
|
go mod download -x
|
|
|
|
|
|
|
|
RUN echo "**** Verify Go Dependencies ****" && \
|
|
|
|
go mod verify
|
|
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/go-build,sharing=locked \
|
|
|
|
echo "**** Build Binary ****" && \
|
|
|
|
make
|
|
|
|
|
|
|
|
RUN echo "**** Print Version Binary ****" && \
|
|
|
|
./rclone version
|
2019-08-29 12:04:57 +02:00
|
|
|
|
|
|
|
# Begin final image
|
|
|
|
FROM alpine:latest
|
|
|
|
|
2025-02-11 19:08:46 +05:30
|
|
|
RUN echo "**** Install Dependencies ****" && \
|
|
|
|
apk add --no-cache \
|
|
|
|
ca-certificates \
|
|
|
|
fuse3 \
|
|
|
|
tzdata && \
|
|
|
|
echo "Enable user_allow_other in fuse" && \
|
|
|
|
echo "user_allow_other" >> /etc/fuse.conf
|
2019-08-29 12:04:57 +02:00
|
|
|
|
2019-09-17 01:15:48 -04:00
|
|
|
COPY --from=builder /go/src/github.com/rclone/rclone/rclone /usr/local/bin/
|
2019-08-29 12:04:57 +02:00
|
|
|
|
2021-02-11 09:45:44 -08:00
|
|
|
RUN addgroup -g 1009 rclone && adduser -u 1009 -Ds /bin/sh -G rclone rclone
|
|
|
|
|
2019-09-17 01:15:48 -04:00
|
|
|
ENTRYPOINT [ "rclone" ]
|
2019-08-29 12:04:57 +02:00
|
|
|
|
2019-09-17 01:15:48 -04:00
|
|
|
WORKDIR /data
|
|
|
|
ENV XDG_CONFIG_HOME=/config
|