Help
Troubleshooting & cleanup
Every issue below was actually hit and fixed while building this workshop — not hypothetical.
Troubleshooting
Not broken — it means setup already succeeded once for this attendee/session. Either
reuse the existing container (skip straight to ./verify.sh) or run
./cleanup.sh first for a clean container.
Transient — the installer script downloads a native binary payload after itself and
checksums that separately; an occasional network blip mid-download trips it. This happens
at docker build time (baked into the image) — only relevant if you're
rebuilding rather than pulling from GHCR. Just re-run the build, Docker's layer cache means
everything before that RUN step is skipped:
docker build -t casky-tollbooth .
Almost always a wrong working directory. Every command on the Setup page assumes you're
in casky-workshops/tollbooth/ — both sections start with a one-line sanity
check for exactly this reason:
# Section 1 (inside the Kali container)
docker exec casky-tollbooth test -f /root/tollbooth/verify.sh \
&& echo "[+] mount OK" || echo "[!] wrong directory — re-run from casky-workshops/tollbooth/"
# Section 2 (on the host, before copying evidence)
test -f lab-tollbooth.pcap && echo "[+] correct folder" || echo "[!] cd to casky-workshops/tollbooth first"
Almost certainly the quoted-value bug — see the Section 1
prerequisites on the Setup page. docker run --env-file does not strip quotes
from .env values the way docker-compose does, so a key copied
straight from casky-box/.env ends up starting with a literal
" character. Re-run the sed fix from the Setup page and confirm
with the grep -c '^sk-ant-' check before retrying.
That's a casky-box
issue, not a TollBooth/OpenDoor one — check docker compose logs in that folder
(stale exited-container/network-ID conflicts are the usual cause — docker compose down
then up -d again clears most of them).
Cleanup
./cleanup.sh removes everything a run of this exercise creates outside the
tollbooth/ folder: the casky-tollbooth container (Section 1) and any
evidence files Section 2 copied into casky-box/evidence/. Safe to
re-run — it reports what it found and skips what's already gone.
./cleanup.sh # container + copied evidence
./cleanup.sh --casky-box-path ../casky-box # if casky-box/ was moved elsewhere
./cleanup.sh --with-image # also remove the casky-tollbooth image
It does not touch Casky Box's own containers
(casky-runner, casky-db, casky-ui, …) — those are shared
across workshops/attendees, not per-run litter — and it doesn't delete Postgres
investigation records from casky harness runs, since those are history, not
litter.
If lab-tollbooth.pcap/cloudtrail//opendoor/ get
modified mid-exercise, restore them separately with:
docker exec -w /root/tollbooth casky-tollbooth ./reset.sh
Do this between attendees on the same Kali container — takes under 10 seconds.
Authorized & lawful use only. All data is synthetic and self-contained; no live systems are touched.