4556cbe726
This: * Allows choosing the consensus for the automatic "init" on Docker with IPFS_CLUSTER_CONSENSUS. * Removes IPFS_PATH and the sed replacements for 0.0.0.0 on RestAPI and Ipfsproxy endpoints because these are easily supported by setting env vars correctly and pose some security risk when running with net=host. * Brings up to date Dockerfile-test and Dockerfile-bundle, even if mostly unused.
43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
FROM golang:1.12-stretch AS builder
|
|
MAINTAINER Hector Sanjuan <hector@protocol.ai>
|
|
|
|
# This dockerfile builds cluster and runs it along with go-ipfs.
|
|
# It re-uses the latest go-ipfs:release container.
|
|
|
|
# This builder just builds the cluster binaries
|
|
ENV GOPATH /go
|
|
ENV SRC_PATH $GOPATH/src/github.com/ipfs/ipfs-cluster
|
|
|
|
COPY . $SRC_PATH
|
|
WORKDIR $SRC_PATH
|
|
RUN make install
|
|
|
|
#------------------------------------------------------
|
|
FROM ipfs/go-ipfs:release
|
|
MAINTAINER Hector Sanjuan <hector@protocol.ai>
|
|
|
|
# This is the container which just puts the previously
|
|
# built binaries on the go-ipfs-container.
|
|
|
|
ENV GOPATH /go
|
|
ENV SRC_PATH /go/src/github.com/ipfs/ipfs-cluster
|
|
ENV IPFS_CLUSTER_PATH /data/ipfs-cluster
|
|
ENV IPFS_CLUSTER_CONSENSUS crdt
|
|
|
|
EXPOSE 9094
|
|
EXPOSE 9095
|
|
EXPOSE 9096
|
|
|
|
COPY --from=builder $GOPATH/bin/ipfs-cluster-service /usr/local/bin/ipfs-cluster-service
|
|
COPY --from=builder $GOPATH/bin/ipfs-cluster-ctl /usr/local/bin/ipfs-cluster-ctl
|
|
COPY --from=builder $SRC_PATH/docker/start-daemons.sh /usr/local/bin/start-daemons.sh
|
|
|
|
RUN mkdir -p $IPFS_CLUSTER_PATH && \
|
|
chown 1000:100 $IPFS_CLUSTER_PATH
|
|
|
|
VOLUME $IPFS_CLUSTER_PATH
|
|
ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/start-daemons.sh"]
|
|
|
|
# Defaults for ipfs-cluster-service go here
|
|
CMD ["daemon"]
|