cloudly-min/Dockerfile

34 lines
1.0 KiB
Docker
Executable File

### rclone
FROM golang:1.10-alpine as rbuilder
WORKDIR /go/src/local/cloudly
RUN apk add --no-cache git bash ca-certificates \
&& mkdir -p /go/src/github.com/ncw
COPY .rclone_repo /go/src/github.com/ncw/rclone
RUN true \
&& cd $GOPATH/src/github.com/ncw/rclone \
&& CGO_ENABLED=0 go build -o /go/bin/rclone -a -installsuffix cgo
RUN mkdir -p /go/src/local/cloudly-min
COPY ./enc.go ./main.go /go/src/local/cloudly-min/
COPY ./vendor /go/src/local/cloudly-min/vendor
RUN true \
&& cd $GOPATH/src/local/cloudly-min \
&& CGO_ENABLED=0 go build -o /go/bin/cloudly -a -installsuffix cgo
### main
FROM alpine:3.11.2
WORKDIR /main
RUN mkdir -p /main
RUN apk add --no-cache bash ca-certificates
COPY --from=rbuilder /go/bin/ /main/
COPY enc_conf /main/
RUN echo \
'echo ENTRYPOINT $@; cat /main/enc_conf | /main/cloudly -cmd decode > /tmp/conf && ' \
' /main/rclone --config /tmp/conf --bwlimit 6M --fast-list --log-level ERROR --progress --stats-one-line "$@"' \
> /main/entrypoint.sh
ENTRYPOINT ["sh", "/main/entrypoint.sh"]
CMD []