40 lines
No EOL
711 B
Docker
40 lines
No EOL
711 B
Docker
FROM rustlang/rust:nightly-slim AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Install build dependencies
|
|
RUN apt update && apt install -y \
|
|
musl-tools \
|
|
musl-dev \
|
|
build-essential \
|
|
libssl-dev \
|
|
curl \
|
|
pkg-config \
|
|
ca-certificates
|
|
|
|
# Copy dependency files first for better caching
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY ./src ./src
|
|
COPY config.toml .
|
|
|
|
# Build the application
|
|
RUN cargo build --release
|
|
|
|
|
|
# Builder
|
|
FROM gcr.io/distroless/cc
|
|
|
|
# Copy the binary
|
|
COPY --from=builder /app/target/release/silserv /
|
|
COPY --from=builder /app/config.toml /
|
|
|
|
# Create data directory
|
|
|
|
EXPOSE 36530
|
|
|
|
# Environment defaults
|
|
ENV SILSERV_LOG_LEVEL=debug
|
|
ENV SILSERV_STORAGE__PATH=/app/data/silserv.db
|
|
|
|
|
|
CMD ["./silserv"] |