### Why / What / How
**Why:** The single-container image has been public on Docker Hub since
2026-08-11 (`latest` = `v0.8.4`, `linux/amd64` + `linux/arm64`, ~8.9k
pulls). Even so, the root README, the self-hosting guide and the
installer reference said its tags were not public, and sent everyone to
the from-source Compose path. I audited every self-hosting doc against
the code. The audit also turned up instructions that break installs, and
others that point at UI, services and paths that no longer exist.
Windows had no installer at all: #13261 withheld it until standard-user
filesystem checks and the handling of Docker arguments from Windows
PowerShell were validated. Two of #13240's items are still open on
`dev`, the Ollama troubleshooting path and the Llama provider link, and
this PR fixes both. Its other three are already fixed there.
**What:** Docs, the image's description label, and a Windows installer
at parity with `install.sh`.
- Self-hosters now start from the Docker Hub image wherever they land:
the README, the self-hosting guide, the Docker Hub page and the overview
pages.
- The image goes live with the release this PR ships in, so nothing
calls it experimental any more.
- `setup.agpt.co` serves the release installers from `master`, so the
installer page and the guide present the hosted command for Linux, macOS
and Windows.
- Stale instructions are corrected. Each document keeps its own voice
and format.
- The Windows installer was reviewed as #15770 and is folded in here.
**How:**
- Every claim is checked against the code
(`autogpt_platform/single-container/*`, the installer scripts, the
Compose files, the publish workflow), against Docker Hub, and against
the live docs site.
- The `docker run` quick start is byte-identical in the README, the
self-hosting guide and the Docker Hub README, and it matches the live
Docker Hub page.
- GitBook renders two callout syntaxes as literal text: `!!! warning`
and `> [!WARNING]`. They are now `{% hint %}` blocks, which 12 other
platform pages already use.
- GitBook rendering was checked on a preview build of these docs
(#15157, a preview only, not to be merged).
- `install.ps1` follows `install.sh` function by function, with the same
flags, labels, runtime contract and lifecycle marker. The
Windows-specific parts:
- It accepts only a local `npipe://` Docker endpoint.
- The state directory and its files get a protected ACL that makes the
current user their owner and only principal.
- It refuses a path with a junction, symlink, short name, stream or
network drive, and a path where another account can rename, delete or
re-permission a folder.
- It starts `docker.exe` itself, quoting arguments by the Windows rules,
because Windows PowerShell 5.1 strips the double quotes inside Go
templates.
- Merged with `dev` three times, most recently on 2026-10-20. The first
merge, after #15611 rewrote the README, lists how its two conflicts were
resolved. The other merges had none.
Fixes #13240
### Changes 🏗️
**Docker Hub path**
- Nothing calls the image experimental any more. That covers the README,
the Docker Hub README, the self-hosting guide, the single-container
guide's title and `SUMMARY.md` entry, the platform overview, and the
Dockerfile's `org.opencontainers.image.description` label. The Docker
Hub README and the guide still say it is for local and small
installations, not high-availability deployments.
- `README.md`:
- The self-host section is a quick start only: the
`significantgravitas/autogpt` link, the `docker run`, admin promotion,
and links to the single-container and Compose guides. It replaces the
installer sentence. The section's intro and comparison table are
#15611's, and the detail lives in the docs.
- One line points Linux, macOS and Windows users at the installer.
- Adds a Docker Hub version badge next to the Discord badge.
- Comparison table: the Model access row adds "or a local model".
- `docs/platform/getting-started.md`:
- New "Quick Setup with Docker" section before Manual Setup, including
the `AUTOGPT_PUBLIC_URL` rule. The appliance installer section links to
the installer.
- Adds a Compose network-exposure warning.
- Corrects the Manual Setup prerequisites: `make` and Python 3 are
needed, and Node.js only for frontend development or the Supabase
migration.
- Fixes the Makefile table, renders the ports as a list, and scopes the
secrets-upgrade section to Compose installs.
- `autogpt_platform/single-container/README.md`, which is the Docker Hub
page. It reaches the Hub on the next release.
- Sign out and back in after promotion; explicit close-signup steps.
- Remote access, default provider keys, and WSL 2 memory.
- New Upgrading section and a release-notes link.
- Tag wording updated.
- `docs/platform/installer.md`:
- The hosted command is documented for Linux, macOS and Windows, without
the not-live warning. A Windows column joins the Options table.
- The release gates are a checklist for every release: the image gates,
plus fetching each hosted installer and clean installs. The section
lists the three hosted files, which redirect to `master`. Only releases
publish images; `dev` pushes and dispatches don't.
- Ollama defaults corrected (Ornith 1.5 9B, context 262144), with an
example tag that exists.
- Adds the bootstrap prerequisites, a cold-backup link and how to invoke
the scripts.
- `docs/platform/SUMMARY.md`: the single-container guide is listed
before the installer page.
- Entry pages:
- `what-is-autogpt-platform.md`: self-host bullet, plus the image's
bundled third-party licenses, including FalkorDB under SSPL-1.0.
- `getting-started-cloud.md`.
- `docs/home/README.md`: "Self-Host with Docker" link, Integrations
blurb, Classic label.
- `autogpt_platform/README.md` pointer.
**Windows installer**
- `autogpt_platform/installer/install.ps1` (new): the Windows release
installer described under How. It runs on Windows PowerShell 5.1 and
PowerShell 7 as a standard user, and it is kept ASCII, because 5.1 reads
a script without a byte-order mark as ANSI.
- `autogpt_platform/installer/install.bat` (new): runs `install.ps1` the
same way as the documented command. It is there for the `install.bat`
command older tutorials use.
- `autogpt_platform/installer/test-windows-installer.ps1` (new):
- The bash suite's cases, with fake `docker.exe`, `curl.exe` and
`powershell.exe`. The fake `docker.exe` checks each `--format` exactly
as received, so a dropped quote fails.
- Windows path and ACL cases.
- The documented command, read from `installer.md`, and `install.bat`,
run inside a session and with `-File`.
- `autogpt_platform/installer/test-single-container-handoff.sh`: the
bootstrap guard rejects `iwr`, `irm`, `iex`, `Invoke-*` and `curl … |
bash` in all four bootstrap files, and requires the HTTPS-only curl
flags.
- `.github/workflows/platform-installer-ci.yml`: a `windows-2025` job
runs the suite under both PowerShell editions.
- Hosting: `setup.agpt.co/install.ps1` and `/install.bat` redirect to
these files on `master`, the same way `/install.sh` does, so they go
live with this release. Until then they return 404 and run nothing.
**Correctness fixes found in the audit**
- `single-container.md`:
- **Local Ollama profile:** it now pins `GRAPHITI_LLM_MODEL` and
`GRAPHITI_RERANKER_MODEL` to the documented 4B model. Graphiti's local
default moved to Ornith in #14188, so following the profile left memory
calling a model that was never pulled.
- **Embedder key:** documents that `OPENAI_API_KEY` is sent to the local
endpoint unless `GRAPHITI_EMBEDDER_API_KEY` is set.
- **Ollama bind:** on Docker Engine, Ollama must listen beyond loopback.
- **`supervisorctl`:** it needs `-c`; the bare command can't reach the
appliance's socket.
- **WSL 2 memory:** set through `.wslconfig`.
- **`--shm-size` rationale:** corrected; Codex stopped using `/dev/shm`
in #14195.
- **Tags and boot:** `sha-` tags are release-only. Also documents the
skills-catalog publish on boot and the watchdog timing.
- `advanced_setup.md`:
- `cp .env.default .env` overwrote a generated `ENCRYPTION_KEY`.
- Removed the unsupported `./secrets` directory, the nonexistent
`postgres/schema.prisma` and `rnd/` paths, and the Poetry 1 `poetry
shell` steps.
- Documents an external Postgres setup from the code.
- `autogpt_platform/README.md`:
- Uses `make init-env` instead of `cp .env.default .env`; without a
generated `ENCRYPTION_KEY` the backend refuses to start.
- Uses the real service names `rest_server` and `websocket_server`.
- Removes the `--scale executor=3` scenario, which fails on the
executor's fixed host port.
- Explains `down` versus `down -v`.
- Persisting Data now describes the existing bind mount and volumes, and
warns against volumes on the Redis nodes.
- Tutorials and references:
- The marketplace download and import steps match the current UI.
- The first-agent tutorial says how provider keys reach the Docker image
(`--env-file`) and an installer install (the installer's `autogpt.env`),
next to the Compose path.
- The credentials, OAuth redirect URI, External API and local-LLM pages
cover the image.
- `db/docker/README.md` says what the folder does today: its
`.gitignore` keeps local database and storage data out of Git. It links
the upgrade guide and the `db` service the platform runs. The canary-tag
lines and the installer page describe things as they are now, without
"legacy" or "no longer".
**#13240's remaining items**
- `docs/platform/ollama.md`: troubleshooting names the LLM catalog files
that the "Add Custom Models" section uses. It used to name
`backend/api/model.py`, which holds no model list. The section also gets
a relative setup link.
- `docs/platform/what-is-autogpt-platform.md`: the Llama provider links
`https://www.llama.com/`, not LlamaIndex. Meta's Llama API page is gone,
and llama.com points at Meta's current developer site.
- Self-hosting guide links use `agpt.co/docs/platform/self-hosting/...`,
as the README has since #15682.
### Agents and large language models used
- Grok Bot (autogpt-fix local) — model id not exposed (original link
fixes)
- Claude Code — Claude Opus 5.5 (self-hosting docs audit and refresh,
Windows installer)
### Checklist 📋
#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
- [x] #13240 reproduced on `dev` (7aa5db5817). The Ollama
troubleshooting line names `backend/api/model.py`, but `LLMModel` lives
in `data/llm_registry/llm_models.py`. The Llama provider links
`llamaindex.ai`. The README link, the README prerequisites and the
`sso-guide.md` items are already fixed on `dev`.
- [x] The `docker run` block is byte-identical in the README,
getting-started, the Docker Hub README and the live Docker Hub page.
- [x] Every relative link and `#anchor` in the 18 changed docs resolves,
and every external URL returns 2xx. Re-checked on 2026-10-20 after
merging `dev`: 224 Markdown links (85 external), plus 76 autolinks and
bare URLs.
- [x] Every `bash` block passes `bash -n`.
- [x] The four blocks `test_documented_operations.py` extracts are
unchanged and still unique.
- [x] Linux/macOS hosted installer, 2026-10-19:
- `setup.agpt.co/install.sh`, fetched from outside, is byte-identical to
the `install.sh` in `autogpt-platform-beta-v0.8.4`.
- The documented command ran clean installs on Ubuntu 24.04 amd64
(Docker 29.6) and macOS 26.6 arm64 (Docker Desktop 28.5). The macOS
install ran under both Homebrew bash 5.3 and the stock `/bin/bash` 3.2.
- Each install became healthy, answered 200 on `127.0.0.1:3000` and
`/healthz`, gave no answer on the LAN address, and passed
`autogpt-healthcheck`.
- Each rerun was an exact-contract no-op, and each container ran from
the v0.8.4 digest `significantgravitas/autogpt@sha256:dab1b29b…`, not a
tag.
- [x] The README's `docker run` block, run verbatim on Ubuntu 24.04
amd64, was healthy in 143 s including the pull. It answered 200 on
`127.0.0.1:3000`, gave no answer on the LAN address, and `autogpt-admin
promote` runs.
- [x] The first-agent tutorial's key steps, run on macOS arm64 with
dummy keys: both boots were healthy and kept the volume. Read as the
`autogpt` user, `/proc/<pid>/environ` of every backend process (`rest`,
`ws`, `executor`, `scheduler`, `db`, `notification`, `batch-executor`,
`copilot-executor`) holds `OPENAI_API_KEY`.
- [x] Windows suites:
- `test-windows-installer.ps1` passes on Windows 11 as a standard user
under Windows PowerShell 5.1.26100 and PowerShell 7.6.7.
- CI's `windows-2025` job runs the suite elevated under 5.1.26100.33438
and 7.6.6, with no skipped cases.
- `test-single-container-handoff.sh` and ShellCheck pass on Ubuntu 24.04
and macOS 26.6 (`/bin/bash` 3.2).
- [x] Windows real-engine install, 2026-10-20:
- The documented command ran in Windows PowerShell 5.1, with its URL
pointed at the branch's `install.ps1`. Windows `docker.exe` reached a
Linux Docker 29.6 engine through a local named pipe.
- The appliance was healthy in 191 s, pinned to the v0.8.4 digest, and
published only `127.0.0.1:3000`.
- The state directory and files were private to the user.
- Reruns with PowerShell 7 and with the documented command were no-ops.
- Windows' built-in `curl.exe` 8.21.0 downloads the file byte-for-byte
with the documented flags and refuses `http://`.
- [x] Claims checked against `graphiti/config.py`, `supervisord.conf`,
`bootstrap.sh`, `watchdog.sh`, `entrypoint.sh`, the publish script, the
Compose files, the installer scripts and the frontend UI strings.
- [x] The live GitBook site shows `!!! warning` and `[!WARNING]` as
literal text, while `{% hint %}` renders. Checked on the GitBook preview
(#15157, a preview only): the hint callouts render and the new pages are
present.
- [x] After merging `dev` on 2026-10-20, `test_docs_layout.py` passes
and `pre-commit run --files` passes on the 24 changed files.
`test_dockerfile_layers.py` passes with the new label.
- [ ] Not run: a clean Windows machine with Docker Desktop. There was no
VM capacity, and it is a release gate in `installer.md`.
#### For configuration changes:
- [N/A] `.env.default` is updated or already compatible with my changes
- [N/A] `docker-compose.yml` is updated or already compatible with my
changes
- [N/A] I have included a list of my configuration changes in the PR
description (under **Changes**)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Nicholas Tindle <[email protected]>
Co-authored-by: Grok Bot (Cursor) <[email protected]>
Co-authored-by: Claude Opus 5.5 (Claude Code) <[email protected]>
5.4 KiB
Creating a Basic AI Agent with AutoGPT
Overview
This guide walks through creating a simple question-answer AI agent using AutoGPT's visual builder. This is a basic example that can be expanded into more complex agents.
Prerequisites
Cloud-Hosted AutoGPT
If you're using the cloud-hosted version at agpt.co, you're ready to go! AI blocks come with built-in credits — no API keys required to get started. If you'd prefer to use your own API keys, you can add them via Profile → Integrations.
Self-Hosted (Docker)
If you're running AutoGPT yourself, you'll need to add your own API keys. Where they go depends on how you installed it.
Docker Hub image (significantgravitas/autogpt): the backend reads these keys from the container's environment. Put them in an environment file, for example autogpt.env (or pass each one with -e):
# autogpt.env
OPENAI_API_KEY=sk-your-key-here
ANTHROPIC_API_KEY=sk-ant-your-key-here
# Add other provider keys as needed
Then replace the container so it starts with those keys, keeping the same autogpt-data volume:
docker stop autogpt && docker rm autogpt
# then rerun your original docker run command with --env-file autogpt.env added
Appliance installer: add the keys to the installer's private autogpt.env, then recreate the container as described in Runtime Configuration.
Docker Compose from source: add the same keys to autogpt_platform/backend/.env, then restart the services from autogpt_platform/:
docker compose down && docker compose up -d
AutoPilot has its own provider settings; see Models and memory.
Note: The Calculator example below doesn't require any API credentials — it's a good way to test your setup before adding AI blocks.
Example Agent: Q&A (with AI)
A step-by-step guide to creating a simple Q&A agent using input and output blocks.
Components Required
- Input Block
- AI Text Generator Block
- Output Block
Step-by-Step Instructions
1. Set Up the Basic Structure
- Add an Input Block
- Add an AI Text Generator Block
- Add an Output Block
2. Connect the Components
- Connect the Input Block to the AI Text Generator's Prompt
- Connect the AI Text Generator's response to the Output Block's value
3. Configure Block Names
- Name the Input Block: "question"
- Name the Output Block: "answer"
4. Save the Agent
- Click the Save button
- Name your agent (e.g., "question and answer")
5. Test the Agent
- Click the Run button
- Enter a question in the input field (e.g., "How far is Earth from Pluto?")
- View the results through either:
- The "View More" option
- The "Agent Outputs" section
Viewing Results
You can access the AI's response in two ways:
- Click "View More" for detailed results
- Check the "Agent Outputs" section for the response
Example Agent: Calculator (without AI)
A step-by-step guide to creating a simple calculator agent using input and output blocks.
##Components Required
- Input Block (2 instances)
- Calculator Block
- Output Block
Setup Instructions
1. Adding Input Blocks
- Add two input blocks, positioned one below the other
- Name the first input block "a"
- Name the second input block "b"
2. Adding Calculator Block
- Add a calculator block to your workspace
- Position it after the input blocks
3. Adding Output Block
- Add an output block
- Name it "results"
4. Connecting the Blocks
- Connect the "a" input block to the "a" input on the calculator block
- Connect the "b" input block to the "b" input on the calculator block
- Connect the calculator block's result to the value input of the output block
5. Saving Your Agent
- Name your agent (e.g., "Simple Calculate Agent")
- Save the configuration
Testing Your Calculator
Running Calculations
- Enter values in both input blocks
- Select the desired operation (e.g., multiply)
- Click the "Run" button to execute the calculation
Viewing Results
There are two ways to view the calculation results:
- Click "View More" to see the detailed output
- Check the "Agent Outputs" section, which displays results from the output block
Example Calculation
- Input A: 227
- Input B: 17
- Operation: Multiply
- Expected output will be shown in the results section
Tips
- Always save your agent after making changes
- Verify all connections are properly made before running
- Use the "View More" option for detailed output information
Note
While these are basic example, you can enhance the agent with additional blocks and functionality to create more complex interactions.