Skip to main content

AutoGPT - Self-Hosting

What's this about?

This page walks you through running the AutoGPT Platform locally with Docker. There are two paths: a one-line installer that does everything for you, and a manual clone-and-compose setup that gives you full control. Both end with the Agent Builder reachable at http://localhost:3000. New to the platform? Read the overview first.

Source

The steps below follow the official self-hosting guide at agpt.co/docs/platform/self-hosting/getting-started and the repository (autogpt_platform/docker-compose.yml, .env.default), reviewed June 25, 2026. Self-hosting is a genuinely technical process; if you'd rather have something managed, AutoGPT also offers a cloud-hosted beta (waitlist).

1. System requirementsโ€‹

Hardwareโ€‹

ResourceMinimumRecommended
CPU2 cores4+ cores
RAM8 GB16 GB
Storage10 GB freemore, the Docker images are large

The full stack runs ~15 containers (backend services + Supabase + queue + cache + antivirus), so a 4-core / 16 GB machine is realistic for comfortable local development.

Softwareโ€‹

SoftwareMinimum version
Docker Engine20.10.0
Docker Compose2.0.0
Git2.30
Node.js16.x
npm8.x
EditorVSCode 1.60+ or equivalent

Supported operating systems: Linux (Ubuntu 20.04+), macOS (10.15+), Windows 10/11 with WSL2.

Verify your toolchain before you start:

node -v
npm -v
docker -v
docker compose -v
git --version
Windows: use WSL2, not Hyper-V

On Windows, run the whole setup inside a WSL2 distribution. The Supabase containers are known to misbehave under the Hyper-V backend. Install Docker Desktop with the WSL2 backend enabled and clone the repo into your Linux home directory, not a /mnt/c/... path.

The fastest path. The script installs dependencies, configures Docker and launches a local instance.

macOS / Linux:

curl -fsSL https://setup.agpt.co/install.sh -o install.sh && bash install.sh

Windows (PowerShell):

powershell -c "iwr https://setup.agpt.co/install.bat -o install.bat; ./install.bat"
Inspect before you run

Piping a remote script into a shell runs whatever that URL serves. If you'd rather see what it does first, download install.sh and read it before executing โ€” the command above already saves it to disk (-o install.sh) rather than piping straight into bash, so just open the file before the second step.

When it finishes, jump to ยง5 to open the app.

3. Option B โ€” manual setupโ€‹

Full control, and what you'll use day-to-day as a contributor.

1. Clone the repository and enter the platform folder:

git clone https://github.com/Significant-Gravitas/AutoGPT.git
cd AutoGPT/autogpt_platform

2. Create your environment file from the provided template:

cp .env.default .env

There is also a backend/.env.default; copy it the same way if you intend to change backend settings (see ยง4).

3. Build and start the whole stack in the background:

docker compose up -d --build

The first build pulls and builds many images and can take a while. Subsequent starts are fast.

4. Follow the logs (optional) to watch services come up:

docker compose logs -f

Makefile shortcutsโ€‹

The platform also ships a Makefile with convenience targets that wrap the Docker and dev-server commands. Common ones:

make start-core     # start the core backend services
make run-backend # run the backend
make run-frontend # run the frontend dev server

If a target name has changed, run make help (or open the Makefile) to see what's available in your checkout โ€” the canonical commands are always the docker compose ones above.

4. Environment configurationโ€‹

The .env file you created from .env.default holds the configuration for the stack. For a quick local run the defaults work as-is. Two things are worth knowing:

  • Encryption key โ€” the backend uses an encryption key (in the backend .env) to protect stored credentials. The default value is fine for throwaway local use, but change it before exposing the instance to anyone else.
  • Provider credentials โ€” to use blocks that call external services (OpenAI, Anthropic, GitHub, โ€ฆ) you add API keys either through the UI at run time or via environment variables. You do not need any of these to start the platform; you only need them for the specific blocks you run.
Never commit your .env

.env contains secrets (encryption keys, API keys). It is git-ignored by default โ€” keep it that way. Do not paste real provider keys into screenshots, issues or shared logs.

5. Accessing the platformโ€‹

Once the containers are healthy, the services are reachable on these local ports:

ServicePortURL
Frontend UI (Agent Builder)3000http://localhost:3000
Backend websocket8001ws://localhost:8001
Backend REST / execution API8006http://localhost:8006

Open http://localhost:3000 in your browser, create a local account, and you're in the Agent Builder.

Exact ports can drift

3000 for the frontend is stable and the one you'll use. The backend port mappings are defined in docker-compose.yml (and the base compose file it extends); if 8001/8006 don't respond, check the actual ports: mappings in your checkout or the official getting-started guide, since they can change between releases.

6. Day-to-day operationsโ€‹

# stop the stack (keeps data)
docker compose down

# stop and wipe volumes (fresh start โ€” deletes the local DB!)
docker compose down -v

# rebuild after pulling new code
git pull
docker compose up -d --build

# check what's running / unhealthy
docker compose ps

7. Troubleshootingโ€‹

SymptomLikely cause & fix
localhost:3000 won't loadFrontend container still building/starting. Check docker compose ps and docker compose logs -f frontend.
Supabase / auth / db containers crash-loop on WindowsYou're on the Hyper-V backend. Switch Docker Desktop to WSL2 and clone into the Linux filesystem (ยง1).
Port already in useAnother process holds 3000/8006/5432. Stop it, or change the host-side port mapping in docker-compose.yml.
Build runs out of disk / memoryFree up space (images are large) and raise Docker's RAM allocation; the stack wants ~8 GB+.
Blocks that call external APIs failMissing/invalid provider credentials. Add the API key for that provider (ยง4).
Stale state after an upgradedocker compose down -v then docker compose up -d --build for a clean slate (this wipes local data).

8. Next stepsโ€‹

  • Build something: open the Agent Builder and connect a few blocks into an agent.
  • Extend the platform: Building Blocks shows how to add your own block to the library.
  • Background on the architecture and concepts: the overview.

9. Sourcesโ€‹