CrewAI в Docker на своём сервере: коротко и с данными
Конспект страницы: 5 разделов коротко, данные на 14 октября 2026 и ответы на 3 вопроса. Полный разбор с примерами: CrewAI в Docker на своём сервере.
Коротко
CrewAI в Docker это ваш Python-проект с командой агентов, упакованный в образ: готового образа у фреймворка нет, потому что CrewAI библиотека, а не сервер. На VPS команду агентов обычно запускают из HTTP-обработчика или фоновой очереди, а языковая модель отвечает по API. Для одного проекта хватит 1 ядра и 2 ГБ памяти.
Конспект по разделам
Что такое CrewAI и что разворачивают на сервере
CrewAI это открытый Python-фреймворк для многоагентных сценариев под лицензией MIT. В нём два уровня: Crews, где агенты с ролями сами договариваются о задаче, и Flows, где вы задаёте шаги, ветвления и состояние явно. Проект создаётся командой crewai create crew и запускается командой crewai run.
Как устроен сервер с проектом на CrewAI
Запуск команды агентов занимает минуты: каждый агент делает несколько обращений к модели. Если держать HTTP-запрос открытым всё это время, его оборвёт обратный прокси или клиент. Поэтому API возвращает номер задачи сразу, а результат забирают отдельным запросом.
Dockerfile для проекта CrewAI
Порт 8000 публикуйте только на 127.0.0.1 и ставьте перед ним прокси с HTTPS. Python в образе должен попадать в диапазон фреймворка: от 3.10 до 3.13 включительно.
- Создайте проект командой crewai create crew.
- Зафиксируйте зависимости: crewai install создаст окружение uv, файл uv.lock кладите в репозиторий.
- Добавьте точку входа: файл api.py с FastAPI или скрипт воркера.
- Соберите образ по Dockerfile ниже и запустите с --env-file.env.
Какие модели подключить к CrewAI на сервере
По умолчанию агенты CrewAI обращаются к OpenAI API. Модель задаётся строкой вида провайдер/модель в переменной MODEL, а свой адрес OpenAI-совместимого API указывается в OPENAI_BASE_URL или параметром base_url. Так подключается AI Gateway с оплатой в рублях: код агентов менять не нужно.
Сколько ресурсов нужно проекту на CrewAI
Пока модель отвечает по API, процесс CrewAI почти всё время ждёт ответа сети. Память добавляют под параллельные запуски, браузер или парсер сайтов в инструментах и под поиск по документам, если эмбеддинги считаются на сервере. Сам фреймворк лёгкий, нагрузку дают параллельные запуски и инструменты
Данные
| Часть | Что делает | Нужна ли |
|---|---|---|
| HTTP-сервис на FastAPI | Принимает задачу, отдаёт статус и результат | Если запуск идёт из сайта или CRM |
| Воркер | Вызывает crew.kickoff(inputs=...) и ждёт, пока агенты закончат | Да, если запуск дольше нескольких секунд |
| Redis | Очередь между API и воркерами | При нескольких запусках одновременно |
| PostgreSQL | История задач и результатов | По желанию |
Данные на 14 октября 2026.
Вопросы и ответы
Есть ли официальный Docker-образ CrewAI?
Готового образа фреймворка для своих серверов нет: CrewAI ставится как Python-пакет в ваш проект. Образ собирают сами на основе python:3.12-slim, управляемый деплой есть в коммерческом CrewAI AMP.
Почему задача CrewAI обрывается по таймауту на сервере?
Скорее всего, команда агентов запускается прямо в HTTP-запросе и не успевает до таймаута прокси. Перенесите запуск в фоновый воркер и отдавайте клиенту номер задачи.
Какая версия Python нужна CrewAI?
От 3.10 и ниже 3.14. Зависимостями проекта управляет uv, его ставят официальным скриптом с astral.sh.