Skip to main content
Action Llama agents run in Docker containers built from a minimal Alpine-based image with Node.js, git, and curl. Agents that need extra tools can add a Dockerfile to their directory.
Custom Dockerfiles only apply to agents using the default container runtime. Agents configured with the host-user runtime do not use Docker and will ignore any Dockerfile.
Project-level Dockerfiles are also supported but not recommended — they make agents harder to reuse across projects. See the Dockerfiles reference for details.

Agent Dockerfiles

Agents that need extra tools can add a Dockerfile to their directory:
Use FROM al-agent:latest and add what you need. The build pipeline automatically rewrites the FROM line at build time. Switch to root to install packages, then back to node:
This is a thin layer on top of the base — fast to build and shares most of the image.

Common additions

Writing a standalone Dockerfile

If you need full control, you can write a Dockerfile from scratch. It must:
  1. Include Node.js 20+
  2. Copy the application code from the base image or install it
  3. Set ENTRYPOINT ["node", "/app/dist/agents/container-entry.js"]
  4. Use uid 1000 (USER node on node images) for compatibility with the container launcher
Example standalone Dockerfile:
The key requirement is that /app/dist/agents/container-entry.js exists and can run. The entry point reads AGENT_CONFIG, PROMPT, GATEWAY_URL, and SHUTDOWN_SECRET from environment variables, and credentials from /credentials/.

Next steps