Если каждый PHP-сайт начинается с docker compose up, а Docker Desktop жрёт RAM на MacBook — Native в MacFullStack даёт тот же MySQL/Redis/nginx/php-fpm без контейнеров на каждый день.
Когда имеет смысл перейти
- Основной стек — PHP + MySQL, без экзотики в compose.
- Нужны HTTPS на .localhost, Mailpit, phpMyAdmin «из коробки» в одном окне.
- Хочется быстрый cold start и меньше нагрева на Apple Silicon.
- Docker оставляете только для изоляции (legacy PHP 7.x, чужой compose).
MacFullStack не заменяет DDEV «один в один» — это другой класс инструмента. Сравнение: /blog/macfullstack-vs-ddev.
План миграции за вечер
- Скачайте MacFullStack, в Настройках выберите Native (по умолчанию).
- Скопируйте или symlink проекты в
~/MacFullStack/www/— не обязательно дублировать гигабайты. - Импорт БД: дамп из контейнера → Инструменты → Базы или
macstack db import. - Проверьте
.env:DB_HOST=127.0.0.1, порты из вкладки Стек (неmysqlиз docker network). - Синхр. vhosts после docroot/aliases — nginx не читает
.htaccess.
Native ↔ Docker в одном приложении
Не нужно «навсегда выбрать сторону»:
- Переключение режима в Настройках; данные сервисов живут отдельно.
- Перенос MySQL/MariaDB между режимами: диалог миграции или
macstack db migrate-runtime --to native|docker --json. - Redis не переносится — сессии/кеш после смены режима пересоздайте или прогрейте заново.
Подробно: /help/migrate-runtime, /help/runtime-modes.
Конфликты портов
Если Docker Desktop всё ещё слушает 3306/8080 — см. Gatekeeper и /help/gatekeeper-ports. Часто достаточно остановить compose-проект или сменить publish-порты.
Что оставить в Docker
- Проект с жёстко зашитым compose и CI = Docker.
- Эксперимент с Postgres/другим сервисом, которого нет в Native-каталоге.
- DDEV для одного Drupal, MacFullStack — для остального
www/.
Free tier: один PHP-проект и полное ядро Native — бесплатный старт. Node/Python proxy и безлимит проектов — Pro.