.agents/skills/update-sdk/references/docker-image-locations.md
Every file in the OpenHands repository containing a hardcoded Docker image tag, repository, or version-pinned image reference. Organized by update cadence.
These files contain image tags that must be updated whenever the SDK version or pinned commit changes.
openhands/app_server/sandbox/sandbox_spec_service.pyAGENT_SERVER_IMAGE = 'ghcr.io/openhands/agent-server:<tag>-python'<sdk-version>-python for releases (e.g., 1.12.0-python), <7-char-commit-hash>-python for dev pinsdocker-compose.yml- AGENT_SERVER_IMAGE_REPOSITORY=${AGENT_SERVER_IMAGE_REPOSITORY:-ghcr.io/openhands/agent-server}
- AGENT_SERVER_IMAGE_TAG=${AGENT_SERVER_IMAGE_TAG:-<tag>-python}
docker compose up for local developmentcontainers/dev/compose.yml- AGENT_SERVER_IMAGE_REPOSITORY=${AGENT_SERVER_IMAGE_REPOSITORY:-ghcr.io/openhands/agent-server}
- AGENT_SERVER_IMAGE_TAG=${AGENT_SERVER_IMAGE_TAG:-<tag>-python}
ghcr.io/openhands/runtime instead of agent-server, and the tag is 1.2-nikolaik (stale from the V0 era). The check-version-consistency.yml CI workflow catches this.pyproject.tomlversion = "X.Y.Z" under [tool.poetry]openhands/version.pyfrontend/package.json"version": "X.Y.Z"frontend/package-lock.json"version": "X.Y.Z" and packages[""].versionopenhands/version.pypyproject.toml at runtime → openhands.__version__.github/scripts/update_pr_description.sh${SHORT_SHA} variable at CI runtime, not hardcodedenterprise/DockerfileARG BASE="ghcr.io/openhands/openhands" — base image, version supplied at build time| Registry | Usage |
|---|---|
ghcr.io/openhands/agent-server | V1 agent-server (sandbox) — built by SDK repo CI |
ghcr.io/openhands/openhands | Main app image — built by ghcr-build.yml |
docker.openhands.dev/openhands/* | Mirror/CDN for the above images |