Summary
Пошаговое руководство по развертыванию AnythingMCP на любом сервере Linux с использованием Docker Compose, с автоматическим SSL через обратный прокси Caddy.
Предварительные требования
Перед началом убедись, что на твоём сервере установлены:
- Docker и Docker Compose
- Открыты порты 80 и 443 (если используется HTTPS)
- Доменное имя, указывающее на твой сервер (необязательно, требуется для SSL)
Клонирование и запуск настройки
git clone https://github.com/HelpCode-ai/anythingmcp.git
cd anythingmcp
bash setup.sh
Интерактивный мастер проведет тебя через:
- Режим развертывания — выбери Docker (рекомендуется)
- Домен и порты — введи твой домен для автоматического включения HTTPS через Caddy
- Аутентификация MCP — OAuth 2.0, API-ключ или оба
- Электронная почта (SMTP) — необязательно, для подтверждения и сброса пароля
- Redis — необязательно, для ограничения частоты запросов и кэширования
Все секреты (JWT, ключ шифрования, пароль базы данных) генерируются автоматически.
Что делает setup.sh
Скрипт обрабатывает полный процесс развертывания:
- Генерирует
.envс безопасными случайными секретами - Создает
Caddyfileдля автоматического получения SSL от Let's Encrypt (при наличии домена) - При необходимости добавляет Redis через
docker-compose.override.yml - Запускает
docker compose up -d --buildдля старта всех сервисов
Приложение работает как один контейнер с бэкендом на NestJS (порт 4000) и фронтендом на Next.js (порт 3000), вместе с PostgreSQL 17.
HTTPS с Caddy
Когда ты вводишь реальный домен во время настройки, Caddy настраивается автоматически:
- Порты приложения связываются только с
127.0.0.1(не доступны публично) - Caddy обрабатывает весь трафик на портах 80 и 443
- SSL-сертификаты предоставляются и обновляются Let's Encrypt
Не требуется ручное управление сертификатами.
Проверка развертывания
Проверь, что все контейнеры работают:
docker compose ps
Проверь состояние бэкенда:
curl http://localhost:4000/health
Открой панель управления:
- С Caddy:
https://yourdomain.com - Без Caddy:
http://your-server-ip:3000
Первый зарегистрировавшийся пользователь становится администратором.
Обновление AnythingMCP
git pull
docker compose up -d --build
Миграции базы данных выполняются автоматически при запуске.
Устранение неполадок
Конфликты портов
sudo lsof -i :80
sudo lsof -i :443
Останови конфликтующие сервисы или отключи Caddy, чтобы получить доступ к приложению напрямую на портах 3000/4000.
Проблемы с базой данных
Если ты изменили учетные данные в .env, сбросьте объем базы данных:
docker compose down -v
docker compose up -d
Проверка логов
docker compose logs -f # все сервисы
docker compose logs -f app # только приложение
docker compose logs -f caddy # только caddy
Проблемы с сертификатом Caddy
Убедись, что A-запись твоего домена указывает на сервер, и порты 80/443 доступны для проверки ACME.
Это руководство помогло?