From ee9efab2f72c73a9b08d46fa3352ab3640f7c9f7 Mon Sep 17 00:00:00 2001 From: Greg Heartsfield Date: Sat, 11 Dec 2021 16:46:42 -0600 Subject: [PATCH] feat: add Dockerfile --- Dockerfile | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5d67bc0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,40 @@ +FROM rust:1.57 as builder + +RUN USER=root cargo new --bin nostr-rs-relay +WORKDIR ./nostr-rs-relay +COPY ./Cargo.toml ./Cargo.toml +COPY ./Cargo.lock ./Cargo.lock +RUN cargo build --release +RUN rm src/*.rs + +COPY ./src ./src + +RUN rm ./target/release/deps/nostr*relay* +RUN cargo build --release + +FROM debian:buster-slim +ARG APP=/usr/src/app + +RUN apt-get update \ + && apt-get install -y ca-certificates tzdata sqlite3 \ + && rm -rf /var/lib/apt/lists/* + +EXPOSE 8080 + +ENV TZ=Etc/UTC \ + APP_USER=appuser + +RUN groupadd $APP_USER \ + && useradd -g $APP_USER $APP_USER \ + && mkdir -p ${APP} + +COPY --from=builder /nostr-rs-relay/target/release/nostr-rs-relay ${APP}/nostr-rs-relay + +RUN chown -R $APP_USER:$APP_USER ${APP} + +USER $APP_USER +WORKDIR ${APP} + +ENV RUST_LOG=info + +CMD ["./nostr-rs-relay"]