Skip to content

Commit e40b801

Browse files
committed
Restructure documentation
1 parent 54831fd commit e40b801

10 files changed

+1163
-1114
lines changed

README.md

Lines changed: 274 additions & 1114 deletions
Large diffs are not rendered by default.

doc/available-tools.md

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
[Permissions](syncronize-file-permissions.md) |
2+
[Tags](docker-tags.md) |
3+
[Architectures](supported-architectures.md) |
4+
[Versions](php-versions.md) |
5+
[Flavours](flavours.md) |
6+
[Extensions](php-modules.md) |
7+
Tools |
8+
[Env Vars](docker-env-variables.md) |
9+
[Volumes](docker-volumes.md) |
10+
[Base Images](base-images.md)
11+
12+
---
13+
14+
<h2><img name="Documentation" title="Documentation" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Documentation</h2>
15+
16+
17+
18+
### Available Tools
19+
20+
<table>
21+
<thead>
22+
<tr>
23+
<th width="200">Tool</th>
24+
<th>Description</th>
25+
</tr>
26+
</thead>
27+
<tr>
28+
<td><a href="https://www.ansible.com/">Ansible</a></td>
29+
<td>Automation tool.</td>
30+
</tr>
31+
<tr>
32+
<td><a href="https://asgardcms.com/install">asgardcms</a></td>
33+
<td>AsgardCMS cli installer.</td>
34+
</tr>
35+
<tr>
36+
<td><a href="https://github.com/cytopia/awesome-ci">awesome-ci</a></td>
37+
<td>Various linting and source code analyzing tools.</td>
38+
</tr>
39+
<tr>
40+
<td><a href="https://codeception.com/">codeception</a></td>
41+
<td>Elegant and efficient testing for PHP.</td>
42+
</tr>
43+
<tr>
44+
<td><a href="https://getcomposer.org">composer</a></td>
45+
<td>Dependency Manager for PHP.</td>
46+
</tr>
47+
<tr>
48+
<td><a href="https://deployer.org/">deployer</a></td>
49+
<td>Deployment tool for PHP.</td>
50+
</tr>
51+
<tr>
52+
<td><a href="https://drupalconsole.com">drupal-console</a></td>
53+
<td>The Drupal CLI. A tool to generate boilerplate code, interact with and debug Drupal.</td>
54+
</tr>
55+
<tr>
56+
<td><a href="http://www.drush.org">drush</a></td>
57+
<td>Drush is a computer software shell-based application used to control, manipulate, and administer Drupal websites.</td>
58+
</tr>
59+
<tr>
60+
<td><a href="https://eslint.org">eslint</a></td>
61+
<td>The pluggable linting utility for JavaScript and JSX.</td>
62+
</tr>
63+
<tr>
64+
<td><a href="https://git-scm.com">git</a></td>
65+
<td>Git is a version control system for tracking changes in source files.</td>
66+
</tr>
67+
<tr>
68+
<td><a href="https://github.com/nvie/gitflow">git-flow</a></td>
69+
<td>Git-flow tools.</td>
70+
</tr>
71+
<tr>
72+
<td><a href="https://gulpjs.com/">gulp</a></td>
73+
<td>Gulp command line JS tool.</td>
74+
</tr>
75+
<tr>
76+
<td><a href="https://gruntjs.com/">grunt</a></td>
77+
<td>Grunt command line JS tool.</td>
78+
</tr>
79+
<tr>
80+
<td><a href="https://brew.sh/">Homebrew</a></td>
81+
<td>The Missing Package Manager for macOS (or Linux).</td>
82+
</tr>
83+
<tr>
84+
<td><a href="https://github.com/zaach/jsonlint">jsonlint</a></td>
85+
<td>Json command line linter.</td>
86+
</tr>
87+
<tr>
88+
<td><a href="https://stedolan.github.io/jq/">jq</a></td>
89+
<td>Command-line JSON processor.</td>
90+
</tr>
91+
<tr>
92+
<td><a href="https://github.com/laravel/installer">laravel installer</a></td>
93+
<td>A CLI tool to easily install and manage the laravel framework.</td>
94+
</tr>
95+
<tr>
96+
<td><a href="https://github.com/cytopia/linkcheck">linkcheck</a></td>
97+
<td>Search for URLs in files (optionally limited by extension) and validate their HTTP status code.</td>
98+
</tr>
99+
<tr>
100+
<td><a href="https://github.com/markdownlint/markdownlint">mdl</a></td>
101+
<td>Markdown command line linter.</td>
102+
</tr>
103+
<tr>
104+
<td><a href="https://github.com/ChrisWren/mdlint">mdlint</a></td>
105+
<td>Markdown command line linter.</td>
106+
</tr>
107+
<tr>
108+
<td><a href="https://mysqldump-secure.org">mysqldump-secure</a></td>
109+
<td>Secury MySQL database backup tool with encryption.</td>
110+
</tr>
111+
<tr>
112+
<td><a href="https://nodejs.org">nodejs</a></td>
113+
<td>Node.js is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side.</td>
114+
</tr>
115+
<tr>
116+
<td><a href="https://www.npmjs.com">npm</a></td>
117+
<td>npm is a package manager for the JavaScript programming language.</td>
118+
</tr>
119+
<tr>
120+
<td><a href="https://github.com/phalcon/phalcon-devtools">phalcon-devtools</a></td>
121+
<td>CLI tool to generate code helping to develop faster and easy applications that use with Phalcon framework.</td>
122+
</tr>
123+
<tr>
124+
<td><a href="https://github.com/squizlabs/PHP_CodeSniffer">phpcs</a></td>
125+
<td>PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.</td>
126+
</tr>
127+
<tr>
128+
<td><a href="https://github.com/squizlabs/PHP_CodeSniffer">phpcbf</a></td>
129+
<td>PHP Code Beautifier and Fixer.</td>
130+
</tr>
131+
<tr>
132+
<td><a href="https://github.com/FriendsOfPHP/PHP-CS-Fixer">php-cs-fixer</a></td>
133+
<td>A tool to automatically fix PHP Coding Standards issues.</td>
134+
</tr>
135+
<tr>
136+
<td><a href="https://phpmd.org">phpmd</a></td>
137+
<td>PHP Mess Detector.</td>
138+
</tr>
139+
<tr>
140+
<td><a href="https://photoncms.com/resources/installing">photon</a></td>
141+
<td>Photon CMS cli.</td>
142+
</tr>
143+
<tr>
144+
<td><a href="http://sass-lang.com/">sass</a></td>
145+
<td>Sass CSS compiler.</td>
146+
</tr>
147+
<tr>
148+
<td><a href="https://github.com/stylelint/stylelint">stylelint</a></td>
149+
<td>Sass/CSS command line linter.</td>
150+
</tr>
151+
<tr>
152+
<td><a href="https://www.openssh.com/">ssh</a></td>
153+
<td>OpenSSH command line client.</td>
154+
</tr>
155+
<tr>
156+
<td><a href="https://github.com/symfony/symfony-installer">symfony installer</a></td>
157+
<td>This is the official installer to start new projects based on the Symfony full-stack framework.</td>
158+
</tr>
159+
<tr>
160+
<td><a href="https://github.com/jonas/tig">tig</a></td>
161+
<td>Text-mode Interface for Git.</td>
162+
</tr>
163+
<tr>
164+
<td><a href="https://github.com/webpack/webpack">webpack</a></td>
165+
<td>A bundler for javascript and friends.</td>
166+
</tr>
167+
<tr>
168+
<td><a href="https://wp-cli.org">wp-cli</a></td>
169+
<td>WP-CLI is the command-line interface for WordPress.</td>
170+
</tr>
171+
<tr>
172+
<td><a href="https://github.com/adrienverge/yamllint">yamllint</a></td>
173+
<td>Yaml command line linter.</td>
174+
</tr>
175+
<tr>
176+
<td><a href="https://yarnpkg.com/en">yarn</a></td>
177+
<td>Fast, reliable and secure dependency management.</td>
178+
</tr>
179+
<tbody>
180+
</tbody>
181+
</table>
182+
183+

doc/base-images.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[Permissions](syncronize-file-permissions.md) |
2+
[Tags](docker-tags.md) |
3+
[Architectures](supported-architectures.md) |
4+
[Versions](php-versions.md) |
5+
[Flavours](flavours.md) |
6+
[Extensions](php-modules.md) |
7+
[Tools](available-tools.md) |
8+
[Env Vars](docker-env-variables.md) |
9+
[Volumes](docker-volumes.md) |
10+
Base Images
11+
12+
---
13+
14+
<h2><img name="Documentation" title="Documentation" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Documentation</h2>
15+
16+
17+
18+
### Base Images
19+
20+
Have a look at the following Devilbox base images for which no official versions exist yet, but are required to serve as a foundation for this repository:
21+
22+
* [PHP-FPM 5.2](https://github.com/devilbox/docker-php-fpm-5.2)
23+
* [PHP-FPM 5.3](https://github.com/devilbox/docker-php-fpm-5.3)
24+
* [PHP-FPM 7.4](https://github.com/devilbox/docker-php-fpm-7.4)
25+
* [PHP-FPM 8.0](https://github.com/devilbox/docker-php-fpm-8.0)
26+
* [PHP-FPM 8.1](https://github.com/devilbox/docker-php-fpm-8.1)
27+
* [PHP-FPM 8.2](https://github.com/devilbox/docker-php-fpm-8.2)

doc/docker-env-variables.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
[Permissions](syncronize-file-permissions.md) |
2+
[Tags](docker-tags.md) |
3+
[Architectures](supported-architectures.md) |
4+
[Versions](php-versions.md) |
5+
[Flavours](flavours.md) |
6+
[Extensions](php-modules.md) |
7+
[Tools](available-tools.md) |
8+
Env Vars |
9+
[Volumes](docker-volumes.md) |
10+
[Base Images](base-images.md)
11+
12+
---
13+
14+
<h2><img name="Documentation" title="Documentation" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Documentation</h2>
15+
16+
17+
18+
### Environment Variables
19+
20+
Have a look at the following table to see all supported environment variables for each Docker image flavour.
21+
<table>
22+
<thead>
23+
<tr>
24+
<th>Image</th>
25+
<th>Env Variable</th>
26+
<th>Type</th>
27+
<th>Default</th>
28+
<th>Description</th>
29+
</tr>
30+
</thead>
31+
<tbody>
32+
<tr>
33+
<td rowspan="3"><strong>base</strong><br/><br/><strong>mods</strong><br/><br/><strong>prod</strong><br/><br/><strong>work</strong></td>
34+
<td><code>DEBUG_ENTRYPOINT</code></td>
35+
<td>int</td>
36+
<td><code>0</code></td>
37+
<td>Set debug level for startup.<br/><sub><code>0</code> Only warnings and errors are shown.<br/><code>1</code> All log messages are shown<br/><code>2</code> All log messages and executed commands are shown.</sub></td>
38+
</tr>
39+
<tr>
40+
<td><code>NEW_UID</code></td>
41+
<td>int</td>
42+
<td><code>1000</code></td>
43+
<td>Assign the PHP-FPM user a new <code>uid</code> in order to syncronize file system permissions with your host computer and the Docker container. You should use a value that matches your host systems local user.<br/><sub>(Type <code>id -u</code> for your uid).</sub></td>
44+
</tr>
45+
<tr>
46+
<td><code>NEW_GID</code></td>
47+
<td>int</td>
48+
<td><code>1000</code></td>
49+
<td>Assign the PHP-FPM group a new <code>gid</code> in order to syncronize file system permissions with your host computer and the Docker container. You should use a value that matches your host systems local group.<br/><sub>(Type <code>id -g</code> for your gid).</sub></td>
50+
</tr>
51+
<tr>
52+
<td colspan="5"></td>
53+
</tr>
54+
<tr>
55+
<td rowspan="6"><strong>prod</strong><br/><br/><strong>work</strong></td>
56+
<td><code>TIMEZONE</code></td>
57+
<td>string</td>
58+
<td><code>UTC</code></td>
59+
<td>Set docker OS timezone as well as PHP timezone.<br/>(Example: <code>Europe/Berlin</code>)</td>
60+
</tr>
61+
<tr>
62+
<td><code>DOCKER_LOGS</code></td>
63+
<td>bool</td>
64+
<td><code>1</code></td>
65+
<td>By default all Docker images are configured to output their PHP-FPM access and error logs to stdout and stderr. Those which support it can change the behaviour to log into files inside the container. Their respective directories are available as volumes that can be mounted to the host computer. This feature might help developer who are more comfortable with tailing or searching through actual files instead of using docker logs.<br/><br/>Set this variable to <code>0</code> in order to enable logging to files. Log files are avilable under <code>/var/log/php/</code> which is also a docker volume that can be mounted locally.</td>
66+
</tr>
67+
<tr>
68+
<td><code>ENABLE_MODULES</code></td>
69+
<td>string</td>
70+
<td><code>''</code></td>
71+
<td>Comma separated list of PHP modules to enable, which are not enabled by default.<br/><strong>Example:</strong><br/><code>ENABLE_MODULES=blackfire, ioncube, psr, phalcon</code></td>
72+
</tr>
73+
<tr>
74+
<td><code>DISABLE_MODULES</code></td>
75+
<td>string</td>
76+
<td><code>''</code></td>
77+
<td>Comma separated list of PHP modules to disable.<br/><strong>Example:</strong><br/><code>DISABLE_MODULES=swoole,imagick</code></td>
78+
</tr>
79+
<tr>
80+
<td><code>ENABLE_MAIL</code></td>
81+
<td>bool</td>
82+
<td><code>0</code></td>
83+
<td>Start local postfix with or without email catch-all.<br/><code>0</code>: Postfix service disabled.<br/><code>1</code>: Postfix service started normally.<br/><code>2</code>: Postfix service started configured for local delivery and all mails sent (even to real domains) will be catched locally. No email will ever go out. They will all be stored in a local devilbox account.<br/>Value: <code>0</code>, <code>1</code> or <code>2</code></td>
84+
</tr>
85+
<tr>
86+
<td><code>FORWARD_PORTS_TO_LOCALHOST</code></td>
87+
<td>string</td>
88+
<td></td>
89+
<td>List of remote ports to forward to 127.0.0.1.<br/><strong>Format:</strong><br/><sub><code>&lt;local-port&gt;:&lt;remote-host&gt;:&lt;remote-port&gt;</code></sub><br/>You can separate multiple entries by comma.<br/><strong>Example:</strong><br/><sub><code>3306:mysqlhost:3306, 6379:192.0.1.1:6379</code></sub></td>
90+
</tr>
91+
<tr>
92+
<td colspan="5"></td>
93+
</tr>
94+
<tr>
95+
<td rowspan="3"><strong>work</strong></td>
96+
<td><code>MYSQL_BACKUP_USER</code></td>
97+
<td>string</td>
98+
<td><code>''</code></td>
99+
<td>Username for mysql backups used for bundled <a href="https://mysqldump-secure.org" >mysqldump-secure</a></td>
100+
</tr>
101+
<tr>
102+
<td><code>MYSQL_BACKUP_PASS</code></td>
103+
<td>string</td>
104+
<td><code>''</code></td>
105+
<td>Password for mysql backups used for bundled <a href="https://mysqldump-secure.org" >mysqldump-secure</a></td>
106+
</tr>
107+
<tr>
108+
<td><code>MYSQL_BACKUP_HOST</code></td>
109+
<td>string</td>
110+
<td><code>''</code></td>
111+
<td>Hostname for mysql backups used for bundled <a href="https://mysqldump-secure.org" >mysqldump-secure</a></td>
112+
</tr>
113+
</tbody>
114+
</table>
115+
116+

0 commit comments

Comments
 (0)