Plesk can deploy a website directly from a Git repository (GitHub, GitLab, Bitbucket, or a private Git server). When something goes wrong, the cause is usually an SSH key problem, an incorrect repository URL, or file permission issues.
This checklist is written for GARMTECH hosting environments using Plesk.
Before you start
- Make sure the domain/subscription is accessible in Plesk.
- Know whether your repository is public or private.
- Decide which branch you will deploy (for example
main).
Step 1 — Confirm the repository URL (SSH vs HTTPS)
Git providers usually offer two URLs:
For private repositories, SSH is usually the best option in Plesk because it supports deploy keys.
Step 2 — Add the Plesk SSH public key to your Git provider (private repositories)
- In Plesk open your domain → Git.
- If Plesk shows an SSH public key, copy it.
- In your Git provider, add it as a Deploy key for the repository (read-only is enough for deployment in most cases).
After saving the deploy key, return to Plesk and re-test the connection / update the repository.
Step 3 — Check the deployment directory
- For a typical site, deploy into
httpdocs/ (this is the main document root).
- If you deploy into a subfolder, confirm your web server document root matches it.
Common errors and solutions
Permission denied (publickey)
- Make sure you added the correct SSH public key as a deploy key in your repository.
- Confirm you used the SSH repository URL (
git@…), not HTTPS.
- If you recently rotated keys, remove the old deploy key and add the new one.
Repository not found
- Check the repository URL for typos.
- For private repositories, ensure the deploy key is added and enabled.
Wrong branch / nothing deploys
- Confirm the branch name in Plesk matches your actual branch (
main vs master).
- Make sure you committed and pushed changes to that branch.
Website breaks after deployment (500/403/blank page)
- Check Logs in Plesk to see the exact error.
- Verify file permissions (typical: folders 755, files 644).
- If the project needs build steps (Composer/NPM), ensure they are run as part of deployment, or upload built assets.
Best practices
- Deploy to a staging domain/subdomain first, then to production.
- Keep configuration files (like
.env) outside the repository or protected appropriately.
- Do not store secrets (API keys, passwords) in Git.