mehrancodes/laravel-harbor
Laravel Harbor helps you deploy Laravel applications with Docker, offering Artisan commands and configuration for building, provisioning, and releasing your app to a server in a repeatable container-based workflow.
FORGE_GIT_PROVIDER (how Forge clones) from FORGE_GIT_API_PROVIDER (which API Harbor uses for deploy keys and comments). A PM can approve adoption for a GitHub.com shop today and still support an acquired team on self-hosted GitLab tomorrow without re-platforming the workflow.FORGE_DEPLOY_KEY_PUBLIC / FORGE_DEPLOY_KEY_PRIVATE allow bring-your-own keypairs when Harbor cannot reach the Git API, which unlocks adoption in network-restricted environments that would otherwise be a hard no.Adopt when:
Look elsewhere when:
laravel-test-runner image version in CI.Adoption risks to plan for (not blockers):
GITHUB_TOKEN in Actions cannot manage deploy keys. A GitHub App needs Repository → Administration: Read & write; a PAT needs repo. Decide this before rollout or provisioning stops with a 403.site: The site must be installed before it can be deployed. Add a per-PR concurrency group to both provision and teardown jobs as part of the initial setup, not as a follow-up ticket.FORGE_GITHUB_DEPLOY_KEY still works but warns and is slated for removal in a future major. Rename to FORGE_DEPLOY_KEY now while it is a one-line diff.For executives: This is a low-cost capability upgrade on infrastructure we already pay for. It gives every pull request its own throwaway environment, so reviewers, QA, and product can see work running before it merges — no shared staging bottleneck and no custom tooling to maintain. The v2.1.0 release is the maturity milestone: multi-provider Git support, automatic deploy-key lifecycle management, and preview links posted directly on PRs and merge requests.
For engineering: Harbor owns the parts of preview environments that are tedious and easy to get wrong. This release fixes the v2 deploy-key regression, decouples the clone provider from the Git API provider so self-hosted hosts are supported, validates git_provider up front instead of failing mid-provision, and cleans up deploy keys on teardown. Error messages are actionable — a 403 names the exact missing scope. Upgrade cost is one env-var rename plus a PHP 8.2 floor; adding a per-PR concurrency group is strongly recommended to eliminate a known race.
Ask: Approve a timeboxed pilot on one team — enable FORGE_DEPLOY_KEY, set the Git API provider and token, add the concurrency group, and measure review turnaround and staging contention over a sprint before committing to org-wide rollout.
How can I help you explore Laravel packages today?