Deployment Guide
Walk users through deploying their website to SiteGround hosting.
Prerequisites Check
Before starting, verify the user has:
- •GitHub repository - Code pushed to GitHub
- •SiteGround account - With SSH access enabled
- •Domain configured - Domain pointing to SiteGround
Ask: "Do you have a SiteGround account with SSH access enabled?"
Step 1: SSH Key Generation
Guide the user to generate an SSH key pair for deployment:
# Generate key (no passphrase for automated deployment) ssh-keygen -t rsa -b 4096 -f ~/.ssh/siteground_deploy -N ""
After running:
# View public key (add to SiteGround) cat ~/.ssh/siteground_deploy.pub # View private key (add to GitHub secrets) cat ~/.ssh/siteground_deploy
Step 2: SiteGround Configuration
Guide the user through SiteGround's interface:
- •Log in to SiteGround Site Tools
- •Navigate to Devs → SSH Keys Manager
- •Click Import and paste the public key
- •Name it (e.g., "GitHub Deploy")
- •Click Manage SSH Access to get connection details:
- •Host: Server hostname
- •Port: Usually
18765(SiteGround's non-standard port) - •Username: SSH username
Ask: "Can you share your SSH host, port, and username from SiteGround?"
Step 3: GitHub Secrets Configuration
Guide the user to add repository secrets:
- •Go to GitHub repository → Settings
- •Navigate to Secrets and variables → Actions
- •Add these Repository secrets:
| Secret Name | Value |
|---|---|
SSH_PRIVATE_KEY | Contents of ~/.ssh/siteground_deploy (private key) |
SSH_HOST | SiteGround server hostname |
SSH_PORT | 18765 (or provided port) |
SSH_USERNAME | SiteGround SSH username |
Step 4: Verify Domain Configuration
Check that .github/workflows/deploy.yml has the correct domain:
env: DOMAIN: your-domain.com # Should match user's domain
If not set, update it.
Step 5: Test Deployment
Guide the user through the first deployment:
- •
Commit and push changes to
mainbranch:bashgit add -A git commit -m "Configure deployment" git push origin main
- •
Monitor deployment:
bashgh run list --limit 1
- •
Verify the website at
https://{domain}
Troubleshooting
SSH Connection Failed
- •Verify SSH key is correctly added to SiteGround
- •Check port number (SiteGround uses
18765, not22) - •Confirm hostname is correct
Permission Denied
- •Verify SSH username matches SiteGround account
- •Check public key is active in SiteGround
Files Not Updating
- •Check rsync exclude patterns in
deploy.yml - •Verify
DOMAINmatches your setup - •Ensure deployment path exists on SiteGround
Success Message
Once deployment succeeds:
Your website is live at https://{domain}
Future changes will deploy automatically when you push to the
mainbranch.