content: 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/paritytech/polkadot/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/paritytech/polkadot/"
  
  # 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"]
  