forked from PBSA/peerplays
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'beatrice' into 'master'
Merge beatrice to master 2022-06 See merge request PBSA/peerplays!131
- Loading branch information
Showing
28 changed files
with
581 additions
and
141 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
FROM ubuntu:18.04 | ||
MAINTAINER Peerplays Blockchain Standards Association | ||
|
||
#=============================================================================== | ||
# Ubuntu setup | ||
#=============================================================================== | ||
|
||
RUN \ | ||
apt-get update -y && \ | ||
DEBIAN_FRONTEND=noninteractive apt-get install -y \ | ||
apt-utils \ | ||
autoconf \ | ||
bash \ | ||
build-essential \ | ||
ca-certificates \ | ||
dnsutils \ | ||
doxygen \ | ||
expect \ | ||
git \ | ||
graphviz \ | ||
libbz2-dev \ | ||
libcurl4-openssl-dev \ | ||
libncurses-dev \ | ||
libsnappy-dev \ | ||
libssl-dev \ | ||
libtool \ | ||
libzip-dev \ | ||
locales \ | ||
lsb-release \ | ||
mc \ | ||
nano \ | ||
net-tools \ | ||
ntp \ | ||
openssh-server \ | ||
pkg-config \ | ||
perl \ | ||
python3 \ | ||
python3-jinja2 \ | ||
sudo \ | ||
systemd-coredump \ | ||
wget | ||
|
||
ENV HOME /home/peerplays | ||
RUN useradd -rm -d /home/peerplays -s /bin/bash -g root -G sudo -u 1000 peerplays | ||
RUN echo "peerplays ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/peerplays | ||
RUN chmod 440 /etc/sudoers.d/peerplays | ||
|
||
RUN service ssh start | ||
RUN echo 'peerplays:peerplays' | chpasswd | ||
|
||
# SSH | ||
EXPOSE 22 | ||
|
||
#=============================================================================== | ||
# Boost setup | ||
#=============================================================================== | ||
|
||
WORKDIR /home/peerplays/ | ||
|
||
RUN \ | ||
wget -c 'http://sourceforge.net/projects/boost/files/boost/1.67.0/boost_1_67_0.tar.bz2/download' -O boost_1_67_0.tar.bz2 && \ | ||
tar xjf boost_1_67_0.tar.bz2 && \ | ||
cd boost_1_67_0/ && \ | ||
./bootstrap.sh && \ | ||
./b2 install | ||
|
||
#=============================================================================== | ||
# cmake setup | ||
#=============================================================================== | ||
|
||
WORKDIR /home/peerplays/ | ||
|
||
RUN \ | ||
wget -c 'https://cmake.org/files/v3.23/cmake-3.23.1-linux-x86_64.sh' -O cmake-3.23.1-linux-x86_64.sh && \ | ||
chmod 755 ./cmake-3.23.1-linux-x86_64.sh && \ | ||
./cmake-3.23.1-linux-x86_64.sh --prefix=/usr/ --skip-license && \ | ||
cmake --version | ||
|
||
#=============================================================================== | ||
# libzmq setup | ||
#=============================================================================== | ||
|
||
WORKDIR /home/peerplays/ | ||
|
||
RUN \ | ||
wget https://github.com/zeromq/libzmq/archive/refs/tags/v4.3.4.zip && \ | ||
unzip v4.3.4.zip && \ | ||
cd libzmq-4.3.4 && \ | ||
mkdir build && \ | ||
cd build && \ | ||
cmake .. && \ | ||
make -j$(nproc) install && \ | ||
ldconfig | ||
|
||
#=============================================================================== | ||
# cppzmq setup | ||
#=============================================================================== | ||
|
||
WORKDIR /home/peerplays/ | ||
|
||
RUN \ | ||
wget https://github.com/zeromq/cppzmq/archive/refs/tags/v4.8.1.zip && \ | ||
unzip v4.8.1.zip && \ | ||
cd cppzmq-4.8.1 && \ | ||
mkdir build && \ | ||
cd build && \ | ||
cmake .. && \ | ||
make -j$(nproc) install && \ | ||
ldconfig | ||
|
||
#=============================================================================== | ||
# Peerplays setup | ||
#=============================================================================== | ||
|
||
WORKDIR /home/peerplays/ | ||
|
||
## Clone Peerplays | ||
#RUN \ | ||
# git clone https://gitlab.com/PBSA/peerplays.git && \ | ||
# cd peerplays && \ | ||
# git checkout develop && \ | ||
# git submodule update --init --recursive && \ | ||
# git branch --show-current && \ | ||
# git log --oneline -n 5 | ||
|
||
# Add local source | ||
ADD . peerplays | ||
|
||
# Configure Peerplays | ||
RUN \ | ||
cd peerplays && \ | ||
mkdir build && \ | ||
cd build && \ | ||
cmake -DCMAKE_BUILD_TYPE=Release .. | ||
|
||
# Build Peerplays | ||
RUN \ | ||
cd peerplays/build && \ | ||
make -j$(nproc) cli_wallet witness_node | ||
|
||
WORKDIR /home/peerplays/peerplays-network | ||
|
||
# Setup Peerplays runimage | ||
RUN \ | ||
ln -s /home/peerplays/peerplays/build/programs/cli_wallet/cli_wallet ./ && \ | ||
ln -s /home/peerplays/peerplays/build/programs/witness_node/witness_node ./ | ||
|
||
RUN ./witness_node --create-genesis-json genesis.json && \ | ||
rm genesis.json | ||
|
||
RUN chown peerplays:root -R /home/peerplays/peerplays-network | ||
|
||
# Peerplays RPC | ||
EXPOSE 8090 | ||
# Peerplays P2P: | ||
EXPOSE 9777 | ||
|
||
# Peerplays | ||
CMD ["./witness_node", "-d", "./witness_node_data_dir"] |
Oops, something went wrong.