Download the PHP package zerofyi/shipit without Composer

On this page you can find all versions of the php package zerofyi/shipit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package shipit

ShipIt 🚀

Latest Version on Packagist Total Downloads PHP Version Support

ShipIt is an enterprise-grade, zero-dependency deployment engine engineered specifically to bridge local development environments with Hostinger Shared Hosting architectures.

It cleanly handles the entire deployment pipeline in under a minute — staging your git changes, pushing code upstream, establishing secure trust handshakes, streaming compiled UI bundles, and firing remote Laravel optimizations over strict circuit-breaking SSH channels.


🔥 Key Features


💾 Installation

The package uses Laravel's auto-discovery — no manual provider registration needed.


✅ Prerequisites

Before using ShipIt, make sure both of the following are in place on your Hostinger account:

🔑 Passwordless SSH Connection

ShipIt communicates with your server entirely over SSH. Your local machine must be able to connect without being asked for a password or passphrase.

If that's not set up yet, see the SSH Setup Guide ↓


⚙️ PHP exec Must Be Enabled

ShipIt runs remote shell commands via PHP's exec() function. Hostinger disables it by default — you must remove it from the disabled functions list before ShipIt can operate.

hPanel → your website → Advanced → PHP Configuration → PHP Options → Disable Functions

Find exec in the list and remove it, then save.

📖 Official guide: How to Enable Disabled PHP Functions in Hostinger → hostinger.com

⚠️ Without this, ShipIt will silently fail during the server sync phase regardless of SSH or any other configuration being correct.


⚙️ Environment Configuration

Add the following to your local .env file:

💡 GITHUB_API_TOKEN is optional. If your repository is private and you want ShipIt to handle GitHub deploy key registration fully automatically — with no manual steps — add a Fine-grained Personal Access Token here. See how to generate one ↓

📡 Not sure where to find your Hostinger SSH details? See Step 1 of the SSH Setup Guide ↓

🔒 HOSTINGER_SITE_DIR is validated against path traversal payloads (.., /, \) before any remote operation runs.


🚀 Usage

Deploy to Hostinger

The master deployment command. Builds assets locally, commits and pushes to GitHub, then syncs your server and runs all remote optimizations in one shot.

Flag Description
--dry-run Simulates the entire pipeline — checks environments, builds assets, and tests the server connection — without touching your live server. Perfect for testing before a real deploy.
--debug Prints raw network payloads, shell command statuses, and step-by-step error traces directly in your terminal.

Push to GitHub Only

Standalone Git command. Scans for uncommitted changes, prompts for a commit message, and pushes to your remote branch.

Flag Description
--dry-run Checks your uncommitted changes and active branch, but halts before staging or committing anything.
--debug Streams raw Git execution output directly to your terminal.
--skip-assets Bypasses local asset compilation (npm run build). Used internally by push:hostinger to ensure assets are only built once per full run.
--timeout=60 Maximum execution time in seconds for the Git push operation. Defaults to 60 if not specified.

📐 Deployment Pipeline

push:hostinger runs these phases in strict sequence:

  1. Environment Scan — Validates and sanitizes all .env values before any network activity begins.
  2. Asset Compilation — Detects package.json, installs dependencies if needed, and runs a production build.
  3. Git Commit & Push — Stages your changes, collects a commit message, and pushes to your remote branch.
  4. Server Connection — Opens a passwordless SSH tunnel to Hostinger and confirms the target site directory exists.
  5. GitHub Trust Check — Evaluates repository visibility. Generates and registers an RSA deploy key for private repos, or skips for public ones.
  6. Sync & Optimize — Pulls the latest code, streams compressed asset bundles, then runs the full remote chain:
    • Preserves your production .env
    • composer install --no-dev --optimize-autoloader
    • php artisan migrate --force
    • php artisan storage:link
    • ln -sfn public public_html
    • php artisan optimize

🛠 SSH Setup Guide

One-time setup. Once done, ShipIt connects to your server automatically on every deploy.

Official Hostinger reference: How to Generate SSH Keys and Add Them to hPanel → hostinger.com


Step 1 — Enable SSH in hPanel

Log into hPanel → SSH Access and make sure SSH is enabled for your plan. Your SSH host, username, and port are all listed on this page — copy them into your .env.

Hostinger hPanel SSH Access details


Step 2 — Generate an SSH Key Pair

Run one of these commands on your local machine:

Ed25519 (recommended — modern, faster):

RSA 4096 (broader compatibility):

The -N "" flag sets an empty passphrase automatically — no prompts, no hanging.


Step 3 — Print & Copy Your Public Key

Ed25519:

RSA:

Select and copy the entire output — it starts with ssh-ed25519 or ssh-rsa and ends with shipit.


Step 4 — Add the Key to Hostinger hPanel

  1. In hPanel → SSH Access, click Add SSH Key.
  2. Paste the copied key into the public key field.
  3. Give it a name (e.g. shipit) and save.

Step 5 — Test the Connection

If you land in the remote shell with no password prompt, you're all set. ShipIt is ready to deploy.

If it still asks for a password, confirm the correct key was saved in hPanel and that SSH is enabled on your plan.


🔐 Generating a GitHub Fine-Grained Token

A Fine-grained Personal Access Token is required only if your repository is private and you want ShipIt to register the server's deploy key on GitHub automatically without any manual steps.

1. Go to GitHub token settings: https://github.com/settings/personal-access-tokens/new

2. Fill in the basics:

3. Under Repository access:

4. Under Permissions → Repository permissions:

This is the only permission ShipIt needs — it uses it solely to register the server's deploy key on your repo so the server can pull code.

💡 Why add this? If another project on your server is already using your public SSH key, ShipIt will automatically use an alternate HTTPS fallback method to pull your code. This fallback requires Contents: Read-Only access to copy your files over.

5. Click Generate token, copy it immediately, and add it to your .env:


📄 License

The MIT License (MIT). Please see the License File for more details.


All versions of shipit with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package zerofyi/shipit contains the following files

Loading the files please wait ...