32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
# egui/eframe 0.35 (GUI) require rustc >= 1.92.
|
|
FROM rust:1.94.1-alpine3.22
|
|
|
|
RUN apk add --no-cache \
|
|
build-base \
|
|
binutils \
|
|
file \
|
|
musl-dev \
|
|
openssl-dev \
|
|
openssl-libs-static \
|
|
perl \
|
|
pkgconf \
|
|
linux-headers \
|
|
&& rustup target add x86_64-unknown-linux-musl
|
|
|
|
ENV CARGO_NET_OFFLINE=false \
|
|
RUSTFLAGS=-Ctarget-cpu=x86-64
|
|
|
|
WORKDIR /workspace/signer
|
|
|
|
COPY nostr_core_lib_rust /workspace/nostr_core_lib_rust
|
|
# GUI header icon widget (path dependency ../hamburger_morphing/rust/...).
|
|
COPY hamburger_morphing/rust /workspace/hamburger_morphing/rust
|
|
COPY signer /workspace/signer
|
|
|
|
RUN cargo build --release --target x86_64-unknown-linux-musl
|
|
RUN file target/x86_64-unknown-linux-musl/release/signer \
|
|
&& file target/x86_64-unknown-linux-musl/release/signer-client \
|
|
&& ! readelf -l target/x86_64-unknown-linux-musl/release/signer | grep -q 'INTERP'
|
|
|
|
CMD ["sh", "-c", "mkdir -p /out && cp target/x86_64-unknown-linux-musl/release/signer /out/signer && cp target/x86_64-unknown-linux-musl/release/signer-client /out/signer_client"]
|