install nodejs rust dup-mnemonic

This commit is contained in:
joseelinchevalay 2020-03-19 15:25:21 +01:00
parent 62772d225c
commit 4d1071d3a7
1 changed files with 52 additions and 3 deletions

View File

@ -1,6 +1,16 @@
FROM debian@sha256:bf338ddc710dfb9b907a29ba661b35d0f6b3eae043515c4315f64c6e93409e94
LABEL MAINTAINER=chamalow <@qio8/4L4vnzq3qRD0dqKI7sTpey54u8ZWbaICfpJOZw=.ed25519>
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV NVM_INSTALL_DIR /opt/nvm
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION v12.16.1
ENV RUSTUP_HOME /usr/local/rustup
ENV CARGO_HOME /usr/local/cargo
ENV PATH /usr/local/cargo/bin:$PATH
ENV RUST_VERSION 1.42.0
COPY ./key_create_dunikey.py /usr/bin/key_create_dunikey
COPY ./process-likes-g1tx.sh /usr/bin/process-likes-g1tx
COPY ./secret2dunikey.sh /usr/bin/secret2dunikey
@ -9,18 +19,57 @@ RUN apt-get update -y && \
apt-get install autoconf=2.69-11.1 build-essential=12.8 python3-pip=18.1-5 python3-setuptools=44.0.0-1 python3-wheel=0.33.6-3 libsodium-dev=1.0.18-1 jq=1.6-1 make=4.2.1-1.2 git=1:2.25.1-1 gcc=4:9.2.1-3.1 base58=1.0.3-1 libtool=2.4.6-14 curl=7.68.0-1 -y && \
chmod +x /usr/bin/secret2dunikey /usr/bin/process-likes-g1tx /usr/bin/key_create_dunikey&& \
pip3 install duniterpy==0.56.0 silkaj==0.7.6 && \
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
useradd -ms /bin/bash astroport
RUN set -eux; \
dpkgArch="$(dpkg --print-architecture)"; \
case "${dpkgArch##*-}" in \
amd64) rustArch='x86_64-unknown-linux-gnu'; rustupSha256='ad1f8b5199b3b9e231472ed7aa08d2e5d1d539198a15c5b1e53c746aad81d27b' ;; \
armhf) rustArch='armv7-unknown-linux-gnueabihf'; rustupSha256='6c6c3789dabf12171c7f500e06d21d8004b5318a5083df8b0b02c0e5ef1d017b' ;; \
arm64) rustArch='aarch64-unknown-linux-gnu'; rustupSha256='26942c80234bac34b3c1352abbd9187d3e23b43dae3cf56a9f9c1ea8ee53076d' ;; \
i386) rustArch='i686-unknown-linux-gnu'; rustupSha256='27ae12bc294a34e566579deba3e066245d09b8871dc021ef45fc715dced05297' ;; \
*) echo >&2 "unsupported architecture: ${dpkgArch}"; exit 1 ;; \
esac; \
url="https://static.rust-lang.org/rustup/archive/1.21.1/${rustArch}/rustup-init"; \
curl -O "$url"; \
echo "${rustupSha256} *rustup-init" | sha256sum -c -; \
chmod +x rustup-init; \
./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION; \
rm rustup-init; \
chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
rustup --version; \
cargo --version; \
rustc --version;
RUN git clone https://github.com/creationix/nvm.git $NVM_INSTALL_DIR && \
. $NVM_INSTALL_DIR/nvm.sh && \
nvm install --lts && \
nvm alias default $NODE_VERSION && \
nvm use default && \
echo "export NVM_DIR=${NVM_DIR}" > /home/astroport/.bashrc && \
echo ". ${NVM_INSTALL_DIR}/nvm.sh" > /home/astroport/.bashrc && \
chown -R astroport:astroport $NVM_DIR
RUN git clone https://git.scuttlebot.io/%25133ulDgs%2FoC1DXjoK04vDFy6DgVBB%2FZok15YJmuhD5Q%3D.sha256 sbotc
WORKDIR /sbotc
RUN make && make install
WORKDIR /
RUN git clone https://git.duniter.org/tools/dup-mnemonic-rs
WORKDIR /dup-mnemonic-rs
RUN cargo build --release && \
cp target/release/dup-mnemonic /usr/local/bin
USER astroport
WORKDIR /home/astroport
RUN mkdir -p /home/astroport/.ssb/
RUN . ~/.bashrc && \
mkdir -p /home/astroport/.ssb/ && \
npm install sodium-native@3.0.0 ssb-backlinks@1.0.0 && \
npm install -g ssb-server@15.2.0
VOLUME [ "/home/astroport/.ssb/" ]
EXPOSE 8008