# Lab 01 — Attack-surface map (Chapter 1).
#
# Runs THIS lab in isolation on the shared base image. Most users should instead
# use the pack-level `docker compose up` (labs/docker-compose.yml), which also
# starts the target model-api the probes connect to. This Dockerfile is for
# running the single notebook standalone — the lab falls back to an in-process
# model when the API is not reachable, so it works without the api service.
#
# Build the shared base once from the labs/ root:
#   docker build -t aais-labs:1.0.0 ./labs
# Then build + run just this lab (JupyterLab on :8888, token "aais"):
#   docker build -t aais-lab01 ./labs/01-the-ai-security-problem
#   docker run --rm -p 8888:8888 -v "$PWD/labs":/work aais-lab01
# Open the printed http://127.0.0.1:8888/lab?token=aais URL and run
# 01_attack_surface_map.ipynb (build it first with labs/build_notebooks.sh).
FROM aais-labs:1.0.0

WORKDIR /work
EXPOSE 8888

CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", \
     "--allow-root", "--ServerApp.root_dir=/work", \
     "--IdentityProvider.token=aais"]
