You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
820 B
33 lines
820 B
FROM ubuntu:22.04 AS builder |
|
|
|
RUN apt-get update && apt-get install -y \ |
|
curl \ |
|
build-essential \ |
|
libsqlite3-dev \ |
|
pkg-config \ |
|
protobuf-compiler \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
# Install Rust |
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y |
|
ENV PATH="/root/.cargo/bin:${PATH}" |
|
|
|
WORKDIR /build |
|
COPY . . |
|
|
|
# Build the relay |
|
RUN cargo build --release |
|
|
|
FROM ubuntu:22.04 |
|
RUN apt-get update && apt-get install -y ca-certificates sqlite3 wget && rm -rf /var/lib/apt/lists/* |
|
WORKDIR /app |
|
COPY --from=builder /build/target/release/nostr-rs-relay /app/ |
|
RUN mkdir -p /data |
|
|
|
EXPOSE 8080 |
|
ENV RUST_LOG=info |
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ |
|
CMD wget --quiet --tries=1 --spider http://localhost:8080 || exit 1 |
|
|
|
CMD ["/app/nostr-rs-relay"]
|
|
|