Replaced legacy `*.orly` module imports with `next.orly.dev/pkg` paths across the codebase for consistency. Removed legacy `go.mod` files from sub-packages, consolidating dependency management. Added Dockerfiles and configurations for benchmarking environments.
34 lines
820 B
Docker
34 lines
820 B
Docker
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"]
|