slack status without the slack status.zzstoatzz.io/
quickslice
1# Build stage 2FROM rustlang/rust:nightly-slim AS builder 3 4# Install build dependencies 5RUN apt-get update && apt-get install -y \ 6 pkg-config \ 7 libssl-dev \ 8 && rm -rf /var/lib/apt/lists/* 9 10WORKDIR /app 11 12# Copy manifests 13COPY Cargo.toml Cargo.lock ./ 14 15# Copy source code 16COPY src ./src 17COPY templates ./templates 18COPY lexicons ./lexicons 19COPY static ./static 20 21# Build for release 22RUN cargo build --release 23 24# Runtime stage 25FROM debian:bookworm-slim 26 27# Install runtime dependencies 28RUN apt-get update && apt-get install -y \ 29 ca-certificates \ 30 libssl3 \ 31 && rm -rf /var/lib/apt/lists/* 32 33WORKDIR /app 34 35# Copy the built binary 36COPY --from=builder /app/target/release/nate-status /app/nate-status 37 38# Copy templates and lexicons 39COPY templates ./templates 40COPY lexicons ./lexicons 41# Copy static files 42COPY static ./static 43 44# Create directory for SQLite database 45RUN mkdir -p /data 46 47# Set environment variables 48ENV DB_PATH=/data/status.db 49ENV ENABLE_FIREHOSE=true 50 51# Expose port 52EXPOSE 8080 53 54# Run the binary 55CMD ["./nate-status"]