# syntax=docker/dockerfile:1

FROM rust:1.90.0-bookworm AS builder

WORKDIR /build
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --locked --release

FROM debian:bookworm-slim AS runtime

RUN apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        bash \
        libgcc-s1 \
        python3 \
        socat \
    && rm -rf /var/lib/apt/lists/* \
    && useradd --create-home --uid 1000 --shell /bin/bash ctf

COPY --from=builder /build/target/release/v67l /v67l
COPY server.py /server.py

RUN chmod 0555 /v67l \
    && chmod 0444 /server.py

USER ctf
WORKDIR /home/ctf
EXPOSE 1337

CMD ["socat", "-T40", "TCP-LISTEN:1337,reuseaddr,fork", "EXEC:python3 /server.py,stderr"]
