mirror of
https://github.com/cytopia/devilbox.git
synced 2025-02-20 17:33:05 +00:00
Add available tools
This commit is contained in:
parent
83a3829206
commit
5f61d9d8e6
@ -7,3 +7,129 @@ installed on your host operating system.
|
||||
|
||||
The Devilbox already ships with many common developer tools which are installed inside each PHP
|
||||
container, so why not make use of it.
|
||||
|
||||
The only thing you might need to install on your host operating system is your favourite IDE or
|
||||
editor to actually start coding.
|
||||
|
||||
.. seealso::
|
||||
If you want to find out what tools are available inside the PHP container, visit the
|
||||
following section: :ref:`available_tools`.
|
||||
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
.. contents:: :local:
|
||||
|
||||
|
||||
How to enter
|
||||
============
|
||||
|
||||
.. note::
|
||||
You can only enter the PHP container if it is running.
|
||||
|
||||
|
||||
Linux and MacOS
|
||||
---------------
|
||||
|
||||
On Linux and MacOS you can simply execute the provided shell script: ``shell.sh``. By doing so
|
||||
it will enter you into the PHP container and bring you to ``/shared/httpd``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Execute on the host operating system
|
||||
host> ./shell.sh
|
||||
|
||||
# Now you are inside the PHP Linux container
|
||||
devilbox@php-7.0.19 in /shared/httpd $
|
||||
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
On Windows you have a different script to enter the PHP container: ``shell.bat``.
|
||||
Just run it and it will enter you into the PHP container and bring you to ``/shared/httpd``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Execute on the host operating system
|
||||
C:/Users/user1/devilbox> shell.bat
|
||||
|
||||
# Now you are inside the PHP Linux container
|
||||
devilbox@php-7.0.19 in /shared/httpd $
|
||||
|
||||
|
||||
How to become root
|
||||
==================
|
||||
|
||||
When you enter the container with the provided scripts, you are doing so as the user ``devilbox``.
|
||||
If you do need to perform any actions as root (such as installing new software), you can use
|
||||
the password-less ``sudo``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# Inside the PHP Linux container as user devilbox
|
||||
devilbox@php-7.0.19 in /shared/httpd $ sudo su -
|
||||
|
||||
# Now you are root and can do anything you want
|
||||
root@php-7.0.19 in /shared/httpd $
|
||||
|
||||
.. note::
|
||||
As this action is inside a Docker container, there is no difference between Linux, MacOS or
|
||||
Windows. Every host operating system is using the same Docker container - equal accross all
|
||||
platforms.
|
||||
|
||||
|
||||
Directory mapping
|
||||
=================
|
||||
|
||||
One thing you should understand is the relation between the directories on your host operating
|
||||
system and the corresponding directory inside the PHP container.
|
||||
|
||||
The location of the data directory (:ref:`env_httpd_datadir`) on your host computer is controlled
|
||||
via the ``HOST_PATH_HTTPD_DATADIR`` variable inside the ``.env`` file. No matter what location you
|
||||
set it to, inside the container it will always be mapped to ``/shared/httpd``.
|
||||
|
||||
See the following table for a few examples:
|
||||
|
||||
+----------+-----------------------+----------------------+
|
||||
| | Host operating system | Inside PHP container |
|
||||
+==========+=======================+======================+
|
||||
| Data dir | ``./www/data`` | ``/shared/httpd`` |
|
||||
+----------+-----------------------+----------------------+
|
||||
| Data dir | ``/home/user1/www`` | ``/shared/httpd`` |
|
||||
+----------+-----------------------+----------------------+
|
||||
| Data dir | ``/var/www`` | ``/shared/httpd`` |
|
||||
+----------+-----------------------+----------------------+
|
||||
|
||||
|
||||
Tools
|
||||
=====
|
||||
|
||||
What is available
|
||||
-----------------
|
||||
|
||||
There are lots of tools available, for a full overview see :ref:`available_tools`.
|
||||
If you think you are missing a tool, install it yourself as root, or open up an issue on github
|
||||
to get it backed into the Docker image permanently.
|
||||
|
||||
.. seealso:: :ref:`available_tools`
|
||||
|
||||
|
||||
How to update them
|
||||
------------------
|
||||
|
||||
There is no need to update the tools itself. All Docker images are rebuilt every night and
|
||||
automatically pushed to Docker hub to ensure versions are outdated at a maximum of 24 hours.
|
||||
|
||||
The only thing you have to do, is to update the Docker images itself, simply by pulling a new version.
|
||||
|
||||
.. seealso:: :ref:`getting_started_update_the_docker_images`
|
||||
|
||||
|
||||
Checklist
|
||||
=========
|
||||
|
||||
* You know how to enter the PHP container on Linux, MacOS or Windows
|
||||
* You know how to become ``root`` inside the PHP container
|
||||
* You understand the directory relation between inside the container and your host operating system
|
||||
* You know how to update the tools by pulling new versions of the Docker images
|
||||
|
@ -1,3 +1,5 @@
|
||||
.. _getting_started_update_the_devilbox:
|
||||
|
||||
*******************
|
||||
Update the Devilbox
|
||||
*******************
|
||||
@ -95,8 +97,10 @@ recreated during the next start.
|
||||
:ref:`remove_stopped_container`
|
||||
|
||||
|
||||
Update Docker container
|
||||
=======================
|
||||
.. _getting_started_update_the_docker_images:
|
||||
|
||||
Update Docker images
|
||||
====================
|
||||
|
||||
Updating the git branch shouldn't be needed to often, most changes are actually shipped via newer
|
||||
``Docker images``, so you should frequently update those.
|
||||
|
@ -104,6 +104,7 @@ devilbox documentation
|
||||
installation/docker-installation
|
||||
installation/docker-toolbox
|
||||
readings/available-container
|
||||
readings/available-tools
|
||||
readings/remove-stopped-container
|
||||
readings/syncronize-container-permissions
|
||||
|
||||
|
71
docs/readings/available-tools.rst
Normal file
71
docs/readings/available-tools.rst
Normal file
@ -0,0 +1,71 @@
|
||||
.. _available_tools:
|
||||
|
||||
***************
|
||||
Available tools
|
||||
***************
|
||||
|
||||
Each PHP container version brings the same tools, so you can safely switch versions without having
|
||||
to worry to have less or more tools available.
|
||||
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| Binary | Tool |
|
||||
+======================+=====================================================================+
|
||||
| various binaries | `awesome-ci <https://github.com/cytopia/awesome-ci>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``brew`` | `Linux brew <http://linuxbrew.sh>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``composer`` | `Composer <https://getcomposer.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``drush`` | `Drush <http://www.drush.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``drupal`` | `Drupal Console <https://drupalconsole.com>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``eslint`` | `ESLint <https://eslint.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``git`` | `Git <https://git-scm.com>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``git-flow`` | `Git flow <https://github.com/nvie/gitflow>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``gulp`` | `Gulp <https://gulpjs.com/>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``grunt`` | `Grunt <https://gruntjs.com>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``jsonlint`` | `JSON lint <https://github.com/zaach/jsonlint>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``laravel`` | `Laravel installer <https://github.com/laravel/installer>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``mdl`` | `Markdown lint <https://github.com/markdownlint/markdownlint>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``mdlint`` | `MD Linter <https://github.com/ChrisWren/mdlint>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``mongo*`` | Various MongoDB client tools |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``mysql*`` | Various MySQL client tools |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``mysqldump-secure`` | `mysqldump-secure <https://mysqldump-secure.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``node`` | `Node <https://nodejs.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``npm`` | `NPM <https://www.npmjs.com>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``pg*`` | Various PostgreSQL client tools |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``phalcon`` | `Phalcon DevTools <https://github.com/phalcon/phalcon-devtools>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``scss-lint`` | `SCSS Lint <https://github.com/brigade/scss-lint>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``symfony`` | `Symfony installer <https://github.com/symfony/symfony-installer>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``tig`` | `Text-mode Interface for Git <https://github.com/jonas/tig>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``webpack`` | `Webpack <https://webpack.js.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``wp`` | `Wordpress CLI <https://wp-cli.org>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
| ``yarn`` | `Yarn <https://yarnpkg.com/en>`_ |
|
||||
+----------------------+---------------------------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
If you are in need of other tools, open up an issue at
|
||||
`Github <https://github.com/cytopia/devilbox/issues>`_ and ask for it,
|
||||
this can usually be implemented very quickly.
|
Loading…
x
Reference in New Issue
Block a user