PHPackages                             mlebkowski/crane - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. mlebkowski/crane

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

mlebkowski/crane
================

1.0.1(12y ago)12.9kPHP

Since Dec 3Pushed 12y ago1 watchersCompare

[ Source](https://github.com/mlebkowski/crane)[ Packagist](https://packagist.org/packages/mlebkowski/crane)[ RSS](/packages/mlebkowski-crane/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (2)Dependencies (7)Versions (3)Used By (0)

Crane
=====

[](#crane)

Bootstrap your local environment using docker containers &amp; git

Setup
-----

[](#setup)

1. Create your config according to the [schema](/app/crane-schema.json). You can find detailed descriptions there
2. Push your schema to a git repository, for instance: `git@example.com:vendor/crane-project`

Initialize a project
--------------------

[](#initialize-a-project)

1. Install crane on your local machine using [composer](http://getcomposer.org).

    ```
     $ composer global require 'mlebkowski/crane:dev-master'

    ```

    The binary will be put in `~/.composer/vendor/bin/crane`
2. Add project configuration:

    ```
      $ crane project:init git@example.com:vendor/crane-project

    ```
3. Edit the `~/.crane/config.json` to set up the `targets`/`current-target`

Build images
------------

[](#build-images)

This is only required once per target. Docker images will be built from Dockerfiles.

```
$ crane image:build vendor/project-name --verbose

```

If something changes or goes wrong, you may want to use the `--rebuild` flag.

Start the project
-----------------

[](#start-the-project)

Launch all containers.

```
$ crane project:start vendor/project-name --verbose

```

Use `--restart` if something is wrong or images have changed. The main image is always restarted regardless.

Bootstrap the application
-------------------------

[](#bootstrap-the-application)

You may want to bootstrap your app in some way (init the database, setup permissions, etc). Crane is application agnostic, so it does not have any build in mechanism. Id does however provide a `project:command` command. It will SSH into the running container (if `22` port is exposed inside) using the `identity` file as a private key.

To run a bootstrapping command on the main container, for example:

```
$ crane project:command vendor/project-name 'phing -verbose -f /home/main-image-name/build.xml install'  --verbose

```

Permissions
-----------

[](#permissions)

Make sure you have agent forwarding setup for target host. All SSH commands are using the `-A` flag.

Editing files
-------------

[](#editing-files)

You may want to edit the application source files. To do this push to any branch at `ssh://current-target/.crane/vendor-name/project-name/volumes/main-image-name`. There is a `post-receive` hook there that resets the working copy to the pushed commit.

You might as well use `sshfs`, but there are cache’ing and performance issues. *YMMV*.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% 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 ~9 days

Total

2

Last Release

4584d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8572223899390b494d1282b615009bc2eea5ef1cd6bfc22f6e6b175034dadfe0?d=identicon)[mlebkowski](/maintainers/mlebkowski)

---

Top Contributors

[![mlebkowski](https://avatars.githubusercontent.com/u/848731?v=4)](https://github.com/mlebkowski "mlebkowski (39 commits)")

### Embed Badge

![Health badge](/badges/mlebkowski-crane/health.svg)

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

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M719](/packages/sylius-sylius)[pimcore/pimcore

Content &amp; Product Management Framework (CMS/PIM/E-Commerce)

3.8k3.8M482](/packages/pimcore-pimcore)[simplesamlphp/simplesamlphp

A PHP implementation of a SAML 2.0 service provider and identity provider.

1.1k13.0M214](/packages/simplesamlphp-simplesamlphp)[shopware/platform

The Shopware e-commerce core

3.4k1.5M3](/packages/shopware-platform)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k45](/packages/friendsoftypo3-content-blocks)

PHPackages © 2026

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