BitShares-style DockerFile
This commit is contained in:
parent
cfd77773c7
commit
bbea84a02e
3 changed files with 65 additions and 47 deletions
74
Dockerfile
74
Dockerfile
|
|
@ -1,22 +1,64 @@
|
||||||
# This will build the witness_node in a docker image. Make sure you've already
|
FROM phusion/baseimage:0.9.19
|
||||||
# checked out the submodules before building.
|
MAINTAINER PeerPlays Blockchain Standards Association
|
||||||
|
|
||||||
FROM l3iggs/archlinux:latest
|
ENV LANG=en_US.UTF-8
|
||||||
MAINTAINER Nathan Hourt <nathan@followmyvote.com>
|
RUN \
|
||||||
|
apt-get update -y && \
|
||||||
|
apt-get install -y \
|
||||||
|
g++ \
|
||||||
|
autoconf \
|
||||||
|
cmake \
|
||||||
|
git \
|
||||||
|
libbz2-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libboost-all-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libncurses-dev \
|
||||||
|
doxygen \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
&& \
|
||||||
|
apt-get update -y && \
|
||||||
|
apt-get install -y fish && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
RUN pacman -Syu --noconfirm gcc make autoconf automake cmake ninja boost libtool git
|
ADD . /peerplays-core
|
||||||
|
WORKDIR /peerplays-core
|
||||||
|
|
||||||
ADD . /bitshares-2
|
# Compile
|
||||||
WORKDIR /bitshares-2
|
RUN \
|
||||||
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
|
git submodule update --init --recursive && \
|
||||||
RUN ninja witness_node || ninja -j 1 witness_node
|
cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
. && \
|
||||||
|
make witness_node && \
|
||||||
|
make install && \
|
||||||
|
#
|
||||||
|
# Obtain version
|
||||||
|
mkdir /etc/peerplays && \
|
||||||
|
git rev-parse --short HEAD > /etc/peerplays/version && \
|
||||||
|
cd / && \
|
||||||
|
rm -rf /peerplays-core
|
||||||
|
|
||||||
RUN mkdir /data_dir
|
# Home directory $HOME
|
||||||
ADD docker/default_config.ini /default_config.ini
|
WORKDIR /
|
||||||
ADD docker/launch /launch
|
RUN useradd -s /bin/bash -m -d /var/lib/peerplays peerplays
|
||||||
RUN chmod a+x /launch
|
ENV HOME /var/lib/peerplays
|
||||||
VOLUME /data_dir
|
RUN chown peerplays:peerplays -R /var/lib/peerplays
|
||||||
|
|
||||||
EXPOSE 8090 9090
|
# Volume
|
||||||
|
VOLUME ["/var/lib/peerplays", "/etc/peerplays"]
|
||||||
|
|
||||||
ENTRYPOINT ["/launch"]
|
# rpc service:
|
||||||
|
EXPOSE 8090
|
||||||
|
# p2p service:
|
||||||
|
EXPOSE 2001
|
||||||
|
|
||||||
|
# default exec/config files
|
||||||
|
ADD docker/default_config.ini /etc/peerplays/config.ini
|
||||||
|
ADD docker/peerplaysentry.sh /usr/local/bin/peerplaysentry.sh
|
||||||
|
RUN chmod a+x /usr/local/bin/peerplaysentry.sh
|
||||||
|
|
||||||
|
# default execute entry
|
||||||
|
CMD /usr/local/bin/peerplaysentry.sh
|
||||||
|
|
|
||||||
|
|
@ -47,28 +47,15 @@ required-participation = false
|
||||||
# track-account =
|
# track-account =
|
||||||
|
|
||||||
# Track market history by grouping orders into buckets of equal size measured in seconds specified as a JSON array of numbers
|
# Track market history by grouping orders into buckets of equal size measured in seconds specified as a JSON array of numbers
|
||||||
bucket-size = [15,60,300,3600,86400]
|
# bucket-size = [15,60,300,3600,86400]
|
||||||
|
bucket-size = [60,300,900,1800,3600,14400,86400]
|
||||||
|
# for 1 min, 5 mins, 30 mins, 1h, 4 hs and 1 day. i think this should be the default.
|
||||||
|
|
||||||
# How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)
|
# How far back in time to track history for each bucket size, measured in the number of buckets (default: 1000)
|
||||||
history-per-size = 1000
|
history-per-size = 1000
|
||||||
|
|
||||||
# declare an appender named "stderr" that writes messages to the console
|
# Max amount of operations to store in the database, per account (drastically reduces RAM requirements)
|
||||||
[log.console_appender.stderr]
|
max-ops-per-account = 1000
|
||||||
stream=std_error
|
|
||||||
|
|
||||||
# declare an appender named "p2p" that writes messages to p2p.log
|
|
||||||
[log.file_appender.p2p]
|
|
||||||
filename=logs/p2p/p2p.log
|
|
||||||
# filename can be absolute or relative to this config file
|
|
||||||
|
|
||||||
# route any messages logged to the default logger to the "stderr" logger we
|
|
||||||
# declared above, if they are info level are higher
|
|
||||||
[logger.default]
|
|
||||||
level=info
|
|
||||||
appenders=stderr
|
|
||||||
|
|
||||||
# route messages sent to the "p2p" logger to the p2p appender declared above
|
|
||||||
[logger.p2p]
|
|
||||||
level=info
|
|
||||||
appenders=p2p
|
|
||||||
|
|
||||||
|
# Remove old operation history # objects from RAM
|
||||||
|
partial-operations = true
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
[ -e /data_dir/config.ini ] || cp /default_config.ini /data_dir/config.ini
|
|
||||||
|
|
||||||
[ -e /data_dir/pre_exec ] && bash /data_dir/pre_exec
|
|
||||||
if [ -e /data_dir/extra_args ]; then
|
|
||||||
/bitshares-2/programs/witness_node/witness_node --data-dir /data_dir `cat /data_dir/extra_args`
|
|
||||||
else
|
|
||||||
/bitshares-2/programs/witness_node/witness_node --data-dir /data_dir
|
|
||||||
fi
|
|
||||||
[ -e /data_dir/post_exec ] && bash /data_dir/post_exec
|
|
||||||
Loading…
Reference in a new issue