Custom images
Custom images are an enterprise feature in closed beta. Contact hello@reflow.io for access.
Push a team image
Section titled “Push a team image”POST /v1/images/login returns a short-lived Docker credential scoped to your
team’s repository namespace. The username is reflow and the credential
expires after about one hour.
With the variables from the API reference:
curl --fail-with-body -X POST "$REFLOW_API/images/login" \ -H "Authorization: Bearer $REFLOW_TOKEN" \ > reflow-registry.json
jq -r .password reflow-registry.json | \ docker login registry.reflow.io --username reflow --password-stdin
REFLOW_REPOSITORY=$(jq -r .repository_prefix reflow-registry.json)docker build -t "registry.reflow.io/$REFLOW_REPOSITORY/example:latest" .docker push "registry.reflow.io/$REFLOW_REPOSITORY/example:latest"Every pushed tag is scanned. Only tags with scan_status='passed' can boot.
The dashboard image catalog lists system and team images with each tag’s scan
status and state.
Run a container
Section titled “Run a container”The MCP container surface includes list_images, run_image, exec,
tail_exec, stop_container, list_containers, get_container, and
update_image. run_image binds an approved image to a live session; poll
get_container until it is ready before executing commands.
Commands inside a booted container run through the exec and tail_exec
tools as plain shell, streamed back to the session transcript. For trusted
code that should run inside the browser task itself, use a
browser self-target: its exec "…" in browser form is
the only image reference RFL executes today.