Migrated Dockerfile to use alpine linux
License: MIT Signed-off-by: Knut Ahlers <knut@ahlers.me>
Knut Ahlers committed
Jul 15, 2015 at 09:49 UTC
a245a27c17cc90c7fc26147aa65b075acf7223e7
2 files changed
+25
-9
Dockerfile
+15
-9
@@ -1,21 +1,27 @@
1
-FROM golang:1.4
1
+FROM alpine:3.2
2
MAINTAINER Brian Tiger Chow <btc@perfmode.com>
3
4
ENV IPFS_PATH /data/ipfs
5
-
6
-RUN useradd -m -d /data -u 1000 ipfs && \
7
- mkdir -p /data/ipfs && chown ipfs:ipfs /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
14
-ADD . /go/src/github.com/ipfs/go-ipfs
15
-RUN cd /go/src/github.com/ipfs/go-ipfs/cmd/ipfs && go install
16
-
17
-RUN cp /go/src/github.com/ipfs/go-ipfs/bin/container_daemon /usr/local/bin/start_ipfs && \
18
- chmod 755 /usr/local/bin/start_ipfs
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
bin/container_shacheck
new
+10
@@ -0,0 +1,10 @@
1
+#!/bin/bash -xe
2
+
3
+VERSION=$1
4
+FILENAME=$2
5
+
6
+ONLINE_SHA=$( curl "https://gobuilder.me/api/v1/github.com/ipfs/go-ipfs/cmd/ipfs/signed-hashes/${VERSION}" 2>/dev/null | grep -A 4 ${FILENAME} | grep sha1 | awk '{ print $3 }' )
7
+
8
+echo "Checking SHA1: ${ONLINE_SHA} == $(sha1sum ${FILENAME} | awk '{print $1}')"
9
+
10
+echo "${ONLINE_SHA} ${FILENAME}" | sha1sum -cw