mirror of
https://github.com/cytopia/devilbox.git
synced 2025-06-02 07:31:00 +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
|
The Devilbox already ships with many common developer tools which are installed inside each PHP
|
||||||
container, so why not make use of it.
|
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
|
Update the Devilbox
|
||||||
*******************
|
*******************
|
||||||
@ -95,8 +97,10 @@ recreated during the next start.
|
|||||||
:ref:`remove_stopped_container`
|
: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
|
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.
|
``Docker images``, so you should frequently update those.
|
||||||
|
@ -104,6 +104,7 @@ devilbox documentation
|
|||||||
installation/docker-installation
|
installation/docker-installation
|
||||||
installation/docker-toolbox
|
installation/docker-toolbox
|
||||||
readings/available-container
|
readings/available-container
|
||||||
|
readings/available-tools
|
||||||
readings/remove-stopped-container
|
readings/remove-stopped-container
|
||||||
readings/syncronize-container-permissions
|
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