48 lines
No EOL
1.5 KiB
Docker
48 lines
No EOL
1.5 KiB
Docker
# =====================================================
|
|
# Zenith RPC Server Image
|
|
# =====================================================
|
|
FROM ubuntu:22.04
|
|
|
|
RUN apt update
|
|
|
|
# Set environment variables to non-interactive mode for installation
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Update the package list and install necessary packages
|
|
|
|
RUN apt-get install -y \
|
|
libsecp256k1-dev \
|
|
libglew-dev \
|
|
libsdl2-dev
|
|
|
|
RUN apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Create a new user (e.g., "zenusr") and set a password
|
|
RUN useradd -ms /bin/bash zenusr
|
|
RUN echo "1234\n1234\n" | passwd zenusr
|
|
|
|
RUN mkdir /home/zenusr/Zenith
|
|
RUN chown zenusr:zenusr -R /home/zenusr/Zenith
|
|
|
|
COPY scripts/bash_rc_adm /root/.bashrc
|
|
COPY scripts/bash_rc_usr /home/zenusr/.bashrc
|
|
COPY scripts/welcome.sh /etc/profile.d/welcome.sh
|
|
RUN chmod +x /etc/profile.d/welcome.sh
|
|
COPY bin/zenithserver /usr/local/bin
|
|
COPY bin/startrpc /usr/local/bin
|
|
COPY lib/librustzcash_wrapper.so /usr/local/lib
|
|
COPY Downloads/libc-bin_2.38-1ubuntu6_amd64.deb /home/zenusr/Downloads/
|
|
COPY Downloads/libc-dev-bin_2.38-1ubuntu6_amd64.deb /home/zenusr/Downloads/
|
|
COPY Downloads/libc6_2.38-1ubuntu6_amd64.deb /home/zenusr/Downloads/
|
|
|
|
RUN echo '#!/bin/bash\ncd /home/zenusr/Downloads\ndpkg -i libc6_2.38-1ubuntu6_amd64.deb libc-bin_2.38-1ubuntu6_amd64.deb libc-dev-bin_2.38-1ubuntu6_amd64.deb' > /usr/local/bin/updlibc
|
|
RUN chmod +x /usr/local/bin/updlibc
|
|
RUN updlibc
|
|
|
|
# Set the user to "zenusr"
|
|
USER zenusr
|
|
WORKDIR /home/zenusr
|
|
ENV USER=zenusr
|
|
|
|
CMD ["startrpc"] |