Bumps the development-dependencies group with 4 updates in the /autogpt_platform/autogpt_libs directory: [pyright](https://github.com/RobertCraigie/pyright-python), [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio), [pytest-mock](https://github.com/pytest-dev/pytest-mock) and [ruff](https://github.com/astral-sh/ruff). Updates `pyright` from 1.1.404 to 1.1.407 <details> <summary>Commits</summary> <ul> <li><a href="53e8efb463"><code>53e8efb</code></a> Pyright NPM Package update to 1.1.407 (<a href="https://redirect.github.com/RobertCraigie/pyright-python/issues/356">#356</a>)</li> <li><a href="1d515b7129"><code>1d515b7</code></a> Pyright NPM Package update to 1.1.406 (<a href="https://redirect.github.com/RobertCraigie/pyright-python/issues/355">#355</a>)</li> <li><a href="e211ec8df8"><code>e211ec8</code></a> Pyright NPM Package update to 1.1.405 (<a href="https://redirect.github.com/RobertCraigie/pyright-python/issues/353">#353</a>)</li> <li>See full diff in <a href="https://github.com/RobertCraigie/pyright-python/compare/v1.1.404...v1.1.407">compare view</a></li> </ul> </details> <br /> Updates `pytest-asyncio` from 1.1.0 to 1.3.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's releases</a>.</em></p> <blockquote> <h2>pytest-asyncio 1.3.0</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.3.0">1.3.0</a> - 2025-11-10</h1> <h2>Removed</h2> <ul> <li>Support for Python 3.9 (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1278">#1278</a>)</li> </ul> <h2>Added</h2> <ul> <li>Support for pytest 9 (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1279">#1279</a>)</li> </ul> <h2>Notes for Downstream Packagers</h2> <ul> <li>Tested Python versions include free threaded Python 3.14t (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1274">#1274</a>)</li> <li>Tests are run in the same pytest process, instead of spawning a subprocess with <code>pytest.Pytester.runpytest_subprocess</code>. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1275">#1275</a>)</li> </ul> <h2>pytest-asyncio 1.2.0</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/1.2.0">1.2.0</a> - 2025-09-12</h1> <h2>Added</h2> <ul> <li><code>--asyncio-debug</code> CLI option and <code>asyncio_debug</code> configuration option to enable asyncio debug mode for the default event loop. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/980">#980</a>)</li> <li>A <code>pytest.UsageError</code> for invalid configuration values of <code>asyncio_default_fixture_loop_scope</code> and <code>asyncio_default_test_loop_scope</code>. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1189">#1189</a>)</li> <li>Compatibility with the Pyright type checker (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/731">#731</a>)</li> </ul> <h2>Fixed</h2> <ul> <li><code>RuntimeError: There is no current event loop in thread 'MainThread'</code> when any test unsets the event loop (such as when using <code>asyncio.run</code> and <code>asyncio.Runner</code>). (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1177">#1177</a>)</li> <li>Deprecation warning when decorating an asynchronous fixture with <code>@pytest.fixture</code> in [strict]{.title-ref} mode. The warning message now refers to the correct package. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1198">#1198</a>)</li> </ul> <h2>Notes for Downstream Packagers</h2> <ul> <li>Bump the minimum required version of tox to v4.28. This change is only relevant if you use the <code>tox.ini</code> file provided by pytest-asyncio to run tests.</li> <li>Extend dependency on typing-extensions>=4.12 from Python<3.10 to Python<3.13.</li> </ul> <h2>pytest-asyncio 1.1.1</h2> <h1><a href="https://github.com/pytest-dev/pytest-asyncio/tree/v1.1.1">v1.1.1</a> - 2025-09-12</h1> <h2>Notes for Downstream Packagers</h2> <p>- Addresses a build problem with setuptoos-scm >= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (<a href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/1192">#1192</a>)</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="2e9695fcf8"><code>2e9695f</code></a> docs: Compile changelog for v1.3.0</li> <li><a href="dd0e9ba3fa"><code>dd0e9ba</code></a> docs: Reference correct issue in news fragment.</li> <li><a href="4c31abe5bf"><code>4c31abe</code></a> Build(deps): Bump nh3 from 0.3.1 to 0.3.2</li> <li><a href="13e94770d7"><code>13e9477</code></a> Link to migration guides from changelog</li> <li><a href="4d2cf3c36f"><code>4d2cf3c</code></a> tests: handle Python 3.14 DefaultEventLoopPolicy deprecation warnings</li> <li><a href="ee3549b6ef"><code>ee3549b</code></a> test: Remove obsolete test for the event_loop fixture.</li> <li><a href="7a67c82c5a"><code>7a67c82</code></a> tests: Fix failing test by preventing warning conversion to error.</li> <li><a href="a17b689a75"><code>a17b689</code></a> test: add pytest config to isolated test directories</li> <li><a href="18afc9df5a"><code>18afc9d</code></a> fix(tests): replace runpytest_subprocess with runpytest</li> <li><a href="cdc6bd1de7"><code>cdc6bd1</code></a> Add support for pytest 9 and drop Python 3.9 support</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-asyncio/compare/v1.1.0...v1.3.0">compare view</a></li> </ul> </details> <br /> Updates `pytest-mock` from 3.14.1 to 3.15.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/releases">pytest-mock's releases</a>.</em></p> <blockquote> <h2>v3.15.1</h2> <p><em>2025-09-16</em></p> <ul> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/529">#529</a>: Fixed <code>itertools._tee object has no attribute error</code> -- now <code>duplicate_iterators=True</code> must be passed to <code>mocker.spy</code> to duplicate iterators.</li> </ul> <h2>v3.15.0</h2> <p><em>2025-09-04</em></p> <ul> <li>Python 3.8 (EOL) is no longer supported.</li> <li><a href="https://redirect.github.com/pytest-dev/pytest-mock/pull/524">#524</a>: Added <code>spy_return_iter</code> to <code>mocker.spy</code>, which contains a duplicate of the return value of the spied method if it is an <code>Iterator</code>.</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst">pytest-mock's changelog</a>.</em></p> <blockquote> <h2>3.15.1</h2> <p><em>2025-09-16</em></p> <ul> <li><code>[#529](https://github.com/pytest-dev/pytest-mock/issues/529) <https://github.com/pytest-dev/pytest-mock/issues/529></code>_: Fixed <code>itertools._tee object has no attribute error</code> -- now <code>duplicate_iterators=True</code> must be passed to <code>mocker.spy</code> to duplicate iterators.</li> </ul> <h2>3.15.0</h2> <p><em>2025-09-04</em></p> <ul> <li>Python 3.8 (EOL) is no longer supported.</li> <li><code>[#524](https://github.com/pytest-dev/pytest-mock/issues/524) <https://github.com/pytest-dev/pytest-mock/pull/524></code>_: Added <code>spy_return_iter</code> to <code>mocker.spy</code>, which contains a duplicate of the return value of the spied method if it is an <code>Iterator</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="e1b5c62a38"><code>e1b5c62</code></a> Release 3.15.1</li> <li><a href="184eb190d6"><code>184eb19</code></a> Set <code>spy_return_iter</code> only when explicitly requested (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/537">#537</a>)</li> <li><a href="4fa0088a0a"><code>4fa0088</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/536">#536</a>)</li> <li><a href="f5aff33ce7"><code>f5aff33</code></a> Fix test failure with pytest 8+ and verbose mode (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/535">#535</a>)</li> <li><a href="adc41873c9"><code>adc4187</code></a> Bump actions/setup-python from 5 to 6 in the github-actions group (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/533">#533</a>)</li> <li><a href="95ad570060"><code>95ad570</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/532">#532</a>)</li> <li><a href="e696bf02c1"><code>e696bf0</code></a> Fix standalone mock support (<a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/531">#531</a>)</li> <li><a href="5b29b03ce9"><code>5b29b03</code></a> Fix gen-release-notes script</li> <li><a href="7d22ef4e56"><code>7d22ef4</code></a> Merge pull request <a href="https://redirect.github.com/pytest-dev/pytest-mock/issues/528">#528</a> from pytest-dev/release-3.15.0</li> <li><a href="90b29f89e2"><code>90b29f8</code></a> Update CHANGELOG for 3.15.0</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-mock/compare/v3.14.1...v3.15.1">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.12.11 to 0.14.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.14.4</h2> <h2>Release Notes</h2> <p>Released on 2025-11-06.</p> <h3>Preview features</h3> <ul> <li>[formatter] Allow newlines after function headers without docstrings (<a href="https://redirect.github.com/astral-sh/ruff/pull/21110">#21110</a>)</li> <li>[formatter] Avoid extra parentheses for long <code>match</code> patterns with <code>as</code> captures (<a href="https://redirect.github.com/astral-sh/ruff/pull/21176">#21176</a>)</li> <li>[<code>refurb</code>] Expand fix safety for keyword arguments and <code>Decimal</code>s (<code>FURB164</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21259">#21259</a>)</li> <li>[<code>refurb</code>] Preserve argument ordering in autofix (<code>FURB103</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/20790">#20790</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[server] Fix missing diagnostics for notebooks (<a href="https://redirect.github.com/astral-sh/ruff/pull/21156">#21156</a>)</li> <li>[<code>flake8-bugbear</code>] Ignore non-NFKC attribute names in <code>B009</code> and <code>B010</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/21131">#21131</a>)</li> <li>[<code>refurb</code>] Fix false negative for underscores before sign in <code>Decimal</code> constructor (<code>FURB157</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21190">#21190</a>)</li> <li>[<code>ruff</code>] Fix false positives on starred arguments (<code>RUF057</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21256">#21256</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>airflow</code>] extend deprecated argument <code>concurrency</code> in <code>airflow..DAG</code> (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21220">#21220</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Improve <code>extend</code> docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/21135">#21135</a>)</li> <li>[<code>flake8-comprehensions</code>] Fix typo in <code>C416</code> documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/21184">#21184</a>)</li> <li>Revise Ruff setup instructions for Zed editor (<a href="https://redirect.github.com/astral-sh/ruff/pull/20935">#20935</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Make <code>ruff analyze graph</code> work with jupyter notebooks (<a href="https://redirect.github.com/astral-sh/ruff/pull/21161">#21161</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/Lee-W"><code>@Lee-W</code></a></li> <li><a href="https://github.com/musicinmybrain"><code>@musicinmybrain</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/tjkuson"><code>@tjkuson</code></a></li> <li><a href="https://github.com/danparizher"><code>@danparizher</code></a></li> <li><a href="https://github.com/renovate"><code>@renovate</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/gauthsvenkat"><code>@gauthsvenkat</code></a></li> <li><a href="https://github.com/LoicRiegel"><code>@LoicRiegel</code></a></li> </ul> <h2>Install ruff 0.14.4</h2> <h3>Install prebuilt binaries via shell script</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.14.4</h2> <p>Released on 2025-11-06.</p> <h3>Preview features</h3> <ul> <li>[formatter] Allow newlines after function headers without docstrings (<a href="https://redirect.github.com/astral-sh/ruff/pull/21110">#21110</a>)</li> <li>[formatter] Avoid extra parentheses for long <code>match</code> patterns with <code>as</code> captures (<a href="https://redirect.github.com/astral-sh/ruff/pull/21176">#21176</a>)</li> <li>[<code>refurb</code>] Expand fix safety for keyword arguments and <code>Decimal</code>s (<code>FURB164</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21259">#21259</a>)</li> <li>[<code>refurb</code>] Preserve argument ordering in autofix (<code>FURB103</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/20790">#20790</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[server] Fix missing diagnostics for notebooks (<a href="https://redirect.github.com/astral-sh/ruff/pull/21156">#21156</a>)</li> <li>[<code>flake8-bugbear</code>] Ignore non-NFKC attribute names in <code>B009</code> and <code>B010</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/21131">#21131</a>)</li> <li>[<code>refurb</code>] Fix false negative for underscores before sign in <code>Decimal</code> constructor (<code>FURB157</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21190">#21190</a>)</li> <li>[<code>ruff</code>] Fix false positives on starred arguments (<code>RUF057</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21256">#21256</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>[<code>airflow</code>] extend deprecated argument <code>concurrency</code> in <code>airflow..DAG</code> (<code>AIR301</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/21220">#21220</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Improve <code>extend</code> docs (<a href="https://redirect.github.com/astral-sh/ruff/pull/21135">#21135</a>)</li> <li>[<code>flake8-comprehensions</code>] Fix typo in <code>C416</code> documentation (<a href="https://redirect.github.com/astral-sh/ruff/pull/21184">#21184</a>)</li> <li>Revise Ruff setup instructions for Zed editor (<a href="https://redirect.github.com/astral-sh/ruff/pull/20935">#20935</a>)</li> </ul> <h3>Other changes</h3> <ul> <li>Make <code>ruff analyze graph</code> work with jupyter notebooks (<a href="https://redirect.github.com/astral-sh/ruff/pull/21161">#21161</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/chirizxc"><code>@chirizxc</code></a></li> <li><a href="https://github.com/Lee-W"><code>@Lee-W</code></a></li> <li><a href="https://github.com/musicinmybrain"><code>@musicinmybrain</code></a></li> <li><a href="https://github.com/MichaReiser"><code>@MichaReiser</code></a></li> <li><a href="https://github.com/tjkuson"><code>@tjkuson</code></a></li> <li><a href="https://github.com/danparizher"><code>@danparizher</code></a></li> <li><a href="https://github.com/renovate"><code>@renovate</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/gauthsvenkat"><code>@gauthsvenkat</code></a></li> <li><a href="https://github.com/LoicRiegel"><code>@LoicRiegel</code></a></li> </ul> <h2>0.14.3</h2> <p>Released on 2025-10-30.</p> <h3>Preview features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="c7ff9826d6"><code>c7ff982</code></a> Bump 0.14.4 (<a href="https://redirect.github.com/astral-sh/ruff/issues/21306">#21306</a>)</li> <li><a href="35640dd853"><code>35640dd</code></a> Fix main by using <code>infer_expression</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/21299">#21299</a>)</li> <li><a href="cb2e277482"><code>cb2e277</code></a> [ty] Understand legacy and PEP 695 <code>ParamSpec</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/21139">#21139</a>)</li> <li><a href="132d10fb6f"><code>132d10f</code></a> [ty] Discover site-packages from the environment that ty is installed in (<a href="https://redirect.github.com/astral-sh/ruff/issues/21">#21</a>...</li> <li><a href="f189aad6d2"><code>f189aad</code></a> [ty] Make special cases for <code>UnionType</code> slightly narrower (<a href="https://redirect.github.com/astral-sh/ruff/issues/21276">#21276</a>)</li> <li><a href="5517c9943a"><code>5517c99</code></a> Require ignore 0.4.24 in <code>Cargo.toml</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/21292">#21292</a>)</li> <li><a href="b5ff96595d"><code>b5ff965</code></a> [ty] Favour imported symbols over builtin symbols (<a href="https://redirect.github.com/astral-sh/ruff/issues/21285">#21285</a>)</li> <li><a href="c6573b16ac"><code>c6573b1</code></a> docs: revise Ruff setup instructions for Zed editor (<a href="https://redirect.github.com/astral-sh/ruff/issues/20935">#20935</a>)</li> <li><a href="76127e5fb5"><code>76127e5</code></a> [ty] Update salsa (<a href="https://redirect.github.com/astral-sh/ruff/issues/21281">#21281</a>)</li> <li><a href="cddc0fedc2"><code>cddc0fe</code></a> [syntax-error]: no binding for nonlocal PLE0117 as a semantic syntax error (...</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.12.11...0.14.4">compare view</a></li> </ul> </details> <br /> You can trigger a rebase of this PR by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Nick Tindle <nick@ntindle.com>
AutoGPT Platform
Welcome to the AutoGPT Platform - a powerful system for creating and running AI agents to solve business problems. This platform enables you to harness the power of artificial intelligence to automate tasks, analyze data, and generate insights for your organization.
Getting Started
Prerequisites
- Docker
- Docker Compose V2 (comes with Docker Desktop, or can be installed separately)
Running the System
To run the AutoGPT Platform, follow these steps:
-
Clone this repository to your local machine and navigate to the
autogpt_platformdirectory within the repository:git clone <https://github.com/Significant-Gravitas/AutoGPT.git | git@github.com:Significant-Gravitas/AutoGPT.git> cd AutoGPT/autogpt_platform -
Run the following command:
cp .env.default .envThis command will copy the
.env.defaultfile to.env. You can modify the.envfile to add your own environment variables. -
Run the following command:
docker compose up -dThis command will start all the necessary backend services defined in the
docker-compose.ymlfile in detached mode. -
After all the services are in ready state, open your browser and navigate to
http://localhost:3000to access the AutoGPT Platform frontend.
Running Just Core services
You can now run the following to enable just the core services.
# For help
make help
# Run just Supabase + Redis + RabbitMQ
make start-core
# Stop core services
make stop-core
# View logs from core services
make logs-core
# Run formatting and linting for backend and frontend
make format
# Run migrations for backend database
make migrate
# Run backend server
make run-backend
# Run frontend development server
make run-frontend
Docker Compose Commands
Here are some useful Docker Compose commands for managing your AutoGPT Platform:
docker compose up -d: Start the services in detached mode.docker compose stop: Stop the running services without removing them.docker compose rm: Remove stopped service containers.docker compose build: Build or rebuild services.docker compose down: Stop and remove containers, networks, and volumes.docker compose watch: Watch for changes in your services and automatically update them.
Sample Scenarios
Here are some common scenarios where you might use multiple Docker Compose commands:
-
Updating and restarting a specific service:
docker compose build api_srv docker compose up -d --no-deps api_srvThis rebuilds the
api_srvservice and restarts it without affecting other services. -
Viewing logs for troubleshooting:
docker compose logs -f api_srv ws_srvThis shows and follows the logs for both
api_srvandws_srvservices. -
Scaling a service for increased load:
docker compose up -d --scale executor=3This scales the
executorservice to 3 instances to handle increased load. -
Stopping the entire system for maintenance:
docker compose stop docker compose rm -f docker compose pull docker compose up -dThis stops all services, removes containers, pulls the latest images, and restarts the system.
-
Developing with live updates:
docker compose watchThis watches for changes in your code and automatically updates the relevant services.
-
Checking the status of services:
docker compose psThis shows the current status of all services defined in your docker-compose.yml file.
These scenarios demonstrate how to use Docker Compose commands in combination to manage your AutoGPT Platform effectively.
Persisting Data
To persist data for PostgreSQL and Redis, you can modify the docker-compose.yml file to add volumes. Here's how:
-
Open the
docker-compose.ymlfile in a text editor. -
Add volume configurations for PostgreSQL and Redis services:
services: postgres: # ... other configurations ... volumes: - postgres_data:/var/lib/postgresql/data redis: # ... other configurations ... volumes: - redis_data:/data volumes: postgres_data: redis_data: -
Save the file and run
docker compose up -dto apply the changes.
This configuration will create named volumes for PostgreSQL and Redis, ensuring that your data persists across container restarts.
API Client Generation
The platform includes scripts for generating and managing the API client:
pnpm fetch:openapi: Fetches the OpenAPI specification from the backend service (requires backend to be running on port 8006)pnpm generate:api-client: Generates the TypeScript API client from the OpenAPI specification using Orvalpnpm generate:api: Runs both fetch and generate commands in sequence
Manual API Client Updates
If you need to update the API client after making changes to the backend API:
-
Ensure the backend services are running:
docker compose up -d -
Generate the updated API client:
pnpm generate:api
This will fetch the latest OpenAPI specification and regenerate the TypeScript client code.