Native ↔ Docker

Two modes with service parity; database data is not shared between modes.

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

  1. Open Settings → Runtime
  2. Choose Native or Docker
  3. 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:

  1. Use the migrate dialog in Settings after switching, or
  2. 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.

See also

Download Pro Teams