Damp

Migrate from Laravel Sail

Switch from Sail to DAMP

Migration Steps

Stop Sail

Stop all Sail containers:

# In your project directory
./vendor/bin/sail down

Add Project to DAMP

  1. Launch DAMP
  2. Click "Add Project"
  3. Select "Existing Project"
  4. Configure:
    • Name: Your project name
    • Path: Your project folder
    • PHP Version: Match your docker-compose.yml PHP version

Install Services

Check your docker-compose.yml and install equivalent services:

  • MySQL - For database (mysql service)
  • Redis - For caching/queues (redis service)
  • Meilisearch - For search (meilisearch service)
  • Mailpit - For email testing (mailpit service)

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.sql

Option 2: GUI Tools

Use database management tools like TablePlus, DBeaver, or HeidiSQL:

  1. Export from Sail: Connect to localhost:3306, export database as SQL
  2. 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=1025

Clean Up Sail Files (Optional)

After verifying everything works, you can remove:

docker-compose.yml
docker/

Test Project

  1. Click "Open in VS Code" in DAMP
  2. Reopen in Container when prompted
  3. Browse to https://yourproject.local
  4. 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
└── .dockerignore

Service Hostnames

Service names are automatically generated by Docker. Get actual service names and ports from the DAMP app (Services page).

Default pattern:

ServiceSailDAMP
Databasemysqldamp-mysql
Redisredisdamp-redis
Meilisearchmeilisearchdamp-meilisearch
Mailmailpitdamp-mailpit

Domain Format

ToolFormat
Sailhttp://localhost
DAMPhttps://project.local

Commands

TaskSailDAMP
Artisan./vendor/bin/sail artisanphp artisan
Composer./vendor/bin/sail composercomposer
npm./vendor/bin/sail npmnpm
MySQL./vendor/bin/sail mysqlmysql -h damp-mysql

Run commands directly in DevContainer (no wrapper needed).

Troubleshooting

On this page