mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
## Summary - Replaces the arch-conditional chromium install (ARM64 vs AMD64) with a single approach: always use the distro-packaged `chromium` and set `AGENT_BROWSER_EXECUTABLE_PATH=/usr/bin/chromium` - Removes `agent-browser install` entirely (it downloads Chrome for Testing, which has no ARM64 binary) - Removes the `entrypoint.sh` wrapper script that was setting the env var at runtime - Updates `autogpt_platform/db/docker/docker-compose.yml`: removes `external: true` from the network declarations so the Supabase stack can be brought up standalone (needed for the Docker integration tests in the test plan below — without this, `docker compose up` fails unless the platform stack is already running); also sets `GOTRUE_MAILER_AUTOCONFIRM: true` for local dev convenience (no SMTP setup required on first run — this compose file is not used in production) - Updates `autogpt_platform/docker-compose.platform.yml`: mounts the `workspace` volume so agent-browser results (screenshots, snapshots) are accessible from other services; without this the copilot workspace write fails in Docker ## Verification Tested via Docker build on arm64 (Apple Silicon): ``` === Testing agent-browser with system chromium === ✓ Example Domain https://example.com/ === SUCCESS: agent-browser launched with system chromium === ``` agent-browser navigated to example.com in ~1.5s using system chromium (v146 from Debian trixie). ## Test plan - [x] Docker build test on arm64: `agent-browser open https://example.com` succeeds with system chromium - [x] Verify amd64 Docker build still works (CI)
50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "WARNING: This will remove all containers and container data, and will reset the .env file. This action cannot be undone!"
|
|
read -p "Are you sure you want to proceed? (y/N) " -n 1 -r
|
|
echo # Move to a new line
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
|
then
|
|
echo "Operation cancelled."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Stopping and removing all containers..."
|
|
# Use the platform compose to tear everything down so no orphan containers remain
|
|
# (the platform compose manages supabase containers via `extends`, using the
|
|
# standalone supabase compose here would leave orphans that conflict on next start)
|
|
if [ -f "../../docker-compose.yml" ]; then
|
|
docker compose -f ../../docker-compose.yml down -v --remove-orphans
|
|
fi
|
|
docker compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml down -v --remove-orphans
|
|
|
|
echo "Cleaning up bind-mounted directories..."
|
|
BIND_MOUNTS=(
|
|
"./volumes/db/data"
|
|
)
|
|
|
|
for DIR in "${BIND_MOUNTS[@]}"; do
|
|
if [ -d "$DIR" ]; then
|
|
echo "Deleting $DIR..."
|
|
rm -rf "$DIR"
|
|
else
|
|
echo "Directory $DIR does not exist. Skipping bind mount deletion step..."
|
|
fi
|
|
done
|
|
|
|
echo "Resetting .env file..."
|
|
if [ -f ".env" ]; then
|
|
echo "Removing existing .env file..."
|
|
rm -f .env
|
|
else
|
|
echo "No .env file found. Skipping .env removal step..."
|
|
fi
|
|
|
|
if [ -f ".env.default" ]; then
|
|
echo "Copying .env.default to .env..."
|
|
cp .env.default .env
|
|
else
|
|
echo ".env.default file not found. Skipping .env reset step..."
|
|
fi
|
|
|
|
echo "Cleanup complete!" |