FROM public.ecr.aws/docker/library/python:3.13-slim-bookworm@sha256:01f42367a0a94ad4bc17111776fd66e3500c1d87c15bbd6055b7371d39c124fb
RUN apt-get update && apt-get install -y --no-install-recommends tmux asciinema bash jq sqlite3 ruby nodejs npm golang-go rustc cargo librust-serde-json-dev default-jdk-headless libgoogle-gson-java mono-mcs libmono-system-web-extensions4.0-cil gcc g++ libcjson-dev nlohmann-json3-dev libjson-c-dev libgmp-dev librust-num-bigint-dev librust-num-traits-dev && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir pytest==8.3.5 && npm install -g typescript@5.7.3
WORKDIR /app
ENV CARGO_HOME=/opt/cargo
RUN mkdir -p /opt/cargo && printf '[source.crates-io]\nreplace-with = "debian"\n[source.debian]\ndirectory = "/usr/share/cargo/registry"\n' > /opt/cargo/config
COPY app/ /app/
RUN chmod +x /app/run.sh
