Fulcrum/contrib/docker/Dockerfile
mainnet-pat 8b63f55a21
Add arm64 support to Docker image + add librocksdb.a for linux aarch64 (#84)
This commit:

- Adds building docker images for multiple architectures (currently intel, arm64) 
  using docker `buildx`
- Temporarily modifies the `Dockerfile` to use `ppa:mainnet-pat/opt-qt-5.13.2-bionic` 
  which is a clone of previously used `ppa:beineri/opt-qt-5.13.2-bionic` but builds 
  arm64 deb packages as well. Author is contacted to support this in their repo.
    - Calin verified that the input source tree and build control files are identical to ~beineri
- Adds librocksdb.a static lib built for arm64 (should be generally useful outside of docker)
2021-07-02 01:36:51 +03:00

36 lines
1 KiB
Docker

FROM --platform=$BUILDPLATFORM ubuntu:bionic
LABEL maintainer="Axel Gembe <derago@gmail.com>"
ARG MAKEFLAGS
RUN apt-get update -y && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:mainnet-pat/opt-qt-5.13.2-bionic && \
apt-get update -y && \
apt-get install -y qt513base openssl && \
apt-get install -y git build-essential pkg-config zlib1g-dev libbz2-dev libjemalloc-dev libjemalloc1 libzmq3-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY . /src
RUN cd /src && \
/opt/qt513/bin/qmake -makefile PREFIX=/usr Fulcrum.pro && \
make $MAKEFLAGS install
RUN rm -rf /src && \
apt-get remove -y git build-essential zlib1g-dev libbz2-dev libjemalloc-dev && \
apt-get autoremove -y
VOLUME ["/data"]
ENV DATA_DIR /data
ENV SSL_CERTFILE ${DATA_DIR}/fulcrum.crt
ENV SSL_KEYFILE ${DATA_DIR}/fulcrum.key
EXPOSE 50001 50002
COPY contrib/docker/docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["Fulcrum"]