# An example sandbox image for dockersandbox.
#
# dockersandbox runs ONE container from an image as `sleep infinity`, then execs into it. The image
# is where you decide what the sandbox can *do*: whatever tools you install here, `exec` can run.
# The library needs almost nothing of its own — just a POSIX `sh` with printf/base64/find/cat/mkdir
# (present in any base image), which back write_file/list_files/read_file/put_file.
#
# This example is a general-purpose developer image (git + Python + Node + build tools). Swap it
# for whatever your workload needs: a `rust:slim` for cargo builds, `jrottenberg/ffmpeg` for media,
# a `postgres` client image for DB work, etc. Build it and tag it to whatever you pass as
# `image=` to DockerSandbox.start():
#   docker build -t dockersandbox-example:latest sandbox-image
FROM debian:bookworm-slim

ENV DEBIAN_FRONTEND=noninteractive \
    PIP_ROOT_USER_ACTION=ignore

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        ca-certificates \
        curl \
        git \
        build-essential \
        python3 \
        python3-pip \
        python3-venv \
        nodejs \
        npm \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /workspace
