FROM rust:1.87-bookworm AS builder WORKDIR /src RUN apt-get update && apt-get install -y --no-install-recommends \ pkg-config \ libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ libglib2.0-dev \ libudev-dev \ libasound2-dev \ && rm -rf /var/lib/apt/lists/* COPY . . RUN cargo build --release --manifest-path server/Cargo.toml FROM debian:bookworm-slim LABEL org.opencontainers.image.source="https://scm.bstein.dev/bstein/lesavka" RUN apt-get update && apt-get install -y --no-install-recommends \ libgstreamer1.0-0 \ libgstreamer-plugins-base1.0-0 \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-ugly \ gstreamer1.0-libav \ libglib2.0-0 \ libudev1 \ libasound2 \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /src/server/target/release/lesavka-server /usr/local/bin/lesavka-server COPY scripts/daemon/lesavka-core.sh /usr/local/bin/lesavka-core.sh ENTRYPOINT ["lesavka-server"]