Something went wrong. Try again.
mclo.gs, but Reverie branded, and in Rust!
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031ARG RUST_IMAGE=rust:1.95.0-slim-bookworm@sha256:d7482085ff5b415f84dba5647ae71606650bdef00db7aeb69f4b3d170c3e4082ARG RUNTIME_IMAGE=gcr.io/distroless/cc-debian12:nonroot@sha256:9dac0a79194e45a7da0158a9c6da57b217585af0786db3845d1f0ec1a0dd182f
FROM ${RUST_IMAGE} AS buildWORKDIR /src
# Dependencies (cached)COPY Cargo.toml Cargo.lock ./RUN mkdir src && echo 'fn main() {}' > src/main.rs && touch src/lib.rs && \ cargo build --release --locked && \ rm -rf src
COPY src srcCOPY templates templatesRUN touch src/main.rs src/lib.rs && cargo build --release --locked
FROM ${RUNTIME_IMAGE}WORKDIR /app
COPY --from=build /src/target/release/reverie-logs /app/reverie-logsCOPY web/public /app/web/public
# Large buffers (log content, rendered pages) are mmapped so their memory goes back to the# system when a request ends, instead of staying in glibc's per-thread arenasENV MALLOC_ARENA_MAX=2 \ MALLOC_MMAP_THRESHOLD_=131072
USER nonrootEXPOSE 80ENTRYPOINT ["/app/reverie-logs"]