Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 29 additions & 17 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,43 +1,55 @@
# syntax=docker/dockerfile:1
FROM ubuntu:20.04

ARG USER_ID
ARG GROUP_ID

RUN apt-get update
RUN apt-get update --fix-missing
RUN DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
RUN apt-get -y install zip unzip libncurses5 wget git build-essential cmake curl libboost-all-dev libcurl4-openssl-dev libgmp-dev libssl-dev libusb-1.0.0-dev libzstd-dev time pkg-config llvm-11-dev nginx npm yarn
RUN apt-get -y install zip unzip libncurses5 wget git build-essential cmake curl libboost-all-dev libcurl4-openssl-dev libgmp-dev libssl-dev libusb-1.0.0-dev libzstd-dev time pkg-config llvm-11-dev nginx npm yarn jq gdb lldb
RUN npm install -D webpack-cli
RUN npm install -D webpack
RUN npm install -D webpack-dev-server

WORKDIR /app

# get Mandel
RUN wget https://github.com/larryk85/ENF-Binaries/releases/download/v1.0/mandel_3.0.5_amd64.deb
RUN apt install ./mandel_3.0.5_amd64.deb

# get CDT
RUN wget https://github.com/larryk85/ENF-Binaries/releases/download/v1.0/cdt_1.8.1_amd64.deb
RUN apt install ./cdt_1.8.1_amd64.deb

# get Contracts
RUN git clone https://github.com/eosnetworkfoundation/mandel-contracts
WORKDIR /app/mandel-contracts
RUN git pull
RUN git checkout larryk85/mandel-update
RUN git clone https://github.com/eosnetworkfoundation/mandel
WORKDIR /app/mandel
RUN git submodule update --init --recursive
RUN mkdir build
WORKDIR /app/mandel-contracts/build
RUN cmake ..
RUN make -j4
WORKDIR /app/mandel/build
RUN cmake .. -DENABLE_OC=Off
RUN make -j10

WORKDIR /app

COPY ./scripts/ .
RUN chmod +x bootstrap_env.sh
RUN chmod +x start_node.sh
RUN chmod +x setup_system.sh
RUN chmod +x write_context.sh
RUN mv my_init /sbin

RUN ./bootstrap_env.sh
RUN ./setup_system.sh
RUN cp -R /usr/lib/x86_64-linux-gnu/* /usr/lib

RUN if [ ${USER_ID:-0} -ne 0 ] && [ ${GROUP_ID:-0} -ne 0 ]; then \
userdel -f www-data && \
if getent group www-data ; then groupdel www-data; fi && \
groupadd -g ${GROUP_ID} www-data && \
useradd -l -u ${USER_ID} -g www-data www-data && \
install -d -m 0755 -o www-data -g www-data /home/www-data && \
chown --changes --silent --no-dereference --recursive \
--from=33:33 ${USER_ID}:${GROUP_ID} \
/home/www-data \
/app \
;fi
USER www-data

RUN mkdir /home/www-data/nodes
RUN cp /app/config.ini /home/www-data/config.ini

# thanks to github.com/phusion
# this should solve reaping issues of stopped nodes
Expand Down
Loading