PHPackages                             mehrancodes/veyoze - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. mehrancodes/veyoze

Abandoned → [mehrancodes/veyoze](/?search=mehrancodes%2Fveyoze)Project[CLI &amp; Console](/categories/cli)

mehrancodes/veyoze
==================

A CLI tool to Quickly create On-Demand preview environment for your apps.

v2.0.4(2w ago)10072113[21 issues](https://github.com/mehrancodes/laravel-harbor/issues)[2 PRs](https://github.com/mehrancodes/laravel-harbor/pulls)MITPHPPHP ^8.2CI passing

Since Oct 4Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/mehrancodes/laravel-harbor)[ Packagist](https://packagist.org/packages/mehrancodes/veyoze)[ Docs](https://laravel-harbor.com)[ RSS](/packages/mehrancodes-veyoze/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (36)Versions (51)Used By (0)

[![Actions Status](https://github.com/mehrancodes/laravel-harbor/actions/workflows/run-tests.yml/badge.svg?event=pull_request)](https://github.com/mehrancodes/laravel-harbor/actions)

[![logo-harbor](https://private-user-images.githubusercontent.com/7046255/307621118-18186f83-dbd7-4a5a-ad2f-051e8c60c832.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTUxMzMsIm5iZiI6MTc4MzA1NDgzMywicGF0aCI6Ii83MDQ2MjU1LzMwNzYyMTExOC0xODE4NmY4My1kYmQ3LTRhNWEtYWQyZi0wNTFlOGM2MGM4MzIuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDNUMDUwMDMzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZGVkNGJhMzJjZTkyMWVhYzA2OGU5MzA1YTQ4MDYzMWFmN2FkODdmYTgxZGE4MjhlMjAyZThlMGIxNzZiODc0ZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGanBlZyJ9.Vd1_53PPRdKmgYZNXv2XifE0t2xZvIRU2jdgvk7vlag)](https://private-user-images.githubusercontent.com/7046255/307621118-18186f83-dbd7-4a5a-ad2f-051e8c60c832.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODMwNTUxMzMsIm5iZiI6MTc4MzA1NDgzMywicGF0aCI6Ii83MDQ2MjU1LzMwNzYyMTExOC0xODE4NmY4My1kYmQ3LTRhNWEtYWQyZi0wNTFlOGM2MGM4MzIuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDNUMDUwMDMzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZGVkNGJhMzJjZTkyMWVhYzA2OGU5MzA1YTQ4MDYzMWFmN2FkODdmYTgxZGE4MjhlMjAyZThlMGIxNzZiODc0ZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGanBlZyJ9.Vd1_53PPRdKmgYZNXv2XifE0t2xZvIRU2jdgvk7vlag)

Laravel Harbor (formerly Veyoze)
================================

[](#laravel-harbor-formerly-veyoze)

### On-Demand Laravel Forge deployments with all setup you need

[](#on-demand-laravel-forge-deployments-with-all-setup-you-need)

🚀 **Update (February 25, 2024):** Repository Name Change

We have officially changed the repository name from "Veyoze" to "Laravel Harbor." The new repository URL is now:

```
composer require mehrancodes/laravel-harbor
```

Please update your references and links accordingly.

Table of Contents
-----------------

[](#table-of-contents)

- [Introduction](#introduction)
- [Forge Server Requirements (Harbor)](#forge-server-requirements-harbor)
- [Forge Deployment Alert Reference](#forge-deployment-alert-reference)
- [Contributing](#contributing)
- [License](#license)
- [Roadmap](#roadmap)

Introduction
------------

[](#introduction)

In today's fast-paced software development world, the ability to quickly and efficiently test new features is a game-changer for teams aiming to maintain a competitive edge. Preview Environments serve as the critical testing grounds for new features, bug fixes, and updates before they are integrated into the main codebase. These environments are crafted on-demand to validate specific git branches, providing a transient yet powerful platform for thorough pre-merge testing.

`"Don't merge until you preview" - with Laravel Harbor, ensure that excellence is the standard, not the exception.`

Documentation, and Usage Instructions
-------------------------------------

[](#documentation-and-usage-instructions)

See the [documentation](https://laravel-harbor.com/docs/introduction/) for detailed installation and usage instructions.

Forge Server Requirements (Harbor)
----------------------------------

[](#forge-server-requirements-harbor)

Use this checklist when provisioning new Harbor preview servers, especially when running multiple Redis instances on the same machine.

- Configure `FORGE_ORGANIZATION` with your Forge organization slug (new Forge API is org-scoped).
- Create a Forge API token with scopes required by Harbor operations (sites, deploys, environment, commands, daemons/background processes, scheduled jobs, databases, domains/certificates, and webhooks).
- Set SWAP to at least `8 GB` for preview workloads with queues and Redis.
- Keep Horizon process counts conservative to avoid memory pressure under burst traffic.
- Plan Redis memory per instance (`maxmemory`) and make sure total Redis limits plus PHP workers fit within available RAM.
- Prefer one Redis instance per workload role when needed (for example: cache, queue, sessions) and monitor each separately.
- Enable basic Redis and system monitoring (memory usage, evictions, OOM events, and queue lag) before going live.

Forge Deployment Alert Reference
--------------------------------

[](#forge-deployment-alert-reference)

Use these examples as quick references when Harbor deploys fail in Forge.

### Generic Tunnel / SSH Failure Pattern

[](#generic-tunnel--ssh-failure-pattern)

- `Tunnel exited with a non-zero code [1].`
- Git ref lock error:
    - `cannot lock ref 'refs/remotes/origin/' ... (unable to update local ref)`
    - this often appears with `is at  but expected `
- SSH key reminder from Forge:
    - ensure Forge key exists in both:
        - `/home/forge/.ssh/authorized_keys`
        - `/root/.ssh/authorized_keys`
    - Forge output may be truncated (for example `/home/forge/.ssh/auth...`); treat it as the same `authorized_keys` guidance.

### Composer / Working Directory Failure Pattern

[](#composer--working-directory-failure-pattern)

- Dist download fallback:
    - `Failed to download  from dist ... make sure the directory is writable and you have internet connectivity`
    - `Now trying to download from source`
- Composer/source failure:
    - `RuntimeException: The provided cwd "" does not exist.`
    - `Could not determine the current working directory`

Suggested checks:

- Confirm deploy directory exists and is writable by `forge`.
- Confirm outbound network access to GitHub from the server.
- Confirm git/composer runtime can run from the expected release path.

### Composer Autoload ParseError Pattern

[](#composer-autoload-parseerror-pattern)

- Deploy and dependency install can succeed, but fail during:
    - `Illuminate\Foundation\ComposerScripts::postAutoloadDump`
- Example signature:
    - `autoload_static.php ... [ParseError] syntax error, unexpected string content "/php"`
- Typical meaning:
    - a malformed PHP file or generated classmap entry is breaking autoload generation.

Suggested checks:

- Run `composer dump-autoload -o` manually on the server in the release directory.
- Inspect the referenced `vendor/composer/autoload_static.php` line and trace the mapped file causing invalid PHP syntax.
- Validate recently changed PHP files for parse errors before deploy.
- If needed, clear and rebuild dependencies (`rm -rf vendor && composer install`) to rule out corrupted generated autoload files.

### Project Install Cleanup / Clone Failure Pattern

[](#project-install-cleanup--clone-failure-pattern)

- Forge may fail while preparing the project directory with output like:
    - `rm: cannot remove '.../vendor/composer': Directory not empty`
    - followed by `Couldn't clone repository?`
- Typical meaning:
    - stale/in-use files in the target path blocked cleanup before clone/install.

Suggested checks:

- Verify no running process is holding files in the target project directory.
- Manually clean the project path (`vendor`, temporary composer dirs) and retry install.
- Ensure `forge` user owns the directory tree and has full write permissions.
- Re-verify deploy key access to the repository (Forge key added to source provider with read access).

### Git Context Missing (`not a git repository`) Pattern

[](#git-context-missing-not-a-git-repository-pattern)

- Deploy step may fail with:
    - `Tunnel exited with a non-zero code [128].`
    - `fatal: not a git repository (or any of the parent directories): .git`
- Typical meaning:
    - deploy command ran outside the expected repository root, or `.git` metadata is missing/corrupted in the target path.

Suggested checks:

- Verify Forge site deploy path points to the correct project directory.
- Confirm repository clone completed successfully and `.git` exists in that directory.
- Ensure deploy script `cd` targets the repository root before any git command.
- Re-clone the repository into a clean directory if metadata is missing.

Contributing
------------

[](#contributing)

We welcome contributions! Please see our [CONTRIBUTING.md](https://github.com/mehrancodes/laravel-harbor/blob/main/CONTRIBUTING.md) for details on how to contribute and the process for submitting pull requests.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](https://github.com/mehrancodes/laravel-harbor/blob/main/LICENSE) file for details.

Roadmap
-------

[](#roadmap)

As this CLI tool has been crafted as an MVP and has undergone real-world testing, we're now focusing on enhancing its robustness and expanding its capabilities. Here's what's on our radar:

- 🛠️ **Enhanced Error Handling**: Aiming for comprehensive error handling throughout the entire CLI process to ensure smooth user experiences.
- 📘 **Expanded Documentation**: We'll be adding more examples showcasing the tool's versatility, such as:

    - Using Laravel as an API backend with Nuxt.js on the frontend for SSR handling.
    - Using with projects like WordPress and more.
- 🧪 **Testing**: Preparing unit tests and feature tests to ensure the tool's reliability and stability.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance90

Actively maintained with recent releases

Popularity30

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 77.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Recently: every ~55 days

Total

43

Last Release

17d ago

Major Versions

v0.2.5 → v1.0.02024-03-27

v1.1.8 → v2.0.12026-05-30

PHP version history (2 changes)v0.0.1PHP ^8.1

v1.0.6PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7046255?v=4)[Mehran Rasulian](/maintainers/mehrancodes)[@mehrancodes](https://github.com/mehrancodes)

---

Top Contributors

[![mehrancodes](https://avatars.githubusercontent.com/u/7046255?v=4)](https://github.com/mehrancodes "mehrancodes (283 commits)")[![shawnhooper](https://avatars.githubusercontent.com/u/2073284?v=4)](https://github.com/shawnhooper "shawnhooper (40 commits)")[![RobertBoes](https://avatars.githubusercontent.com/u/2871897?v=4)](https://github.com/RobertBoes "RobertBoes (14 commits)")[![mgkimsal](https://avatars.githubusercontent.com/u/75154?v=4)](https://github.com/mgkimsal "mgkimsal (7 commits)")[![shvansheikha](https://avatars.githubusercontent.com/u/29592795?v=4)](https://github.com/shvansheikha "shvansheikha (6 commits)")[![prashank25](https://avatars.githubusercontent.com/u/5788844?v=4)](https://github.com/prashank25 "prashank25 (5 commits)")[![kim-vetisearch](https://avatars.githubusercontent.com/u/97092354?v=4)](https://github.com/kim-vetisearch "kim-vetisearch (4 commits)")[![381181295](https://avatars.githubusercontent.com/u/78950093?v=4)](https://github.com/381181295 "381181295 (3 commits)")[![vintagesucks](https://avatars.githubusercontent.com/u/13335308?v=4)](https://github.com/vintagesucks "vintagesucks (2 commits)")[![marzvrover](https://avatars.githubusercontent.com/u/6617862?v=4)](https://github.com/marzvrover "marzvrover (1 commits)")

---

Tags

cicontinuous-integrationforgelaravellaravel-forgelaravel-harborlaravel-zerophppreviewpreview-environmentprovisionpull-requestsstagingphpcliconsolelaravel-zerocontinuous integrationpreviewcistagingprovisionpull-requestslaravel-harborlaravel-forge

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/mehrancodes-veyoze/health.svg)

```
[![Health](https://phpackages.com/badges/mehrancodes-veyoze/health.svg)](https://phpackages.com/packages/mehrancodes-veyoze)
```

###  Alternatives

[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

10097.5k](/packages/mehrancodes-laravel-harbor)[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.7k357.7M10.9k](/packages/nunomaduro-collision)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M129](/packages/roots-acorn)[whatsdiff/whatsdiff

See what's changed in your project's dependencies

771.2k](/packages/whatsdiff-whatsdiff)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1348.7k1](/packages/jasara-php-amzn-selling-partner-api)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
