Merge pull request #101 from zcash-hackworks/update_user_docker_privs

Add user to Dockerfile
This commit is contained in:
Marshall Gaucher 2019-10-11 18:56:25 -07:00 committed by GitHub
commit 12d3ac0649
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 8 deletions

View File

@ -78,17 +78,27 @@ RUN /usr/bin/install -c /build/zcash/src/zcashd /build/zcash/src/zcash-cli /usr/
# Create layer for lightwalletd and zcash binaries to reduce image size # Create layer for lightwalletd and zcash binaries to reduce image size
FROM golang:1.11 AS zcash_runner FROM golang:1.11 AS zcash_runner
ENV ZCASH_CONF=/root/.zcash/zcash.conf
RUN mkdir -p /root/.zcash/ && \ ARG ZCASH_VERSION=2.0.7+3
mkdir -p /root/.zcash-params/ && \ ARG ZCASHD_USER=zcash
ARG ZCASHD_UID=1001
ARG ZCASH_CONF=/home/$ZCASHD_USER/.zcash/zcash.conf
RUN useradd -s /bin/bash -u $ZCASHD_UID $ZCASHD_USER
RUN mkdir -p /home/$ZCASHD_USER/.zcash/ && \
mkdir -p /home/$ZCASHD_USER/.zcash-params/ && \
chown -R $ZCASHD_USER /home/$ZCASHD_USER/.zcash/ && \
mkdir /logs/ && \ mkdir /logs/ && \
mkdir /db/ mkdir /db/
USER $ZCASHD_USER
WORKDIR /home/$ZCASHD_USER/
# Use lightwallet server and ingest binaries from prior layer # Use lightwallet server and ingest binaries from prior layer
COPY --from=lightwalletd_base /usr/bin/ingest /usr/bin/server /usr/bin/ COPY --from=lightwalletd_base /usr/bin/ingest /usr/bin/server /usr/bin/
COPY --from=zcash_builder /usr/bin/zcashd /usr/bin/zcash-cli /usr/bin/ COPY --from=zcash_builder /usr/bin/zcashd /usr/bin/zcash-cli /usr/bin/
COPY --from=zcash_builder /root/.zcash-params/ /root/.zcash-params/ COPY --from=zcash_builder /root/.zcash-params/ /home/$ZCASHD_USER/.zcash-params/
# Configure zcash.conf # Configure zcash.conf
RUN echo "testnet=1" >> ${ZCASH_CONF} && \ RUN echo "testnet=1" >> ${ZCASH_CONF} && \
@ -98,5 +108,5 @@ RUN echo "testnet=1" >> ${ZCASH_CONF} && \
echo "rpcuser=lwd" >> ${ZCASH_CONF} && \ echo "rpcuser=lwd" >> ${ZCASH_CONF} && \
echo "rpcpassword=`head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo ''`" >> ${ZCASH_CONF} echo "rpcpassword=`head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo ''`" >> ${ZCASH_CONF}
VOLUME [/root/.zcash] VOLUME [/home/$ZCASH_USER/.zcash]
VOLUME [/root/.zcash-params] VOLUME [/home/$ZCASH_USER/.zcash-params]

View File

@ -75,11 +75,11 @@ docker_img_stop_zcashd:
# Start the lightwalletd ingester in the zcashdlwd container # Start the lightwalletd ingester in the zcashdlwd container
docker_img_run_lightwalletd_ingest: docker_img_run_lightwalletd_ingest:
docker exec -i zcashdlwd ingest --conf-file /root/.zcash/zcash.conf --db-path /db/sql.db --log-file /logs/ingest.log docker exec -i zcashdlwd ingest --conf-file /home/zcash/.zcash/zcash.conf --db-path /db/sql.db --log-file /logs/ingest.log
# Start the lightwalletd server in the zcashdlwd container # Start the lightwalletd server in the zcashdlwd container
docker_img_run_lightwalletd_insecure_server: docker_img_run_lightwalletd_insecure_server:
docker exec -i zcashdlwd server --very-insecure=true --conf-file /root/.zcash/zcash.conf --db-path /db/sql.db --log-file /logs/server.log --bind-addr 127.0.0.1:18232 docker exec -i zcashdlwd server --very-insecure=true --conf-file /home/zcash/.zcash/zcash.conf --db-path /db/sql.db --log-file /logs/server.log --bind-addr 127.0.0.1:18232
# Remove and delete ALL images and containers in Docker; assumes containers are stopped # Remove and delete ALL images and containers in Docker; assumes containers are stopped
docker_remove_all: docker_remove_all: