dino.sh

Docker Development init for Neos and Flow

View project on GitHub

Install dino.sh

wget https://raw.githubusercontent.com/sbruggmann/dino.sh/master/dino.sh; chmod +x dino.sh;

And run it:

dino.sh

.. loads php-boilerplate Docker Images, Neos Sources, etc.

dino.sh help

dino.sh reload

.. reload the project containers and images.

dino.sh reload --force

.. remove the local docker files, and reload the project containers and images.

dino.sh bash

.. login to the main containers bash as www-data.

dino.sh bash root

.. login to the main containers bash as root.

dino.sh links

.. show symlinks between vm and host.

The complete www Folder is shared with the vm.
But for performance reasons, only selected Folders are linked by default.

dino.sh link [www/Neos/Packages/Application]

.. create a symlink from /docker/www/Neos/Packages/Application to /docker/host-www/Neos/Packages/Application

dino.sh unlink [www/Neos/Packages/Application]

.. removes a symlink

dino.sh copy [www/Neos/Packages/Application]

.. copy Files and Folders between /docker/host-www and /docker/www

dino.sh selfupdate

.. update to the latest dino.sh version

After that you need to force reload the docker files.

dino.sh version

.. show the current dino.sh version

dino.sh satis

dino.sh creates a satis container for private repositories if you add the following to your composer.json file:

{
    // ..
    "config": {
        // ..
        "secure-http": false
    },
    // ..
    "repositories": {
        "satis": {
            "type": "composer",
            "url": "http://satis:80"
        }
    }
}

Your private repositories are cached over all projects and the configuration file is stored here:

~/.dino-composer-satis/config/config.json

The Satis Site ist accessible on port 3080: http://{YOUR_DOCKER_MACHINE_IP}:3080

More about the configuration of Satis: Handling private packages with Satis

dino.sh satis bash

.. login to the satis bash.

dino.sh satis build

.. rebuild the satis cache.

Requirements

To work with dino.sh you need a basic docker setup.
Follow the next 5 Steps to get it.

  1. Install Homebrew and call in the Terminal:

    brew update; brew install wget;
  2. Install VirtualBox

  3. Install docker-toolbox

  4. Start "Docker Quistart Terminal"

  5. Remove the by default created docker-machine:

    docker-machine rm default
  6. Create a new docker-machine:

    docker-machine create --driver virtualbox --virtualbox-disk-size "20000" --virtualbox-memory "4096" --virtualbox-cpu-count "8" default
  7. Now you can run dino.sh

Tipps & How-to

Versioning

The only file you need to add to your repository is the dino.sh itself.

How-to work with the neos-development-distribution?

Check out the step by step instructions for ./dino.sh here.

Credits

Thanks to the webdevops for the great php-docker-boilerplate.