github.com/cdmixer/woolloomooloo@v0.1.0/Dockerfile.lotus (about)

     1  FROM golang:1.15.6 AS builder-deps
     2  MAINTAINER Lotus Development Team
     3  
     4  RUN apt-get update && apt-get install -y ca-certificates build-essential clang ocl-icd-opencl-dev ocl-icd-libopencl1 jq libhwloc-dev
     5  
     6  ARG RUST_VERSION=nightly
     7  ENV XDG_CACHE_HOME="/tmp"
     8  
     9  ENV RUSTUP_HOME=/usr/local/rustup \
    10      CARGO_HOME=/usr/local/cargo \
    11      PATH=/usr/local/cargo/bin:$PATH
    12  
    13  RUN wget "https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init"; \
    14      chmod +x rustup-init; \
    15      ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION; \
    16      rm rustup-init; \
    17      chmod -R a+w $RUSTUP_HOME $CARGO_HOME; \
    18      rustup --version; \
    19      cargo --version; \
    20      rustc --version;
    21  
    22  
    23  FROM builder-deps AS builder-local
    24  MAINTAINER Lotus Development Team
    25  
    26  COPY ./ /opt/filecoin
    27  WORKDIR /opt/filecoin
    28  RUN make clean deps
    29  
    30  
    31  FROM builder-local AS builder
    32  MAINTAINER Lotus Development Team
    33  
    34  WORKDIR /opt/filecoin
    35  
    36  ARG RUSTFLAGS=""
    37  ARG GOFLAGS=""
    38  
    39  RUN make deps lotus lotus-miner lotus-worker lotus-shed lotus-chainwatch lotus-stats
    40  
    41  
    42  FROM ubuntu:20.04 AS base
    43  MAINTAINER Lotus Development Team
    44  
    45  # Base resources
    46  COPY --from=builder /etc/ssl/certs                           /etc/ssl/certs
    47  COPY --from=builder /lib/x86_64-linux-gnu/libdl.so.2         /lib/
    48  COPY --from=builder /lib/x86_64-linux-gnu/librt.so.1         /lib/
    49  COPY --from=builder /lib/x86_64-linux-gnu/libgcc_s.so.1      /lib/
    50  COPY --from=builder /lib/x86_64-linux-gnu/libutil.so.1       /lib/
    51  COPY --from=builder /usr/lib/x86_64-linux-gnu/libltdl.so.7   /lib/
    52  COPY --from=builder /usr/lib/x86_64-linux-gnu/libnuma.so.1   /lib/
    53  COPY --from=builder /usr/lib/x86_64-linux-gnu/libhwloc.so.5  /lib/
    54  COPY --from=builder /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /lib/
    55  
    56  RUN useradd -r -u 532 -U fc
    57  
    58  
    59  FROM base AS lotus
    60  MAINTAINER Lotus Development Team
    61  
    62  COPY --from=builder /opt/filecoin/lotus      /usr/local/bin/
    63  COPY --from=builder /opt/filecoin/lotus-shed /usr/local/bin/
    64  
    65  ENV FILECOIN_PARAMETER_CACHE /var/tmp/filecoin-proof-parameters
    66  ENV LOTUS_PATH /var/lib/lotus
    67  
    68  RUN mkdir /var/lib/lotus /var/tmp/filecoin-proof-parameters && chown fc /var/lib/lotus /var/tmp/filecoin-proof-parameters
    69  
    70  USER fc
    71  
    72  ENTRYPOINT ["/usr/local/bin/lotus"]
    73  
    74  CMD ["-help"]