Deployments tab
Deployments is an inner section of the Development tab on a hosting's detail page in the panel. It manages Git repositories and deploys your application without needing your own SSH client.
When the section is visible
Development with the Deployments section does not appear on a hosting if:
- the hosting is a business-card site (simple static website), or
- your plan does not include the deployments permission, or
- SSH access is not enabled on the hosting.
If SSH is disabled, the other Development sub-sections (Cron Jobs, Supervisor Tasks, Proxy / WS) can still be available depending on your plan's permissions – only Deployments is missing.
Deploy key
At the top of the section is the Deploy key block. It is an ed25519 SSH key the hosting uses to connect to private repositories.
- Enter an email address and click Generate.
- Copy the displayed public key.
- Add it as a deploy key on the repository (on GitHub: Settings → Deploy keys → Add deploy key). Enable write access on the key if the hosting also needs to push to the repository.
If you'd rather work with your own Git client instead of the panel, an alternative is connecting with an SSH key for GitHub straight from your own computer.
The panel also pre-configures the hosting's SSH settings for github.com, gitlab.com and bitbucket.org, so the first clone from these services does not prompt to confirm the host's fingerprint.
The button with the two arrows next to the key lets you Regenerate it at any time – the panel warns that this breaks access in every repository where the old public key is still added.
Repositories
Scan searches the hosting's directory (up to 4 folders deep, skipping vendor and node_modules, up to 20 repositories) and shows the branch, remote URL and last commit for each repository it finds. The scan itself does not check whether a repository has uncommitted changes.
Clone opens a panel to enter the repository URL (e.g. git@github.com:account/project.git), a target directory (defaults to /var/www/html, also selectable via a folder browser) and an optional new folder name. Cloning runs synchronously – the panel waits for it to finish (180-second limit) and shows the output only once it completes, not as it streams.
Repository detail
Clicking a repository in the list expands its detail. Once opened, the panel also fetches the working-tree status, so you additionally see:
- Branch – the current branch
- Last commit – message, time and hash
- Working tree – clean, or the number of changed files
Pull (fetches changes from the remote for this repository, 120-second limit), Switch branch (a list of local and remote branches) and Refresh (reloads the status) are available here.
After a clone, pull or branch switch, the panel automatically restarts PHP on the hosting to clear the compiled-code cache (OPcache) so the changes take effect immediately. If you run into file-permission errors after cloning, see fixing file permissions.
Repository sub-tabs
A repository's detail has its own sub-tabs:
- Quick actions – commands based on the detected project type, see Quick actions.
- Scripts – your saved, named sequences of commands for one-click deployment. Commands run sequentially and execution stops on the first failure. Until you save a script, it shows "No deploy scripts yet."
- Artisan – shown only when a Laravel application is detected. A searchable, namespace-filterable list of every available artisan command; commands that take arguments or options open a form before they run. A step-by-step deployment walkthrough is in Deploying a Laravel application.
- Output – shown only once something has run. It has separate blocks for the output of a Git operation, a quick action, a script and an artisan command, each with a clear button.
Web terminal
At the bottom of the section is an Open terminal link, which opens the hosting's web terminal in a new tab – a full interactive shell in your browser for anything Deployments does not cover.
Was this article helpful?
Your feedback helps us improve our documentation