mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
swarm/docker: Dockerfile for swarm:edge docker image
This commit is contained in:
parent
27ce4eb78b
commit
907c10dfd1
2 changed files with 45 additions and 0 deletions
19
swarm/docker/Dockerfile
Normal file
19
swarm/docker/Dockerfile
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
FROM golang:1.11-alpine as builder
|
||||
|
||||
RUN apk add --update git gcc g++ linux-headers
|
||||
RUN mkdir -p $GOPATH/src/github.com/ethereum && \
|
||||
cd $GOPATH/src/github.com/ethereum && \
|
||||
git clone --depth 1 https://github.com/ethersphere/go-ethereum && \
|
||||
cd $GOPATH/src/github.com/ethereum/go-ethereum && \
|
||||
VERSION=$(git rev-parse --short HEAD) go install -ldflags "-X main.gitCommit=${VERSION}" ./cmd/swarm && \
|
||||
VERSION=$(git rev-parse --short HEAD) go install -ldflags "-X main.gitCommit=${VERSION}" ./cmd/swarm/swarm-smoke && \
|
||||
VERSION=$(git rev-parse --short HEAD) go install -ldflags "-X main.gitCommit=${VERSION}" ./cmd/geth && \
|
||||
cp $GOPATH/bin/swarm /swarm && cp $GOPATH/bin/geth /geth && cp $GOPATH/bin/swarm-smoke /swarm-smoke
|
||||
|
||||
|
||||
# Release image with the required binaries and scripts
|
||||
FROM alpine:3.8
|
||||
WORKDIR /
|
||||
COPY --from=builder /swarm /geth /swarm-smoke /
|
||||
ADD run.sh /run.sh
|
||||
ENTRYPOINT ["/run.sh"]
|
||||
26
swarm/docker/run.sh
Executable file
26
swarm/docker/run.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
set -o nounset
|
||||
|
||||
PASSWORD=${PASSWORD:-}
|
||||
DATADIR=${DATADIR:-/root/.ethereum/}
|
||||
|
||||
if [ "$PASSWORD" == "" ]; then echo "Password must be set, in order to use swarm non-interactively." && exit 1; fi
|
||||
|
||||
echo $PASSWORD > /password
|
||||
|
||||
KEYFILE=`find $DATADIR | grep UTC | head -n 1` || true
|
||||
if [ ! -f "$KEYFILE" ]; then echo "No keyfile found. Generating..." && /geth --datadir $DATADIR --password /password account new; fi
|
||||
KEYFILE=`find $DATADIR | grep UTC | head -n 1` || true
|
||||
if [ ! -f "$KEYFILE" ]; then echo "Could not find nor generate a BZZ keyfile." && exit 1; else echo "Found keyfile $KEYFILE"; fi
|
||||
|
||||
VERSION=`/swarm version`
|
||||
echo "Running Swarm:"
|
||||
echo $VERSION
|
||||
|
||||
export BZZACCOUNT="`echo -n $KEYFILE | tail -c 40`" || true
|
||||
if [ "$BZZACCOUNT" == "" ]; then echo "Could not parse BZZACCOUNT from keyfile." && exit 1; fi
|
||||
|
||||
exec /swarm --bzzaccount=$BZZACCOUNT --password /password --datadir $DATADIR $@ 2>&1
|
||||
Loading…
Reference in a new issue