github.com/keltia/go-ipfs@v0.3.8-0.20150909044612-210793031c63/Dockerfile (about)

     1  FROM alpine:3.2
     2  MAINTAINER Brian Tiger Chow <btc@perfmode.com>
     3  
     4  ENV IPFS_PATH /data/ipfs
     5  ENV VERSION master
     6  
     7  EXPOSE 4001 5001 8080
     8  # 4001 = Swarm, 5001 = API, 8080 = HTTP transport
     9  
    10  VOLUME /data/ipfs
    11  
    12  ADD bin/container_daemon /usr/local/bin/start_ipfs
    13  ADD bin/container_shacheck /usr/local/bin/shacheck
    14  
    15  RUN adduser -D -h /data -u 1000 ipfs \
    16   && mkdir -p /data/ipfs && chown ipfs:ipfs /data/ipfs \
    17   && apk add --update bash curl wget ca-certificates zip \
    18   && wget https://gobuilder.me/get/github.com/ipfs/go-ipfs/cmd/ipfs/ipfs_${VERSION}_linux-386.zip \
    19   && /bin/bash /usr/local/bin/shacheck ${VERSION} ipfs_${VERSION}_linux-386.zip \
    20   && unzip ipfs_${VERSION}_linux-386.zip \
    21   && rm ipfs_${VERSION}_linux-386.zip \
    22   && mv ipfs/ipfs /usr/local/bin/ipfs \
    23   && chmod 755 /usr/local/bin/start_ipfs \
    24   && apk del wget zip curl
    25  
    26  USER ipfs
    27  
    28  ENTRYPOINT ["/usr/local/bin/start_ipfs"]
    29  
    30  # build:    docker build -t go-ipfs .
    31  # run:      docker run -p 4001:4001 -p 5001:5001 go-ipfs:latest
    32  # run:      docker run -p 8080:8080 -p 4001:4001 -p 5001:5001 go-ipfs:latest