FROM ubuntu:20.04

RUN apt-get update && apt-get install -y --no-install-recommends \
    socat \
    util-linux \
    && rm -rf /var/lib/apt/lists/* \
    && useradd -m -s /usr/sbin/nologin pwn

# 直接使用 dist/ 内预编译二进制（与线上镜像一致）。源码在 ubuntu:20.04 上
# 用 --no-install-recommends 只装 gcc 会缺 libc6-dev（stdio.h 找不到），
# 构建必失败，见 HANDOFF 缺陷 16。
COPY dist/chamber /home/pwn/chamber
COPY config/run-chamber.sh /home/pwn/run-chamber.sh
COPY config/entrypoint.sh /entrypoint.sh
RUN chmod 555 /home/pwn/chamber /home/pwn/run-chamber.sh /entrypoint.sh

EXPOSE 9999
ENTRYPOINT ["/entrypoint.sh"]
