Radish alpha
r
Radicle web interface
Radicle
Git (anonymous pull)
Log in to clone via SSH
Put fully static binaries into containers
Adam Szkoda committed 3 years ago
commit 821bcf1ce89b7066fbeb4caaf2243d1486c63224
parent 2bd0a6f68de39913656a8ae673c1a8d495c7944a
1 file changed +7 -8
modified radicle-httpd/Dockerfile
@@ -1,21 +1,20 @@
# Build
-
FROM rust:1.65.0-slim@sha256:27349440d16ac15f52e8cae6181999a1b2fc05272d612a358d0e53078fcef88e as build
+
FROM registry.gitlab.com/rust_musl_docker/image:stable-1.65.0@sha256:f95635740757e0e9a29b51d5060a7564e900cb5192defdd3a5b2ba5b47ce17b3 as build

-
RUN apt-get update && apt-get install -y pkg-config libssl-dev git cmake
+
COPY . /workdir

-
COPY . /app
-
WORKDIR /app/radicle-httpd
+
RUN rustup target add x86_64-unknown-linux-musl

-
RUN set -eux; \
-
    cargo install --locked --path .; \
-
    objcopy --compress-debug-sections /usr/local/cargo/bin/radicle-httpd /usr/local/cargo/bin/radicle-httpd.compressed
+
WORKDIR /workdir/radicle-httpd
+
RUN RUSTFLAGS=-Cforce-frame-pointers=yes cargo build --profile=container --target=x86_64-unknown-linux-musl
+
RUN objcopy --compress-debug-sections /workdir/target/x86_64-unknown-linux-musl/container/radicle-httpd /workdir/target/x86_64-unknown-linux-musl/container/radicle-httpd.compressed

# Run
FROM debian:bullseye-slim@sha256:25f10b4f1ded5341a3ca0a30290ff3cd5639415f0c5a2222d5e7d5dd72952aa1

RUN echo deb http://deb.debian.org/debian bullseye-backports main contrib non-free >/etc/apt/sources.list.d/backports.list
RUN apt-get update && apt-get install -y libssl1.1 && apt -t bullseye-backports install --yes git && rm -rf /var/lib/apt/lists/*
-
COPY --from=build /usr/local/cargo/bin/radicle-httpd.compressed /usr/local/bin/radicle-httpd
+
COPY --from=build /workdir/target/x86_64-unknown-linux-musl/container/radicle-httpd.compressed /usr/local/bin/radicle-httpd

WORKDIR /app