add listener dockerfile
This commit is contained in:
@@ -1 +1,3 @@
|
|||||||
server/.env
|
server/.env
|
||||||
|
listener/target
|
||||||
|
listener/config.toml
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
################################################################################
|
||||||
|
# App builder stage
|
||||||
|
FROM rust:1.96.0-trixie@sha256:fb328f0f58becb23ba1719940a2c94ece8b0b48afa837d05b79ef64bc1e18f6e AS app-builder
|
||||||
|
|
||||||
|
RUN apt update && \
|
||||||
|
apt install -y --no-install-recommends libclang-dev cmake protobuf-compiler
|
||||||
|
|
||||||
|
COPY listener/ /opt/listener
|
||||||
|
COPY server/proto /opt/server/proto
|
||||||
|
WORKDIR /opt/listener
|
||||||
|
|
||||||
|
RUN cargo build --release
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# FFmpeg builder stage
|
||||||
|
FROM debian:13-slim@sha256:b6e2a152f22a40ff69d92cb397223c906017e1391a73c952b588e51af8883bf8 AS ffmpeg-builder
|
||||||
|
RUN apt-get update && \
|
||||||
|
apt-get install -y --no-install-recommends ffmpeg
|
||||||
|
RUN mkdir -p /rootfs/bin && \
|
||||||
|
cp /usr/bin/ffmpeg /usr/bin/ffprobe /rootfs/bin/ && \
|
||||||
|
{ ldd /usr/bin/ffmpeg; ldd /yt-dlp; } 2>/dev/null | \
|
||||||
|
grep -o '/[^ ]*' | sort -u | \
|
||||||
|
xargs -I '{}' cp --parents '{}' /rootfs && \
|
||||||
|
LIBDIR=$(dirname "$(find /rootfs -name 'libc.so.6' | head -1)") && \
|
||||||
|
for stub in libutil.so.1 libdl.so.2 libpthread.so.0 librt.so.1; do \
|
||||||
|
[ -f "${LIBDIR}/${stub}" ] || ln -sf libc.so.6 "${LIBDIR}/${stub}"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# Final squashed image
|
||||||
|
FROM gcr.io/distroless/cc-debian13 AS final
|
||||||
|
|
||||||
|
# Copy listener library
|
||||||
|
COPY --from=ffmpeg-builder /rootfs/ /
|
||||||
|
COPY --from=app-builder /opt/listener/target/release/scannerbot-listener /bin/
|
||||||
|
ENTRYPOINT ["/bin/scannerbot-listener"]
|
||||||
Reference in New Issue
Block a user