mirror of
https://github.com/ipfs/kubo.git
synced 2025-07-01 19:24:14 +08:00
Merge pull request #1128 from Luzifer/dockerfile_expose
Improve Dockerfile
This commit is contained in:
13
Dockerfile
13
Dockerfile
@ -1,14 +1,23 @@
|
|||||||
FROM golang:1.4
|
FROM golang:1.4
|
||||||
MAINTAINER Brian Tiger Chow <btc@perfmode.com>
|
MAINTAINER Brian Tiger Chow <btc@perfmode.com>
|
||||||
|
|
||||||
|
ENV IPFS_PATH /data/ipfs
|
||||||
|
|
||||||
|
RUN useradd -m -d /data -u 1000 ipfs && \
|
||||||
|
mkdir -p /data/ipfs && chown ipfs:ipfs /data/ipfs
|
||||||
|
|
||||||
|
EXPOSE 4001 5001 8080
|
||||||
|
# 4001 = Swarm, 5001 = API, 8080 = HTTP transport
|
||||||
|
|
||||||
|
VOLUME /data/ipfs
|
||||||
|
|
||||||
ADD . /go/src/github.com/ipfs/go-ipfs
|
ADD . /go/src/github.com/ipfs/go-ipfs
|
||||||
RUN cd /go/src/github.com/ipfs/go-ipfs/cmd/ipfs && go install
|
RUN cd /go/src/github.com/ipfs/go-ipfs/cmd/ipfs && go install
|
||||||
|
|
||||||
RUN cp /go/src/github.com/ipfs/go-ipfs/bin/container_daemon /usr/local/bin/start_ipfs && \
|
RUN cp /go/src/github.com/ipfs/go-ipfs/bin/container_daemon /usr/local/bin/start_ipfs && \
|
||||||
chmod 755 /usr/local/bin/start_ipfs
|
chmod 755 /usr/local/bin/start_ipfs
|
||||||
|
|
||||||
EXPOSE 4001 5001 8080
|
USER ipfs
|
||||||
# 4001 = Swarm, 5001 = API, 8080 = HTTP transport
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/local/bin/start_ipfs"]
|
ENTRYPOINT ["/usr/local/bin/start_ipfs"]
|
||||||
|
|
||||||
|
@ -1,5 +1,21 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
ipfs init
|
|
||||||
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
|
# Test whether the mounted directory is writable for us
|
||||||
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080
|
if ( touch /data/ipfs/write_test 2>/dev/null ); then
|
||||||
|
rm /data/ipfs/write_test
|
||||||
|
else
|
||||||
|
echo "ERR: /data/ipfs is not writable for user 'ipfs' (UID 1000)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Running $(ipfs version)..."
|
||||||
|
|
||||||
|
if [ -e /data/ipfs/config ]; then
|
||||||
|
echo "Found ipfs repository. Not initializing."
|
||||||
|
else
|
||||||
|
ipfs init
|
||||||
|
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001
|
||||||
|
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080
|
||||||
|
fi
|
||||||
|
|
||||||
ipfs daemon
|
ipfs daemon
|
||||||
|
Reference in New Issue
Block a user