Migrate from Laravel Sail
Switch from Sail to DAMP
Migration Steps
Stop Sail
Stop all Sail containers:
# In your project directory
./vendor/bin/sail downAdd Project to DAMP
- Launch DAMP
- Click "Add Project"
- Select "Existing Project"
- Configure:
- Name: Your project name
- Path: Your project folder
- PHP Version: Match your
docker-compose.ymlPHP version
Install Services
Check your docker-compose.yml and install equivalent services:
- MySQL - For database (
mysqlservice) - Redis - For caching/queues (
redisservice) - Meilisearch - For search (
meilisearchservice) - Mailpit - For email testing (
mailpitservice)
Go to Services page → Click "Install" for each service.
Migrate Database (Optional)
If you have existing data, export and import:
Option 1: Command Line
# Export from Sail
./vendor/bin/sail mysql -u sail -p sail > backup.sql
# Import to DAMP (inside VS Code DevContainer)
mysql -h damp-mysql -u damp -pdamp damp < backup.sqlOption 2: GUI Tools
Use database management tools like TablePlus, DBeaver, or HeidiSQL:
- Export from Sail: Connect to
localhost:3306, export database as SQL - Import to DAMP: Get MySQL port from DAMP Services page, connect to
localhost:{port}, import SQL file
Connection details for DAMP MySQL:
- Host:
localhost - Port: Check DAMP app (Services page)
- Username:
damp - Password:
damp - Database:
damp
Update Configuration
Open project in VS Code DevContainer and update .env:
# Update database connection
DB_HOST=damp-mysql
DB_DATABASE=damp
DB_USERNAME=damp
DB_PASSWORD=damp
# Update Redis (if using)
REDIS_HOST=damp-redis
# Update Meilisearch (if using)
MEILISEARCH_HOST=http://damp-meilisearch:7700
# Update Mail (if using)
MAIL_HOST=damp-mailpit
MAIL_PORT=1025Clean Up Sail Files (Optional)
After verifying everything works, you can remove:
docker-compose.yml
docker/Test Project
- Click "Open in VS Code" in DAMP
- Reopen in Container when prompted
- Browse to
https://yourproject.local - Install SSL certificate if prompted
Configuration Changes
Generated Files
DAMP adds these files to your project:
your-project/
├── .devcontainer/
│ └── devcontainer.json
├── .vscode/
│ └── launch.json
├── Dockerfile
├── docker-compose.yml
└── .dockerignoreService Hostnames
Service names are automatically generated by Docker. Get actual service names and ports from the DAMP app (Services page).
Default pattern:
| Service | Sail | DAMP |
|---|---|---|
| Database | mysql | damp-mysql |
| Redis | redis | damp-redis |
| Meilisearch | meilisearch | damp-meilisearch |
mailpit | damp-mailpit |
Domain Format
| Tool | Format |
|---|---|
| Sail | http://localhost |
| DAMP | https://project.local |
Commands
| Task | Sail | DAMP |
|---|---|---|
| Artisan | ./vendor/bin/sail artisan | php artisan |
| Composer | ./vendor/bin/sail composer | composer |
| npm | ./vendor/bin/sail npm | npm |
| MySQL | ./vendor/bin/sail mysql | mysql -h damp-mysql |
Run commands directly in DevContainer (no wrapper needed).