Native (default)
Runs managed services on macOS: PHP (concurrent FPM), nginx, MySQL or MariaDB, Redis, plus optional PostgreSQL, MongoDB, Mailpit, Memcached, Meilisearch, RabbitMQ, phpMyAdmin, Adminer, and pgAdmin. Docker Desktop is not required. Install artifacts from Settings → Runtime.
Docker
Runs the same service set via Docker Desktop and Compose. Container rebuild, container shell, and per-container CPU/memory stats are Docker-only.
Switching modes
- Open Settings → Runtime
- Choose Native or Docker
- Save and restart
Projects stay on disk. Service data (MySQL/MariaDB volumes, Redis, etc.) is not shared between modes.
migrate-runtime (opt-in DB copy)
To copy project MySQL/MariaDB databases when changing mode:
- Use the migrate dialog in Settings after switching, or
- CLI:
macstack db migrate-runtime --to native|docker --json
Redis is not migrated. SQL dumps under ~/MacFullStack/dumps are untouched.
.env host sync
On mode switch / migrate, MacFullStack rewrites known project .env hosts when they look like stack defaults:
| Key | Docker | Native |
| DB_HOST / MYSQL_HOST | mysql | 127.0.0.1 |
| REDIS_HOST | redis | 127.0.0.1 |
Custom hosts are left alone. Tools → .env snippets also show both styles.