Run the Aulay runtime in Docker and add this machine to your Aulay fleet.
167
Run the Aulay runtime in Docker and add the machine to your fleet. Agents you start in Aulay then run inside this container, with git, Node 22, pnpm, Claude Code and a headless Chromium for browser previews ready to use.
Full tutorial: https://aulay.ai/guides/docker
One command pulls this image, pairs it and starts it:
curl -fsSL https://market.aulay.ai/docker.sh | sh
Pair the container with your account. You only do this once per volume. It prints a sign-in link: open it in any browser, then paste the one-time code back into the terminal.
docker run -it --rm -v aulay-runtime:/home/aulay --hostname my-docker aulayai/runtime login
Then run it in the background:
docker run -d --name aulay-runtime --restart unless-stopped \
-v aulay-runtime:/home/aulay --hostname my-docker aulayai/runtime
my-docker appears under Computers in Aulay within a few seconds.
services:
runtime:
image: aulayai/runtime:latest
container_name: aulay-runtime
hostname: my-docker
restart: unless-stopped
volumes:
- aulay-runtime:/home/aulay
volumes:
aulay-runtime:
name: aulay-runtime
docker compose run --rm -it runtime login # first time only
docker compose up -d
The image doesn't contain the runtime itself. Each time the container starts, it downloads the latest runtime into the volume, or updates the copy already there. While the container runs, the runtime updates itself whenever it's idle. Pulling a newer image only refreshes the OS, Node and Claude Code:
docker pull aulayai/runtime && docker rm -f aulay-runtime && docker run -d ... # same command as above
| Variable | Default | |
|---|---|---|
AULAY_NAME | container hostname | Name shown in Aulay. Read when the computer is first paired. |
AULAY_SELF_UPDATE | 1 | 0 keeps the runtime version already in the volume (no start-time or idle updates). |
ANTHROPIC_API_KEY | unset | API-key auth for Claude Code. Leave unset to sign in once with docker exec -it aulay-runtime claude. |
/home/aulay holds the pairing, the runtime, repos, worktrees
and ~/.claude. Keep it to keep the computer. Deleting it means pairing
again as a new computer.*.aulay.ai (and *.aulay.io for older installs) only. Don't publish any ports.linux/amd64 and linux/arm64, both native (Apple
Silicon, Graviton, Raspberry Pi 64-bit).docker exec -it aulay-runtime aulay-entrypoint.sh unpair this,
then delete the volume.Content type
Image
Digest
sha256:f8ebd3f24…
Size
646 MB
Last updated
about 12 hours ago
docker pull aulayai/runtime