52 lines
1.7 KiB
Docker
52 lines
1.7 KiB
Docker
FROM docker.io/library/ubuntu:20.04
|
|
|
|
# metadata
|
|
ARG VCS_REF
|
|
ARG BUILD_DATE
|
|
ARG IMAGE_NAME
|
|
|
|
LABEL io.parity.image.authors="devops-team@parity.io" \
|
|
io.parity.image.vendor="Parity Technologies" \
|
|
io.parity.image.title="${IMAGE_NAME}" \
|
|
io.parity.image.description="Polkadot: a platform for web3" \
|
|
io.parity.image.source="https://github.com/pezkuwichain/pezkuwichain-sdk/blob/${VCS_REF}/docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile" \
|
|
io.parity.image.revision="${VCS_REF}" \
|
|
io.parity.image.created="${BUILD_DATE}" \
|
|
io.parity.image.documentation="https://github.com/pezkuwichain/pezkuwichain-sdk"
|
|
|
|
# show backtraces
|
|
ENV RUST_BACKTRACE 1
|
|
|
|
# install tools and dependencies
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|
libssl1.1 \
|
|
ca-certificates && \
|
|
# apt cleanup
|
|
apt-get autoremove -y && \
|
|
apt-get clean && \
|
|
find /var/lib/apt/lists/ -type f -not -name lock -delete; \
|
|
# add user and link ~/.local/share/polkadot to /data
|
|
useradd -m -u 1000 -U -s /bin/sh -d /polkadot polkadot && \
|
|
mkdir -p /data /polkadot/.local/share /polkdot/runtimes && \
|
|
chown -R polkadot:polkadot /data && \
|
|
ln -s /data /polkadot/.local/share/polkadot
|
|
|
|
# add polkadot binaries to docker image
|
|
COPY ./artifacts/polkadot ./artifacts/polkadot-execute-worker ./artifacts/polkadot-prepare-worker /usr/local/bin
|
|
|
|
# add runtime binaries to docker image
|
|
COPY ./artifacts/runtimes /polkadot/runtimes/
|
|
|
|
USER polkadot
|
|
|
|
# check if executable works in this container
|
|
RUN /usr/local/bin/polkadot --version
|
|
RUN /usr/local/bin/polkadot-execute-worker --version
|
|
RUN /usr/local/bin/polkadot-prepare-worker --version
|
|
|
|
EXPOSE 30333 9933 9944
|
|
VOLUME ["/polkadot"]
|
|
|
|
ENTRYPOINT ["/usr/local/bin/polkadot"]
|