One place to orchestrate build → upload → database for shared hosting. Deploy Profiles sit on top of Clients, FTP Manager, and database dumps instead of replacing them.
Requirements and scope
- Pro / Teams only (Free users keep using FTP Manager and dumps manually).
- Targets hosting via FTP/FTPS/SFTP; SSH/VPS is a later phase.
- Profiles live per project and reuse existing hosting credentials from Clients / FTP Manager.
Profiles and steps
- A profile stores:
- Target project and hosting credential
- Remote root path
- Exclude patterns for files and folders
- A checklist of steps with toggles:
- Local commands (composer / npm / artisan, etc.)
- File transfer (upload or mirror)
- Database actions (dump only or dump + import)
- Disabled steps are never executed.
Presets help you start quickly:
- Laravel:
composer install --no-dev --optimize-autoloader, optionalnpm run build, safe file sync, DB dump. - WordPress: file sync with
wp-config.phpprotected by default, optional DB import. - Bitrix: file sync with cache/backup folders excluded, DB dump.
- Blank: an empty checklist you can design yourself.
Dry‑run and dangerous operations
- Dry‑run never writes to the remote filesystem or database; it only plans what would happen:
- counts of files and bytes
- which steps are considered dangerous
- The plan and any later runs are logged under the project.
- Dangerous actions (mirror with deletes, DB import) always require an extra confirmation in the app and a special flag in the CLI.
Typical workflow
- Open the Deploy section or Deploy… from a project card.
- Pick a project and click New profile, choosing a preset (Laravel / WordPress / Bitrix / Blank).
- Check the hosting credential and remote path.
- Review the steps, enable or disable what you need.
- Run Dry‑run to see the plan and dangerous summary.
- When the plan looks correct, run Run selected, confirm dangerous steps if requested, and watch the log.
See also Projects, FTP Manager, Clients, Backups and snapshots.