mirror of https://github.com/nucypher/nucypher.git
48 lines
1.2 KiB
Docker
48 lines
1.2 KiB
Docker
FROM rust:slim-buster
|
|
|
|
# prepare container
|
|
RUN apt-get update -y
|
|
RUN apt-get install -y sudo
|
|
|
|
# setup user
|
|
ARG USER
|
|
RUN echo "Creating user $USER"
|
|
RUN adduser --disabled-password --gecos '' $USER
|
|
RUN adduser $USER sudo
|
|
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
RUN chown -R $USER /home/$USER
|
|
|
|
# install python build dependencies
|
|
RUN sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
|
|
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
|
|
xz-utils tk-dev libffi-dev liblzma-dev git docker-compose
|
|
|
|
# get python
|
|
ARG VERSION
|
|
RUN echo "Building python version $VERSION"
|
|
RUN wget https://www.python.org/ftp/python/$VERSION/Python-$VERSION.tgz
|
|
RUN tar xzvf Python-$VERSION.tgz
|
|
|
|
# build python
|
|
WORKDIR Python-$VERSION
|
|
RUN ./configure --enable-optimizations
|
|
RUN make
|
|
RUN make install
|
|
|
|
# setup python
|
|
RUN cp python /bin
|
|
RUN apt-get install -y python3-openssl python3-dev
|
|
|
|
# setup rust
|
|
ENV CARGO_ROOT /usr/local/cargo
|
|
ENV PATH $CARGO_ROOT/bin:$PATH
|
|
|
|
# echo python and rust versions
|
|
RUN python3 --version && \
|
|
cargo --version && \
|
|
rustup --version && \
|
|
rustc --version
|
|
|
|
# set default user
|
|
USER $USER
|