NOTE: This project is discontinued in favor of Lando.
Drup is a command line utility that helps to kick-start development on your projects. It allows you to configure an environment and by leveraging the power of Docker it builds it for you. All configuration get stored in a yaml file that if shared can be reused to build the same environment.
GIT | GIT is required to clone projects with drup. |
NodeJS | Drup is built upon Node. Version >= 7.5 is required. |
Docker | Drup uses docker to create virtual systems. |
DockerCompose | Drup heavily makes use of the docker extended functionality. |
As drup has been built upon NodeJS it should support all major operating systems. Currently only the following were tested:
NOTE: Admin privileges are required because drup provides a a global executable that has to be created upon installation.
sudo npm --global install drup
After you ran the above command 'drup' should be available in your PATH. Run 'drup ?' to get started. You can also get help for operations by appending the question mark (ex: 'drup create ?').
Interpreters | PHP, NodeJS |
WEB servers | Apache, Nginx, LightTPD |
Database | MySQL, MariaDB, PMA |
Type | Provided services |
---|---|
Drupal | Drush |
You can use the following steps to learn the basic usage of drup.
sudo drup create drupal
drup list
sudo drup start <project-id>
sudo drup <project-id> drush cex
Services are at the base of the functionality. By combining and configuring these you create your environments. Services can provide additional operations so that you don't have to manually execute commands in containers. These basically create your container configuration.
Drup provides building and starting mechanism for defined project types. These project handlers define service requirements/ possibilities and default environment configuration. They also add custom services and installation methods to start anew.
Drup is open source. Anyone is welcome to contribute, be it that is by testing, creating issues of bugs or suggestions or even better writing code.
Documentation for coders is not yet available, you will have to discover the backend yourself :D.