Skip to content

About

GitHub Action that deploys PHP, Node.js and Python apps to CloudPanel servers over SSH with rsync, with an optional post-deploy script.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CloudPanel Deploy Action — deploy PHP, Node.js and Python apps over SSH from GitHub Actions

CloudPanel Deploy Action 🚀

Deploy to your CloudPanel sites instantly. This action automates the SSH connection, directory navigation, and execution of your deployment scripts.

🛠 Setup in 2 Minutes

  1. Add Secrets: In your GitHub Repo, go to Settings > Secrets and add:
    • CLOUDPANEL_HOST: Your server IP address.
    • CLOUDPANEL_SSH_KEY: The private SSH key for your CloudPanel site user.
  2. Install: Go to the Actions tab in your repo, search for "CloudPanel Deploy", and click Configure. This will auto-generate your workflow file.

⚙️ Configuration (Inputs)

Input Description Required Default
host CloudPanel Server IP Yes -
user CloudPanel Site User Yes -
key Private SSH key for the site user Yes -
working_dir Path to site (e.g. /home/user/htdocs/site.com) Yes -
script Custom post-deploy commands, run in working_dir after the sync No (empty: nothing runs)

How It Works (Rsync Method) 🛠

Unlike standard git-based tools, this action uses rsync to sync your code.

  • No Server-Side Git Required: You don't need to run git clone or git pull on your CloudPanel server.
  • Safe Merging: It copies new/updated files from GitHub and merges them into your server folder.
  • Non-Destructive: It will not delete existing files on your server (like user uploads or local logs) unless you explicitly configure it to do so.

Example Workflow

- name: CloudPanel Deploy
  uses: amjadiqbal/cloudpanel-deploy-action@v1.2.1
  with:
    host: ${{ secrets.CLOUDPANEL_HOST }}
    user: 'my-site-user'
    key: ${{ secrets.CLOUDPANEL_SSH_KEY }}
    working_dir: '/home/my-site-user/htdocs/site.com'
    script: |
      npm install
      npm run build

Customizing Your Script

You can extend the script input to run any commands specific to your app. The files are already synced by rsync, so there is no git pull; for example, for Laravel:

- uses: amjadiqbal/cloudpanel-deploy-action@v1.2.1
  with:
    host: ${{ secrets.CLOUDPANEL_HOST }}
    user: 'my-site-user'
    key: ${{ secrets.CLOUDPANEL_SSH_KEY }}
    working_dir: '/home/my-site-user/htdocs/site.com'
    script: |
      composer install --no-dev
      php artisan migrate --force
      php artisan optimize

Support

  • 🐛 Bug or feature request — open an issue
  • 🔒 Security issue — please report privately via GitHub's security tab

Need this customised, or something built?

I'm available for custom development, deployment pipelines, package integration, and technical consulting.

Hire me on Upwork

For priority support and custom deployment setups, please reach out via Upwork for direct assistance.

More packages

Part of a family of open-source packages — see all of them.

kiln Deploy-time OPcache control for Laravel
laravel-logpulse Log health monitoring & alerting for Laravel

About

GitHub Action that deploys PHP, Node.js and Python apps to CloudPanel servers over SSH with rsync, with an optional post-deploy script.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors