Build ipfs cmd inside docker container
License: MIT Signed-off-by: Knut Ahlers <knut@ahlers.me>
Knut Ahlers committed
Jan 17, 2016 at 21:27 UTC
fd5ddcb71bbb2d638b33780e57f7c104b0e576c4
1 file changed
+12
-9
Dockerfile
+12
-9
@@ -1,8 +1,8 @@
1
-FROM alpine:3.2
1
+FROM alpine:3.3
2
MAINTAINER Brian Tiger Chow <btc@perfmode.com>
3
4
ENV IPFS_PATH /data/ipfs
5
-ENV VERSION master
5
+ENV GOPATH /go:/go/src/github.com/ipfs/go-ipfs/Godeps/_workspace
6
7
EXPOSE 4001 5001 8080
8
# 4001 = Swarm, 5001 = API, 8080 = HTTP transport
@@ -10,16 +10,19 @@ EXPOSE 4001 5001 8080
10
ADD bin/container_daemon /usr/local/bin/start_ipfs
11
ADD bin/container_shacheck /usr/local/bin/shacheck
12
13
+ADD . /go/src/github.com/ipfs/go-ipfs
14
+WORKDIR /go/src/github.com/ipfs/go-ipfs/cmd/ipfs
15
+
16
RUN adduser -D -h /data -u 1000 ipfs \
17
&& mkdir -p /data/ipfs && chown ipfs:ipfs /data/ipfs \
15
- && apk add --update bash curl wget ca-certificates zip \
16
- && wget https://gobuilder.me/get/github.com/ipfs/go-ipfs/cmd/ipfs/ipfs_${VERSION}_linux-386.zip \
17
- && /bin/bash /usr/local/bin/shacheck ${VERSION} ipfs_${VERSION}_linux-386.zip \
18
- && unzip ipfs_${VERSION}_linux-386.zip \
19
- && rm ipfs_${VERSION}_linux-386.zip \
20
- && mv ipfs/ipfs /usr/local/bin/ipfs \
18
+ && apk add --update bash ca-certificates git go \
19
+ && go install -ldflags "-X github.com/ipfs/go-ipfs/repo/config.CurrentCommit=$(git rev-parse --short HEAD 2> /dev/null || echo unknown)" \
20
+ && mv /go/bin/ipfs /usr/local/bin/ipfs \
21
&& chmod 755 /usr/local/bin/start_ipfs \
22
- && apk del wget zip curl
22
+ && apk del --purge go git
23
+
24
+WORKDIR /
25
+RUN rm -rf /go/src/github.com/ipfs/go-ipfs
26
27
USER ipfs
28
VOLUME /data/ipfs