Repository: phpearth/docker-php
Branch: master
Commit: cd18a6846df4
Files: 141
Total size: 117.2 KB
Directory structure:
gitextract_z_dotten/
├── .editorconfig
├── .github/
│ ├── CODE_OF_CONDUCT.md
│ └── CONTRIBUTING.md
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── docker/
│ ├── 7.0-apache.Dockerfile
│ ├── 7.0-cgi.Dockerfile
│ ├── 7.0-cli.Dockerfile
│ ├── 7.0-lighttpd.Dockerfile
│ ├── 7.0-litespeed.Dockerfile
│ ├── 7.0-nginx.Dockerfile
│ ├── 7.0.Dockerfile
│ ├── 7.1-apache.Dockerfile
│ ├── 7.1-cgi.Dockerfile
│ ├── 7.1-cli.Dockerfile
│ ├── 7.1-lighttpd.Dockerfile
│ ├── 7.1-litespeed.Dockerfile
│ ├── 7.1-nginx.Dockerfile
│ ├── 7.1.Dockerfile
│ ├── 7.2-apache.Dockerfile
│ ├── 7.2-cgi.Dockerfile
│ ├── 7.2-cli.Dockerfile
│ ├── 7.2-lighttpd.Dockerfile
│ ├── 7.2-litespeed.Dockerfile
│ ├── 7.2-nginx.Dockerfile
│ ├── 7.2.Dockerfile
│ ├── 7.3-apache.Dockerfile
│ ├── 7.3-cgi.Dockerfile
│ ├── 7.3-cli.Dockerfile
│ ├── 7.3-lighttpd.Dockerfile
│ ├── 7.3-litespeed.Dockerfile
│ ├── 7.3-nginx.Dockerfile
│ ├── 7.3.Dockerfile
│ ├── 7.4-apache.Dockerfile
│ ├── 7.4-cgi.Dockerfile
│ ├── 7.4-cli.Dockerfile
│ ├── 7.4-lighttpd.Dockerfile
│ ├── 7.4-litespeed.Dockerfile
│ ├── 7.4-nginx.Dockerfile
│ ├── 7.4.Dockerfile
│ ├── hooks/
│ │ ├── build
│ │ └── post_push
│ └── tags/
│ ├── apache/
│ │ ├── etc/
│ │ │ └── service/
│ │ │ └── apache/
│ │ │ └── run
│ │ └── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ ├── lighttpd/
│ │ ├── etc/
│ │ │ ├── lighttpd/
│ │ │ │ └── example.conf
│ │ │ └── service/
│ │ │ ├── lighttpd/
│ │ │ │ └── run
│ │ │ └── php-fpm/
│ │ │ └── run
│ │ ├── sbin/
│ │ │ ├── runit-wrapper
│ │ │ └── runsvdir-start
│ │ └── var/
│ │ └── www/
│ │ └── localhost/
│ │ └── htdocs/
│ │ └── index.php
│ ├── litespeed/
│ │ ├── etc/
│ │ │ └── service/
│ │ │ └── lsws/
│ │ │ └── run
│ │ └── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ └── nginx/
│ ├── etc/
│ │ ├── nginx/
│ │ │ └── conf.d/
│ │ │ └── default.conf
│ │ └── service/
│ │ ├── nginx/
│ │ │ └── run
│ │ └── php-fpm/
│ │ └── run
│ ├── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ └── var/
│ └── www/
│ └── html/
│ └── index.php
└── tests/
├── 7.0-apache/
│ ├── goss.yaml
│ └── test
├── 7.0-cgi/
│ ├── goss.yaml
│ └── test
├── 7.0-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.0-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.0-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.0-nginx/
│ ├── goss.yaml
│ └── test
├── 7.1-apache/
│ ├── goss.yaml
│ └── test
├── 7.1-cgi/
│ ├── goss.yaml
│ └── test
├── 7.1-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.1-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.1-iconv/
│ ├── Dockerfile
│ ├── goss.yaml
│ ├── iconv.php
│ └── test
├── 7.1-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.1-nginx/
│ ├── goss.yaml
│ └── test
├── 7.1-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-apache/
│ ├── goss.yaml
│ └── test
├── 7.2-argon/
│ ├── Dockerfile
│ ├── argon.php
│ ├── goss.yaml
│ └── test
├── 7.2-cgi/
│ ├── goss.yaml
│ └── test
├── 7.2-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.2-nginx/
│ ├── goss.yaml
│ └── test
├── 7.2-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-apache/
│ ├── goss.yaml
│ └── test
├── 7.3-argon/
│ ├── Dockerfile
│ ├── argon.php
│ ├── goss.yaml
│ └── test
├── 7.3-cgi/
│ ├── goss.yaml
│ └── test
├── 7.3-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.3-nginx/
│ ├── goss.yaml
│ └── test
├── 7.3-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
└── test
================================================
FILE CONTENTS
================================================
================================================
FILE: .editorconfig
================================================
# http://editorconfig.org
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false
[{docker/hooks/build,docker/hooks/post_push}]
indent_style = space
indent_size = 4
[docker/*.Dockerfile]
indent_style = space
indent_size = 4
[*.yml]
indent_style = space
indent_size = 2
[Makefile]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false
[APKBUILD]
indent_style = space
indent_size = 2
[*.patch]
trim_trailing_whitespace = unset
end_of_line = unset
insert_final_newline = unset
================================================
FILE: .github/CODE_OF_CONDUCT.md
================================================
# Code of conduct
This project is part of the [PHP.earth](https://php.earth) group which follows a
[code of conduct](https://conduct.php.earth) to guarantee a welcoming, safe,
inclusive, and harassment-free environment for anyone.
================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contributing guide
Contributions are most welcome. Below is described procedure for contributing to
this repository.
* Fork this repository over GitHub
* Create a separate branch, for instance `patch-1` so you will not need to rebase
your fork if your master branch is merged
```bash
git clone git@github.com:your_username/docker-php
cd docker-php
git checkout -b patch-1
```
* Make changes, commit them and push to your fork
```bash
git add .
git commit -m "Fix bug"
git push origin patch-1
```
* Open a pull request
## Style guide
* This repository uses [Markdown](https://daringfireball.net/projects/markdown/)
syntax and follows
[cirosantilli/markdown-style-guide](http://www.cirosantilli.com/markdown-style-guide/)
style guide.
## GitHub issues labels
Labels are used to organize issues and pull requests into manageable categories.
The following labels are used:
* **bug** - Attached when bug is reported.
* **duplicate** - Attached when the same issue or pull request already exists.
* **enhancement** - Attached when creating a new feature.
* **invalid** - Attached when the issue or pull request does not correspond with
scope of the repository or because of some inconsistency.
* **question** - Attached for questions or discussions.
* **wontfix** - Attached when decided that issue will not be fixed.
## Release process
*(For repository maintainers)*
This repository follows [semantic versioning](http://semver.org/). When source
code changes, new features are implemented, or PHP version gets upgraded, a new
version (e.g. 1.x.y) is released by the following release process:
* **1. Tests**
Tests are run with [Goss](https://github.com/aelsabbahy/goss):
```bash
make test [t="<test-folder-1> <test-folder-2> ..."]
```
* **2. Update changelog**
Create an entry in [CHANGELOG.md](/CHANGELOG.md) describing all the changes
from previous release.
* **3. Docker images**
Build and push Docker images to [Docker Hub](https://hub.docker.com/r/phpearth/php/).
```bash
make build-and-push
```
================================================
FILE: .travis.yml
================================================
sudo: required
services:
- docker
before_install:
# install goss
- curl -L https://goss.rocks/install | sudo sh
script:
- cd tests && ./test
================================================
FILE: CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file. This project
[keeps a CHANGELOG](http://keepachangelog.com/) based on the time changes.
## 2019-05-10
* PHP 7.4.0-dev
## 2018-12-06
* PHP 7.3.0
## 2018-10-24
* PHP 7.3.0RC4
* PHP 7.2.11
* PHP 7.1.23
## 2018-09-25
* Alpine 3.8.1 base image update
## 2018-09-13
* PHP 7.3.0RC1
* PHP 7.2.10
* PHP 7.1.22
* PHP 7.0.32
## 2018-09-06
* PHP 7.3.0beta3
* PHP 7.2.9
* PHP 7.1.21
## 2018-07-21
* Alpine 3.8
* PHP 7.0.31
* PHP 7.1.19
* PHP 7.2.8
* PHP 7.3.0 alpha 4
## 2018-06-22
* PHP 7.3 images
* PHP 7.2.7
## 2018-06-21
* Repository moved to github.com/phpearth
* PHP 7.2.4
* PHP 7.1.16
* PHP 7.0.29
* OpenLiteSpeed 1.5.0 RC 2 r101
* PHP 7.2.3 r101
* PHP 7.2.3
* PHP 7.0.28
* PHP 7.1.15
* OpenLiteSpeed 1.5.0 RC2
* OpenLiteSpeed 1.4.29
* PHP 7.1.14
* PHP 7.2.2
## 2018-02-01
* PHP 7.0.27
* PHP 7.1.13
* PHP 7.2.1
## 2018-01-03
* Alpine 3.7
* PHP 7.2.0 stable
* Fix OpenLiteSpeed images to run the server properly
* Expose important web server ports in Docker images
* New Lighttpd web server images
## 2017-11-22
* PHP 7.2.0RC6
* PHP 7.1.12
* PHP 7.0.26
* OpenLiteSpeed 1.4.28
## 2017-10-29
* Add phar extension to all Docker images except minimal ones.
* Use PHP.earth Alpine packages with custom compiler optimization flags.
## 2017-10-25
* PHP 7.2.0RC5
* PHP 7.1.11
* PHP 7.0.25
* New images with only PHP CLI from PHP.earth Alpine repos
* Alpine repository moved to its own [location](https://github.com/php-earth/alpine)
and repository folder structure refactored
## 2017-10-01
* Refactored PHP APKBUILD files
* PHPUnit 6.3.1
* Fixed bug with PHP bundled libgd not working with provided GNU libiconv package:
```
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/7.1/modules/gd.so' - Error relocating /usr/lib/php/7.1/modules/gd.so: libiconv: symbol not found in Unknown on line )
```
* PHP 7.0.24
* PHP 7.1.10
* PHP 7.2.0RC3
* Swoole 1.9.21
* PECL Libsodium 2.0.8
* PECL Redis 3.1.4
* [Apache bug fixed](https://github.com/php-earth/docker-php/issues/4)
## 2017-09-20
* Swoole 1.9.20
* OpenLiteSpeed 1.4.27
* PHP 7.2.0 RC2
* PHP 7.1.9
* PHP 7.0.23
* MongoDB 1.3.0
* Composer 1.5.2
* [iconv bug fix](https://github.com/php-earth/docker-php/issues/3)
## 2017-08-14
* Refactor and fix multiple issues with Alpine repository packages
* Swoole 1.9.18
* PHPUnit 6.3.0
* Composer 1.5.1
* PHP 7.2.0 beta 2
* PHP 7.1.8
* PHP 7.0.22
* New tests
## 2017-07-06
* Debian based images removed in favor of Alpine for smallest possible sizes
* Introducing PHP.earth Alpine repository
## 2017-06-20
* Apache HTTP Server
* PHP CGI
* Refactored and stabilized Docker tags
* Improved documentation
* Tests
## 2017-06-12
* Repository location refactored
* PEAR removed
* PHP 7.2.0alpha1
* Composer installation script with optional prestissimo plugin
## 2017-06-03
* OpenLiteSpeed 1.4.26
* New tag added for OpenLiteSpeed on Alpine
* Use `-O3` optimization level for GCC when compiling PHP
* Move intl, xsl and gettext PHP extensions to installation script
* Optimize Debian images size
## 2017-05-29
* Improved script for downloading PHP extensions
* Fixed minor bug in script for downloading Composer
* Removed bash from Alpine Docker images
* Refactor Dockerfiles
* PHP GD extension moved to installation script
## 2017-05-27
* Refactored Docker tags
* Upgraded to Alpine 3.6 base images
* Installation script for Composer and Prestissimo plugin for parallel downloading
of PHP packages
## 2017-05-13
* Repository refactored
* PHP 7.1.5
## 2017-04-13
* PHP 7.1.4
## 2017-04-01
* Xdebug extension
## 2017-04-01
* Fixed OpenLiteSpeed installation dependencies
## 2017-04-01
* Added support for multiple PHP extensions
* Documentation improvements
* Composer removed from base images
## 2017-03-31
* xmlrpc support
* postgresql and pdo_pgsql support
* gmp support
* recode support
## 2017-03-28
* The imagick PECL extension support
## 2017-03-27
* The memcached extension support
## 2017-03-21
* Tidy extension support
* WDDX extension support
## 2017-03-20
* Initial release with PHP 7.1.3
================================================
FILE: LICENSE
================================================
Copyright (c) 2016-present PHP.earth
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
================================================
FILE: Makefile
================================================
.RECIPEPREFIX := $(.RECIPEPREFIX)
.DEFAULT_GOAL := help
.PHONY: *
help:
@echo "\033[33mUsage:\033[0m\n make [target] [arg=\"val\"...]\n\n\033[33mTargets:\033[0m"
@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%-15s\033[0m %s\n", $$1, $$2}'
test: ## Run all tests; Usage: make test [t="<test-folder-1> <test-folder-2> ..."]
@cd tests; \
./test "$(t)"
build: ## Build image. Usage: make build TAG="7.0-cli"
@docker build --no-cache --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` -t phpearth/php:$(TAG) -f docker/$(TAG).Dockerfile docker
build-70: ## Build PHP 7.0 images
make build TAG="7.0"
make build TAG="7.0-apache"
make build TAG="7.0-cgi"
make build TAG="7.0-cli"
make build TAG="7.0-lighttpd"
make build TAG="7.0-litespeed"
make build TAG="7.0-nginx"
build-71: ## Build PHP 7.1 images
make build TAG="7.1"
make build TAG="7.1-apache"
make build TAG="7.1-cgi"
make build TAG="7.1-cli"
make build TAG="7.1-lighttpd"
make build TAG="7.1-litespeed"
make build TAG="7.1-nginx"
build-72: ## Build PHP 7.2 images
make build TAG="7.2"
make build TAG="7.2-apache"
make build TAG="7.2-cgi"
make build TAG="7.2-cli"
make build TAG="7.2-lighttpd"
make build TAG="7.2-litespeed"
make build TAG="7.2-nginx"
build-73: ## Build PHP 7.3 images
make build TAG="7.3"
make build TAG="7.3-apache"
make build TAG="7.3-cgi"
make build TAG="7.3-cli"
make build TAG="7.3-lighttpd"
make build TAG="7.3-litespeed"
make build TAG="7.3-nginx"
build-all: ## Build all images
make build-70
make build-71
make build-72
make build-73
push-70: ## Push built PHP 7.0 images to Docker Hub
@docker push phpearth/php:7.0
@docker push phpearth/php:7.0-apache
@docker push phpearth/php:7.0-cgi
@docker push phpearth/php:7.0-cli
@docker push phpearth/php:7.0-lighttpd
@docker push phpearth/php:7.0-litespeed
@docker push phpearth/php:7.0-nginx
push-71: ## Push built PHP 7.1 images to Docker Hub
@docker push phpearth/php:7.1
@docker push phpearth/php:7.1-apache
@docker push phpearth/php:7.1-cgi
@docker push phpearth/php:7.1-cli
@docker push phpearth/php:7.1-lighttpd
@docker push phpearth/php:7.1-litespeed
@docker push phpearth/php:7.1-nginx
push-72: ## Push built PHP 7.2 images to Docker Hub
@docker push phpearth/php:7.2
@docker push phpearth/php:7.2-apache
@docker push phpearth/php:7.2-cgi
@docker push phpearth/php:7.2-cli
@docker push phpearth/php:7.2-lighttpd
@docker push phpearth/php:7.2-litespeed
@docker push phpearth/php:7.2-nginx
push-73: ## Push built PHP 7.3 images to Docker Hub
@docker push phpearth/php:7.3
@docker push phpearth/php:7.3-apache
@docker push phpearth/php:7.3-cgi
@docker push phpearth/php:7.3-cli
@docker push phpearth/php:7.3-lighttpd
@docker push phpearth/php:7.3-litespeed
@docker push phpearth/php:7.3-nginx
@docker tag phpearth/php:7.3 phpearth/php:latest
@docker push phpearth/php:latest
push-all: ## Push all built images to Docker Hub
make push-70
make push-71
make push-72
make push-73
build-and-push-70: ## Build and push PHP 7.0 images to Docker Hub
make build-70
make push-70
build-and-push-71: ## Build and push PHP 7.1 images to Docker Hub
make build-71
make push-71
build-and-push-72: ## Build and push PHP 7.2 images to Docker Hub
make build-72
make push-72
build-and-push-73: ## Build and push PHP 7.3 images to Docker Hub
make build-73
make push-73
build-and-push: ## Build all images and push them to Docker Hub
make build-all
make push-all
clean: ## Clean all containers and images on the system
-@docker ps -a -q | xargs docker rm -f
-@docker images -q | xargs docker rmi -f
================================================
FILE: README.md
================================================
# Docker for PHP developers
[](https://travis-ci.org/phpearth/docker-php) [](https://hub.docker.com/r/phpearth/php/) [](https://github.com/phpearth/docker-php/blob/master/LICENSE)
Carefully crafted Docker images for PHP developers with PHP 7.3, PHP 7.2, PHP 7.1, PHP 7.0, Nginx, OpenLiteSpeed, Apache HTTP Server, and Lighttpd.

* Fast and simple PHP extensions installation
* Optional Composer installation
* Optional PHPUnit installation
* [runit](http://smarden.org/runit/) for running multiple services without overhead
* Alpine base image with [PHP.earth PHP repositories](https://docs.php.earth/linux/alpine)
* Optimized Docker image sizes
* Multiple PHP versions
## Documentation
Documentation with Docker and PHP recipes is available on [PHP.earth](https://docs.php.earth/docker).
## Docker tags
The following list contains all current Docker tags and what is included in each.
| System | Docker Tag | Features | Size |
| ------ | ---------- | -------- | ---- |
| **PHP 7.4.0alpha1**@Alpine 3.9.4 | [`7.4`](https://github.com/phpearth/docker-php/tree/master/docker/7.4.Dockerfile) | Small PHP CLI | [](https://microbadger.com/images/phpearth/php:7.4 "Image size") |
| | [`7.4-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-cli.Dockerfile) | PHP CLI | [](https://microbadger.com/images/phpearth/php:7.4-cli "Image size") |
| | [`7.4-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [](https://microbadger.com/images/phpearth/php:7.4-lighttpd "Image size") |
| | [`7.4-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [](https://microbadger.com/images/phpearth/php:7.4-litespeed "Image size") |
| | [`7.4-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-nginx.Dockerfile) | Nginx 1.14.2, FPM | [](https://microbadger.com/images/phpearth/php:7.4-nginx "Image size") |
| | [`7.4-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-apache.Dockerfile) | Apache 2.4.39 | [](https://microbadger.com/images/phpearth/php:7.4-apache "Image size") |
| | [`7.4-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-cgi.Dockerfile) | PHP CGI | [](https://microbadger.com/images/phpearth/php:7.4-cgi "Image size") |
| **PHP 7.3.4**@Alpine 3.9.3 | [`latest`, `7.3`](https://github.com/phpearth/docker-php/tree/master/docker/7.3.Dockerfile) | Small PHP CLI | [](https://microbadger.com/images/phpearth/php:7.3 "Image size") |
| | [`7.3-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-cli.Dockerfile) | PHP CLI | [](https://microbadger.com/images/phpearth/php:7.3-cli "Image size") |
| | [`7.3-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [](https://microbadger.com/images/phpearth/php:7.3-lighttpd "Image size") |
| | [`7.3-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [](https://microbadger.com/images/phpearth/php:7.3-litespeed "Image size") |
| | [`7.3-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-nginx.Dockerfile) | Nginx 1.14.2, FPM | [](https://microbadger.com/images/phpearth/php:7.3-nginx "Image size") |
| | [`7.3-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-apache.Dockerfile) | Apache 2.4.38 | [](https://microbadger.com/images/phpearth/php:7.3-apache "Image size") |
| | [`7.3-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-cgi.Dockerfile) | PHP CGI | [](https://microbadger.com/images/phpearth/php:7.3-cgi "Image size") |
| **PHP 7.2.17**@Alpine 3.9.3 | [`7.2`](https://github.com/phpearth/docker-php/tree/master/docker/7.2.Dockerfile) | Small PHP CLI | [](https://microbadger.com/images/phpearth/php:7.2 "Image size") |
| | [`7.2-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-cli.Dockerfile) | PHP CLI | [](https://microbadger.com/images/phpearth/php:7.2-cli "Image size") |
| | [`7.2-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [](https://microbadger.com/images/phpearth/php:7.2-lighttpd "Image size") |
| | [`7.2-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [](https://microbadger.com/images/phpearth/php:7.2-litespeed "Image size") |
| | [`7.2-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-nginx.Dockerfile) | Nginx 1.14.2, FPM | [](https://microbadger.com/images/phpearth/php:7.2-nginx "Image size") |
| | [`7.2-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-apache.Dockerfile) | Apache 2.4.38 | [](https://microbadger.com/images/phpearth/php:7.2-apache "Image size") |
| | [`7.2-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-cgi.Dockerfile) | PHP CGI | [](https://microbadger.com/images/phpearth/php:7.2-cgi "Image size") |
| **PHP 7.1.28**@Alpine 3.9.3 | [`7.1`](https://github.com/phpearth/docker-php/tree/master/docker/7.1.Dockerfile) | Small PHP CLI | [](https://microbadger.com/images/phpearth/php:7.1 "Image size") |
| | [`7.1-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-cli.Dockerfile) | PHP CLI | [](https://microbadger.com/images/phpearth/php:7.1-cli "Image size") |
| | [`7.1-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [](https://microbadger.com/images/phpearth/php:7.1-lighttpd "Image size") |
| | [`7.1-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [](https://microbadger.com/images/phpearth/php:7.1-litespeed "Image size") |
| | [`7.1-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-nginx.Dockerfile) | Nginx 1.14.2, FPM | [](https://microbadger.com/images/phpearth/php:7.1-nginx "Image size") |
| | [`7.1-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-apache.Dockerfile) | Apache 2.4.38 | [](https://microbadger.com/images/phpearth/php:7.1-apache "Image size") |
| | [`7.1-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-cgi.Dockerfile) | PHP CGI | [](https://microbadger.com/images/phpearth/php:7.1-cgi "Image size") |
| **PHP 7.0.33**@Alpine 3.7.3 | [`7.0`](https://github.com/phpearth/docker-php/tree/master/docker/7.0.Dockerfile) | Small PHP CLI | [](https://microbadger.com/images/phpearth/php:7.0 "Image size") |
| | [`7.0-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-cli.Dockerfile) | PHP CLI | [](https://microbadger.com/images/phpearth/php:7.0-cli "Image size") |
| | [`7.0-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-lighttpd.Dockerfile) | Lighttpd 1.4.48 | [](https://microbadger.com/images/phpearth/php:7.0-lighttpd "Image size") |
| | [`7.0-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [](https://microbadger.com/images/phpearth/php:7.0-litespeed "Image size") |
| | [`7.0-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-nginx.Dockerfile) | Nginx 1.12.2, FPM | [](https://microbadger.com/images/phpearth/php:7.0-nginx "Image size") |
| | [`7.0-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-apache.Dockerfile) | Apache 2.4.38 | [](https://microbadger.com/images/phpearth/php:7.0-apache "Image size") |
| | [`7.0-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-cgi.Dockerfile) | PHP CGI | [](https://microbadger.com/images/phpearth/php:7.0-cgi "Image size") |
Tags follow PHP release cycle and [PHP supported versions timeline](http://php.net/supported-versions.php).
| PHP | Active Support Until | Security Support Until | Info |
| ------- | -------------------- | ---------------------- | ---- |
| **7.4** | TBD | TBD | Development 7.4 branch for testing |
| **7.3** | TBD | TBD | Current recommended branch for production |
| **7.2** | 2019-11-30 | 2020-11-20 | Previous stable branch |
| **7.1** | 2018-12-01 | 2019-12-01 | Previous branch for legacy projects |
| **7.0** | 2017-12-03 | 2018-12-03 | Previous branch for legacy projects, not supported anymore |
## Quick usage
### Nginx
`Dockerfile` for running Nginx HTTP server with PHP FPM:
```Dockerfile
FROM phpearth/php:7.3-nginx
```
Build Docker image and run Docker container:
```bash
docker build -t custom-php .
docker run --name custom-php-container -p 80:80 -d custom-php
```
### PHP CLI
To run a CLI PHP script:
```bash
docker run -it --rm -v `pwd`:/usr/src/myapp -w /usr/src/myapp phpearth/php php script.php
```
### Composer
To install Composer:
```Dockerfile
FROM phpearth/php:7.3-nginx
RUN apk add --no-cache composer
```
### PHPUnit
To install PHPUnit:
```Dockerfile
FROM phpearth/php:7.3-nginx
RUN apk add --no-cache phpunit
```
### OpenLiteSpeed
To run OpenLiteSpeed web server:
```Dockerfile
FROM phpearth/php:7.3-litespeed
```
### Lighttpd
To run Lighttpd web server:
```Dockerfile
FROM phpearth/php:7.3-lighttpd
```
### PHP extensions
To install additional PHP extensions, you can use packages from the [PHP.earth Alpine repository](https://docs.php.earth/linux/alpine):
```Dockerfile
FROM phpearth/php:7.3-nginx
RUN apk add --no-cache php7.3-sodium php7.3-intl php7.3-pdo_mysql
```
or install them with `pecl`:
```bash
apk add --no-cache php7.3-dev gcc g++
pecl install {extension-name}
```
### PHP ini settings
To configure extra [php.ini](https://www.php.net/manual/en/ini.php): settings,
create application specific `php.ini` and copy the file into docker image:
```ini
# php.ini
memory_limit = 512M
```
```Dockerfile
FROM phpearth/php:7.3-nginx
COPY php.ini $PHP_INI_DIR/conf.d/my-app.ini
```
#### Missing extension?
In case you'd need an additional extension in the PHP.earth repository, [open an issue](https://github.com/phpearth/docker-php/issues).
### Docker Stack
Docker Stack is way of orchestration of Docker services and simplifies running multiple services of your application. In this example we'll run an Nginx web server with PHP 7.3 FPM with `docker-compose.yml` file. In a new project directory create a `Dockerfile`:
```Dockerfile
FROM phpearth/php:7.3-nginx
```
The `docker-compose.yml` file:
```yml
version: '3.3'
services:
app:
image: my-dev-image
volumes:
- .:/var/www/html
ports:
- mode: host
target: 80
published: 80
```
The `index.php` file:
```php
<?php
phpinfo();
```
Finally we run:
```bash
# Initialize a new Swarm for development
docker swarm init
# Build above image
docker build -t my-dev-image -f Dockerfile .
# Deploy the above stack up and running
docker stack deploy -c docker-compose.yaml mystack
```
And there should be `phpinfo()` output visible on `http://localhost`. Make sure there isn't any other service listening on port 80 before running above command.
### PHP 7.0, 7.1, PHP 7.2
To use older versions PHP 7.0, 7.1, or 7.2 use Docker images with `7.0`, `7.1`, or `7.2`:
```Dockerfile
FROM phpearth/php:7.2-nginx
RUN apk add --no-cache composer
```
## PHP.earth Alpine repository
These Docker images include the latest PHP versions and packages for Alpine Linux via the 3rd party [PHP.earth Alpine repository](https://docs.php.earth/linux/alpine).
```Dockerfile
FROM alpine:3.8
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN echo "https://repos.php.earth/alpine" >> /etc/apk/repositories \
&& apk add --no-cache php7.3
```
PHP.earth Alpine packages are prefixed with `php7.3`, `php7.2`, `php7.1`, and `php7.0`.
## Building Images
Images are automatically build on [Docker Hub](https://hub.docker.com/r/phpearth/php/).
Docker Cloud and therefore Docker Hub also provides
[overriding and customization](https://docs.docker.com/docker-cloud/builds/advanced/)
of various commands when building images automatically.
There are some hooks defined in the `docker/hooks` folder:
* `hooks/build` - executed when building image
* `hooks/post_push` - executed after building image, used to push additional tags
to Docker Hub.
### Labels
[Labels](https://docs.docker.com/engine/userguide/labels-custom-metadata/) are
neat way to expose additional metadata about particular Docker object. We use
[Label Schema](http://label-schema.org/) when defining image labels:
* `build-date` - Date and time of the build. Defined as
`org.label-schema.build-date=$BUILD_DATE`, where `$BUILD_DATE` is set dynamically
via above `hooks/build` script
* `vcs-url` - Repository location on GitHub. Defined as
`org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git"`
* `vcs-ref` - Reference to commit in Git repository
* `schema-version` - Version of the Label Schema in use.
* `vendor` - Vendor name of the image creators.
* `name`
* `description`
* `url`
## License and contributing
[Contributions](https://github.com/phpearth/docker-php/blob/master/.github/CONTRIBUTING.md) are most welcome. This repository is released under the [MIT license](https://github.com/phpearth/docker-php/blob/master/LICENSE).
================================================
FILE: docker/7.0-apache.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Apache, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
php7.0-apache2 \
curl \
ca-certificates \
runit \
apache2 \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& mkdir -p /run/apache2 \
&& ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
COPY tags/apache /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.0-cgi.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.0, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
php7.0-cgi \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.0-cli.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.0, additional PHP extensions, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.0-lighttpd.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Lighttpd, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
lighttpd \
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
php7.0-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
COPY tags/lighttpd /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.0-litespeed.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, OpenLiteSpeed, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
curl \
ca-certificates \
runit \
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
php7.0-litespeed \
litespeed \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
&& ln -sf /dev/stderr /var/lib/litespeed/logs/error.log
COPY tags/litespeed /
EXPOSE 8088 7080
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.0-nginx.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Nginx, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
nginx \
nginx-mod-http-headers-more \
php7.0 \
php7.0-phar \
php7.0-bcmath \
php7.0-calendar \
php7.0-mbstring \
php7.0-exif \
php7.0-ftp \
php7.0-openssl \
php7.0-zip \
php7.0-sysvsem \
php7.0-sysvshm \
php7.0-sysvmsg \
php7.0-shmop \
php7.0-sockets \
php7.0-zlib \
php7.0-bz2 \
php7.0-curl \
php7.0-simplexml \
php7.0-xml \
php7.0-opcache \
php7.0-dom \
php7.0-xmlreader \
php7.0-xmlwriter \
php7.0-tokenizer \
php7.0-ctype \
php7.0-session \
php7.0-fileinfo \
php7.0-iconv \
php7.0-json \
php7.0-posix \
php7.0-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY tags/nginx /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.0.Dockerfile
================================================
FROM alpine:3.7
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.0, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.0 \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.1-apache.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Apache, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
php7.1-apache2 \
curl \
ca-certificates \
runit \
apache2 \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& mkdir -p /run/apache2 \
&& ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
COPY tags/apache /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.1-cgi.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.1, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
php7.1-cgi \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.1-cli.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.1, additional PHP extensions, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.1-lighttpd.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Lighttpd, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
lighttpd \
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
php7.1-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
COPY tags/lighttpd /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.1-litespeed.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, OpenLiteSpeed, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
curl \
ca-certificates \
runit \
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
php7.1-litespeed \
litespeed \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
&& ln -sf /dev/stderr /var/lib/litespeed/logs/error.log
COPY tags/litespeed /
EXPOSE 8088 7080
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.1-nginx.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Nginx, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
nginx \
nginx-mod-http-headers-more \
php7.1 \
php7.1-phar \
php7.1-bcmath \
php7.1-calendar \
php7.1-mbstring \
php7.1-exif \
php7.1-ftp \
php7.1-openssl \
php7.1-zip \
php7.1-sysvsem \
php7.1-sysvshm \
php7.1-sysvmsg \
php7.1-shmop \
php7.1-sockets \
php7.1-zlib \
php7.1-bz2 \
php7.1-curl \
php7.1-simplexml \
php7.1-xml \
php7.1-opcache \
php7.1-dom \
php7.1-xmlreader \
php7.1-xmlwriter \
php7.1-tokenizer \
php7.1-ctype \
php7.1-session \
php7.1-fileinfo \
php7.1-iconv \
php7.1-json \
php7.1-posix \
php7.1-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY tags/nginx /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.1.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.1, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.1 \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.2-apache.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Apache, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
php7.2-apache2 \
curl \
ca-certificates \
runit \
apache2 \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& mkdir -p /run/apache2 \
&& ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
COPY tags/apache /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.2-cgi.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.2, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
php7.2-cgi \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.2-cli.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.2, additional PHP extensions, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.2-lighttpd.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Lighttpd, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
lighttpd \
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
php7.2-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
COPY tags/lighttpd /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.2-litespeed.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, OpenLiteSpeed, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
curl \
ca-certificates \
runit \
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
php7.2-litespeed \
litespeed \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
&& ln -sf /dev/stderr /var/lib/litespeed/logs/error.log
COPY tags/litespeed /
EXPOSE 8088 7080
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.2-nginx.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Nginx, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
nginx \
nginx-mod-http-headers-more \
php7.2 \
php7.2-phar \
php7.2-bcmath \
php7.2-calendar \
php7.2-mbstring \
php7.2-exif \
php7.2-ftp \
php7.2-openssl \
php7.2-zip \
php7.2-sysvsem \
php7.2-sysvshm \
php7.2-sysvmsg \
php7.2-shmop \
php7.2-sockets \
php7.2-zlib \
php7.2-bz2 \
php7.2-curl \
php7.2-simplexml \
php7.2-xml \
php7.2-opcache \
php7.2-dom \
php7.2-xmlreader \
php7.2-xmlwriter \
php7.2-tokenizer \
php7.2-ctype \
php7.2-session \
php7.2-fileinfo \
php7.2-iconv \
php7.2-json \
php7.2-posix \
php7.2-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY tags/nginx /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.2.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.2, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.2 \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache --virtual .build-deps $BUILD_DEPS \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.3-apache.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Apache, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
php7.3-apache2 \
curl \
ca-certificates \
runit \
apache2 \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& mkdir -p /run/apache2 \
&& ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
COPY tags/apache /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.3-cgi.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.3, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
php7.3-cgi \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.3-cli.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.3, additional PHP extensions, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.3-lighttpd.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Lighttpd, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
lighttpd \
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
php7.3-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
COPY tags/lighttpd /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.3-litespeed.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, OpenLiteSpeed, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
curl \
ca-certificates \
runit \
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
php7.3-litespeed \
litespeed \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
&& ln -sf /dev/stderr /var/lib/litespeed/logs/error.log
COPY tags/litespeed /
EXPOSE 8088 7080
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.3-nginx.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Nginx, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
nginx \
nginx-mod-http-headers-more \
php7.3 \
php7.3-phar \
php7.3-bcmath \
php7.3-calendar \
php7.3-mbstring \
php7.3-exif \
php7.3-ftp \
php7.3-openssl \
php7.3-zip \
php7.3-sysvsem \
php7.3-sysvshm \
php7.3-sysvmsg \
php7.3-shmop \
php7.3-sockets \
php7.3-zlib \
php7.3-bz2 \
php7.3-curl \
php7.3-simplexml \
php7.3-xml \
php7.3-opcache \
php7.3-dom \
php7.3-xmlreader \
php7.3-xmlwriter \
php7.3-tokenizer \
php7.3-ctype \
php7.3-session \
php7.3-fileinfo \
php7.3-iconv \
php7.3-json \
php7.3-posix \
php7.3-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY tags/nginx /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.3.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.3, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.3 \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache --virtual .build-deps $BUILD_DEPS \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.4-apache.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Apache, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
php7.4-apache2 \
curl \
ca-certificates \
runit \
apache2 \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& mkdir -p /run/apache2 \
&& ln -sf /dev/stdout /var/log/apache2/access.log \
&& ln -sf /dev/stderr /var/log/apache2/error.log
COPY tags/apache /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.4-cgi.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.4, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
php7.4-cgi \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.4-cli.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.4, additional PHP extensions, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/7.4-lighttpd.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Lighttpd, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
lighttpd \
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
php7.4-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS
COPY tags/lighttpd /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.4-litespeed.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, OpenLiteSpeed, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
curl \
ca-certificates \
runit \
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
php7.4-litespeed \
litespeed \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
&& ln -sf /dev/stderr /var/lib/litespeed/logs/error.log
COPY tags/litespeed /
EXPOSE 8088 7080
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.4-nginx.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Nginx, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
nginx \
nginx-mod-http-headers-more \
php7.4 \
php7.4-phar \
php7.4-bcmath \
php7.4-calendar \
php7.4-mbstring \
php7.4-exif \
php7.4-ftp \
php7.4-openssl \
php7.4-zip \
php7.4-sysvsem \
php7.4-sysvshm \
php7.4-sysvmsg \
php7.4-shmop \
php7.4-sockets \
php7.4-zlib \
php7.4-bz2 \
php7.4-curl \
php7.4-simplexml \
php7.4-xml \
php7.4-opcache \
php7.4-dom \
php7.4-xmlreader \
php7.4-xmlwriter \
php7.4-tokenizer \
php7.4-ctype \
php7.4-session \
php7.4-fileinfo \
php7.4-iconv \
php7.4-json \
php7.4-posix \
php7.4-fpm \
curl \
ca-certificates \
runit \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache $DEPS \
&& ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
COPY tags/nginx /
EXPOSE 80
CMD ["/sbin/runit-wrapper"]
================================================
FILE: docker/7.4.Dockerfile
================================================
FROM alpine:3.9
ARG BUILD_DATE
ARG VCS_REF
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.schema-version="1.0" \
org.label-schema.vendor="PHP.earth" \
org.label-schema.name="docker-php" \
org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.4, and Alpine" \
org.label-schema.url="https://github.com/phpearth/docker-php"
# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4
# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1
# Persistent runtime dependencies
ARG DEPS="\
php7.4 \
curl \
ca-certificates \
"
# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN set -x \
&& echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
&& apk add --no-cache --virtual .build-deps $BUILD_DEPS \
&& apk add --no-cache $DEPS
CMD ["php", "-a"]
================================================
FILE: docker/hooks/build
================================================
#!/bin/bash
TAG=$(echo $IMAGE_NAME| cut -d':' -f 2)
echo "Build hook running"
docker build --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
--build-arg VCS_REF=`git rev-parse --short HEAD` \
-t $IMAGE_NAME -f $TAG.Dockerfile .
================================================
FILE: docker/hooks/post_push
================================================
#!/bin/bash
TAG=$(echo $IMAGE_NAME| cut -d':' -f 2)
if [ "$TAG" == "7.3" ]; then
docker tag $IMAGE_NAME $DOCKER_REPO:latest
docker push $DOCKER_REPO:latest
fi
================================================
FILE: docker/tags/apache/etc/service/apache/run
================================================
#!/bin/sh
exec 2>&1
source /env
exec /usr/sbin/httpd -D FOREGROUND
================================================
FILE: docker/tags/apache/sbin/runit-wrapper
================================================
#!/bin/sh
main() {
# Dump environment
export > /env
trap onterm SIGTERM SIGINT
echo "Starting runit"
/sbin/runsvdir-start &
wait "$!"
}
onterm() {
echo "Exiting..."
pkill -SIGHUP runsvdir-start
exit $?
}
main "$@"
================================================
FILE: docker/tags/apache/sbin/runsvdir-start
================================================
#!/bin/sh
export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
exec runsvdir -P /etc/service
================================================
FILE: docker/tags/lighttpd/etc/lighttpd/example.conf
================================================
server.document-root = "/var/www/localhost/htdocs/"
server.port = 80
server.username = "lighttpd"
server.groupname = "lighttpd"
mimetype.assign = (
".html" => "text/html",
".txt" => "text/plain",
".jpg" => "image/jpeg",
".png" => "image/png"
)
static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html", "index.php" )
server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
("localhost" =>
(
"socket" => "/run/php/php-fpm.sock"
)
)
)
================================================
FILE: docker/tags/lighttpd/etc/service/lighttpd/run
================================================
#!/bin/sh
exec 2>&1
source /env
exec /usr/sbin/lighttpd -D -f /etc/lighttpd/example.conf
================================================
FILE: docker/tags/lighttpd/etc/service/php-fpm/run
================================================
#!/bin/sh
exec 2>&1
source /env
exec php-fpm --nodaemonize
================================================
FILE: docker/tags/lighttpd/sbin/runit-wrapper
================================================
#!/bin/sh
main() {
# Dump environment
export > /env
trap onterm SIGTERM SIGINT
echo "Starting runit"
/sbin/runsvdir-start &
wait "$!"
}
onterm() {
echo "Exiting..."
pkill -SIGHUP runsvdir-start
exit $?
}
main "$@"
================================================
FILE: docker/tags/lighttpd/sbin/runsvdir-start
================================================
#!/bin/sh
export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
exec runsvdir -P /etc/service
================================================
FILE: docker/tags/lighttpd/var/www/localhost/htdocs/index.php
================================================
<?php
phpinfo();
================================================
FILE: docker/tags/litespeed/etc/service/lsws/run
================================================
#!/bin/sh
exec 2>&1
source /env
exec sh /var/lib/litespeed/bin/lswsctrl start
================================================
FILE: docker/tags/litespeed/sbin/runit-wrapper
================================================
#!/bin/sh
main() {
# Dump environment
export > /env
trap onterm SIGTERM SIGINT
echo "Starting runit"
/sbin/runsvdir-start &
wait "$!"
}
onterm() {
echo "Exiting..."
pkill -SIGHUP runsvdir-start
exit $?
}
main "$@"
================================================
FILE: docker/tags/litespeed/sbin/runsvdir-start
================================================
#!/bin/sh
export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
exec runsvdir -P /etc/service
================================================
FILE: docker/tags/nginx/etc/nginx/conf.d/default.conf
================================================
server {
listen 80 default_server;
root /var/www/html;
index index.html index.htm index.php;
server_name _;
charset utf-8;
location = /favicon.ico { log_not_found off; access_log off; }
location = /robots.txt { log_not_found off; access_log off; }
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
include fastcgi.conf;
}
error_page 404 /index.php;
location ~ /\.ht {
deny all;
}
}
================================================
FILE: docker/tags/nginx/etc/service/nginx/run
================================================
#!/bin/sh
exec 2>&1
source /env
mkdir -p /run/nginx
exec /usr/sbin/nginx -g 'daemon off;'
================================================
FILE: docker/tags/nginx/etc/service/php-fpm/run
================================================
#!/bin/sh
exec 2>&1
source /env
exec php-fpm --nodaemonize
================================================
FILE: docker/tags/nginx/sbin/runit-wrapper
================================================
#!/bin/sh
main() {
# Dump environment
export > /env
trap onterm SIGTERM SIGINT
echo "Starting runit"
/sbin/runsvdir-start &
wait "$!"
}
onterm() {
echo "Exiting..."
pkill -SIGHUP runsvdir-start
exit $?
}
main "$@"
================================================
FILE: docker/tags/nginx/sbin/runsvdir-start
================================================
#!/bin/sh
export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin
exec runsvdir -P /etc/service
================================================
FILE: docker/tags/nginx/var/www/html/index.php
================================================
<?php
phpinfo();
================================================
FILE: tests/7.0-apache/goss.yaml
================================================
file:
/var/log/apache2/access.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stdout
filetype: symlink
contains: []
/var/log/apache2/error.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stderr
filetype: symlink
contains: []
package:
apache2:
installed: true
port:
tcp:80:
listening: false
ip: []
process:
httpd:
running: true
http:
http://localhost:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- It works!
================================================
FILE: tests/7.0-apache/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-apache -f ../../docker/7.0-apache.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 80:80 phpearth/test:7.0-apache || ((i++))
exit $i
================================================
FILE: tests/7.0-cgi/goss.yaml
================================================
command:
php-cgi -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- bcmath
- bz2
- calendar
- cgi-fcgi
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- json
- libxml
- mbstring
- openssl
- pcre
- Phar
- posix
- readline
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xml
- xmlreader
- xmlwriter
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.0-cgi/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-cgi -f ../../docker/7.0-cgi.Dockerfile ../../docker || exit 1
i=0
time dgoss run -it phpearth/test:7.0-cgi || ((i++))
exit $i
================================================
FILE: tests/7.0-composer/Dockerfile
================================================
FROM phpearth/test:7.0-cli
RUN set -x \
&& apk add --no-cache \
composer
================================================
FILE: tests/7.0-composer/goss.yaml
================================================
command:
composer about:
exit-status: 0
stdout:
- 'Composer - Package Management for PHP'
stderr: []
timeout: 10000
================================================
FILE: tests/7.0-composer/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.0-composer -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.0-composer || ((i++))
exit $i
================================================
FILE: tests/7.0-extensions/Dockerfile
================================================
FROM phpearth/test:7.0-cli
RUN set -x \
&& apk add --no-cache \
php7.0-apcu \
php7.0-cmark \
php7.0-ds \
php7.0-imagick \
php7.0-sodium \
php7.0-memcached \
php7.0-meminfo \
php7.0-mongodb \
php7.0-redis \
php7.0-swoole \
php7.0-xdebug \
php7.0-yaml
================================================
FILE: tests/7.0-extensions/goss.yaml
================================================
command:
php -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- apcu
- bcmath
- bz2
- calendar
- cmark
- Core
- ctype
- curl
- date
- dom
- ds
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- imagick
- json
- sodium
- libxml
- mbstring
- memcached
- meminfo
- mongodb
- openssl
- pcre
- Phar
- posix
- readline
- redis
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- swoole
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xdebug
- xml
- xmlreader
- xmlwriter
- yaml
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Xdebug
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.0-extensions/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.0-extensions -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.0-extensions || ((i++))
exit $i
================================================
FILE: tests/7.0-litespeed/goss.yaml
================================================
file:
/var/log/litespeed/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/litespeed/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
process:
litespeed:
running: true
http:
http://localhost:8088:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- You have successfully installed the OpenLiteSpeed Web Server!
================================================
FILE: tests/7.0-litespeed/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-litespeed -f ../../docker/7.0-litespeed.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 8088:8088 phpearth/test:7.0-litespeed || ((i++))
exit $i
================================================
FILE: tests/7.0-nginx/goss.yaml
================================================
file:
/var/log/nginx/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/nginx/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
package:
nginx:
installed: true
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
process:
nginx:
running: true
http:
http://localhost:
status: 200
no-follow-redirects: false
timeout: 5000
body:
- PHP Version 7.0
================================================
FILE: tests/7.0-nginx/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.0-nginx -f ../../docker/7.0-nginx.Dockerfile ../../docker || exit 1
i=0
time dgoss run phpearth/test:7.0-nginx || ((i++))
exit $i
================================================
FILE: tests/7.1-apache/goss.yaml
================================================
file:
/var/log/apache2/access.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stdout
filetype: symlink
contains: []
/var/log/apache2/error.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stderr
filetype: symlink
contains: []
package:
apache2:
installed: true
port:
tcp:80:
listening: false
ip: []
process:
httpd:
running: true
http:
http://localhost:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- It works!
================================================
FILE: tests/7.1-apache/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-apache -f ../../docker/7.1-apache.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 80:80 phpearth/test:7.1-apache || ((i++))
exit $i
================================================
FILE: tests/7.1-cgi/goss.yaml
================================================
command:
php-cgi -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- bcmath
- bz2
- calendar
- cgi-fcgi
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- json
- libxml
- mbstring
- openssl
- pcre
- Phar
- posix
- readline
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xml
- xmlreader
- xmlwriter
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.1-cgi/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-cgi -f ../../docker/7.1-cgi.Dockerfile ../../docker || exit 1
i=0
time dgoss run -it phpearth/test:7.1-cgi || ((i++))
exit $i
================================================
FILE: tests/7.1-composer/Dockerfile
================================================
FROM phpearth/test:7.1-cli
RUN set -x \
&& apk add --no-cache \
composer
================================================
FILE: tests/7.1-composer/goss.yaml
================================================
command:
composer about:
exit-status: 0
stdout:
- 'Composer - Package Management for PHP'
stderr: []
timeout: 10000
================================================
FILE: tests/7.1-composer/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-composer -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.1-composer || ((i++))
exit $i
================================================
FILE: tests/7.1-extensions/Dockerfile
================================================
FROM phpearth/test:7.1-cli
RUN apk add --no-cache \
php7.1-apcu \
php7.1-cmark \
php7.1-ds \
php7.1-imagick \
php7.1-sodium \
php7.1-memcached \
php7.1-meminfo \
php7.1-mongodb \
php7.1-redis \
php7.1-swoole \
php7.1-xdebug \
php7.1-yaml
================================================
FILE: tests/7.1-extensions/goss.yaml
================================================
command:
php -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- apcu
- bcmath
- bz2
- calendar
- cmark
- Core
- ctype
- curl
- date
- dom
- ds
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- imagick
- json
- sodium
- libxml
- mbstring
- memcached
- meminfo
- mongodb
- openssl
- pcre
- Phar
- posix
- readline
- redis
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- swoole
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xdebug
- xml
- xmlreader
- xmlwriter
- yaml
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Xdebug
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.1-extensions/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-extensions -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.1-extensions || ((i++))
exit $i
================================================
FILE: tests/7.1-iconv/Dockerfile
================================================
FROM phpearth/test:7.1-cli
RUN mkdir -p /usr/src/app
ADD iconv.php /usr/src/app/iconv.php
WORKDIR /usr/src/app
================================================
FILE: tests/7.1-iconv/goss.yaml
================================================
command:
php iconv.php:
exit-status: 0
stdout: ['!/./']
stderr: ['!/./']
timeout: 10000
================================================
FILE: tests/7.1-iconv/iconv.php
================================================
<?php
ini_set('display_errors', '1');
error_reporting(-1);
iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', 'šěýčíéáýřčíšýíščř');
================================================
FILE: tests/7.1-iconv/test
================================================
#!/bin/bash
docker build --no-cache -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.1-iconv -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.1-iconv || ((i++))
exit $i
================================================
FILE: tests/7.1-litespeed/goss.yaml
================================================
file:
/var/log/litespeed/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/litespeed/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
process:
litespeed:
running: true
http:
http://localhost:8088:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- You have successfully installed the OpenLiteSpeed Web Server!
================================================
FILE: tests/7.1-litespeed/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-litespeed -f ../../docker/7.1-litespeed.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 8088:8088 phpearth/test:7.1-litespeed || ((i++))
exit $i
================================================
FILE: tests/7.1-nginx/goss.yaml
================================================
file:
/var/log/nginx/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/nginx/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
package:
nginx:
installed: true
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
process:
nginx:
running: true
http:
http://localhost:
status: 200
no-follow-redirects: false
timeout: 5000
body:
- PHP Version 7.1
================================================
FILE: tests/7.1-nginx/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-nginx -f ../../docker/7.1-nginx.Dockerfile ../../docker || exit 1
i=0
time dgoss run phpearth/test:7.1-nginx || ((i++))
exit $i
================================================
FILE: tests/7.1-phpunit/Dockerfile
================================================
FROM phpearth/test:7.1-cli
RUN set -x \
&& apk add --no-cache \
phpunit
================================================
FILE: tests/7.1-phpunit/goss.yaml
================================================
command:
phpunit --version:
exit-status: 0
stdout:
- 'by Sebastian Bergmann and contributors.'
stderr: []
timeout: 10000
phpunit --atleast-version 8:
exit-status: 1
stdout:
- ''
stderr: []
timeout: 10000
phpunit --atleast-version 6.3:
exit-status: 0
stdout:
- ''
stderr: []
timeout: 10000
================================================
FILE: tests/7.1-phpunit/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-phpunit -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.1-phpunit || ((i++))
exit $i
================================================
FILE: tests/7.2-apache/goss.yaml
================================================
file:
/var/log/apache2/access.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stdout
filetype: symlink
contains: []
/var/log/apache2/error.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stderr
filetype: symlink
contains: []
package:
apache2:
installed: true
port:
tcp:80:
listening: false
ip: []
process:
httpd:
running: true
http:
http://localhost:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- It works!
================================================
FILE: tests/7.2-apache/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-apache -f ../../docker/7.2-apache.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 80:80 phpearth/test:7.2-apache || ((i++))
exit $i
================================================
FILE: tests/7.2-argon/Dockerfile
================================================
FROM phpearth/test:7.2-cli
RUN mkdir -p /usr/src/app
ADD argon.php /usr/src/app/argon.php
WORKDIR /usr/src/app
================================================
FILE: tests/7.2-argon/argon.php
================================================
<?php
// plain text password
$password = 'secretcode';
// password hashed with PASSWORD_ARGON2I
echo password_hash($password, PASSWORD_ARGON2I);
================================================
FILE: tests/7.2-argon/goss.yaml
================================================
command:
php argon.php:
exit-status: 0
stderr: ['!/./']
timeout: 10000
================================================
FILE: tests/7.2-argon/test
================================================
#!/bin/bash
docker build --no-cache -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.2-argon -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.2-argon || ((i++))
exit $i
================================================
FILE: tests/7.2-cgi/goss.yaml
================================================
command:
php-cgi -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- bcmath
- bz2
- calendar
- cgi-fcgi
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- json
- libxml
- mbstring
- openssl
- pcre
- Phar
- posix
- readline
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xml
- xmlreader
- xmlwriter
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.2-cgi/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-cgi -f ../../docker/7.2-cgi.Dockerfile ../../docker || exit 1
i=0
time dgoss run -it phpearth/test:7.2-cgi || ((i++))
exit $i
================================================
FILE: tests/7.2-composer/Dockerfile
================================================
FROM phpearth/test:7.2-cli
RUN set -x \
&& apk add --no-cache \
composer
================================================
FILE: tests/7.2-composer/goss.yaml
================================================
command:
composer about:
exit-status: 0
stdout:
- 'Composer - Package Management for PHP'
stderr: []
timeout: 10000
================================================
FILE: tests/7.2-composer/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-composer -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.2-composer || ((i++))
exit $i
================================================
FILE: tests/7.2-extensions/Dockerfile
================================================
FROM phpearth/test:7.2-cli
RUN apk add --no-cache \
php7.2-apcu \
php7.2-cmark \
php7.2-ds \
php7.2-imagick \
php7.2-sodium \
php7.2-memcached \
php7.2-meminfo \
php7.2-mongodb \
php7.2-redis \
php7.2-swoole \
php7.2-xdebug \
php7.2-yaml
================================================
FILE: tests/7.2-extensions/goss.yaml
================================================
command:
php -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- apcu
- bcmath
- bz2
- calendar
- cmark
- Core
- ctype
- curl
- date
- dom
- ds
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- imagick
- json
- sodium
- libxml
- mbstring
- memcached
- meminfo
- mongodb
- openssl
- pcre
- Phar
- posix
- readline
- redis
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- swoole
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xdebug
- xml
- xmlreader
- xmlwriter
- yaml
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Xdebug
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.2-extensions/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-extensions -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.2-extensions || ((i++))
exit $i
================================================
FILE: tests/7.2-litespeed/goss.yaml
================================================
file:
/var/log/litespeed/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/litespeed/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
process:
litespeed:
running: true
http:
http://localhost:8088:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- You have successfully installed the OpenLiteSpeed Web Server!
================================================
FILE: tests/7.2-litespeed/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-litespeed -f ../../docker/7.2-litespeed.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 8088:8088 phpearth/test:7.2-litespeed || ((i++))
exit $i
================================================
FILE: tests/7.2-nginx/goss.yaml
================================================
file:
/var/log/nginx/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/nginx/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
package:
nginx:
installed: true
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
process:
nginx:
running: true
http:
http://localhost:
status: 200
no-follow-redirects: false
timeout: 5000
body:
- PHP Version 7.2
================================================
FILE: tests/7.2-nginx/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-nginx -f ../../docker/7.2-nginx.Dockerfile ../../docker || exit 1
i=0
time dgoss run phpearth/test:7.2-nginx || ((i++))
exit $i
================================================
FILE: tests/7.2-phpunit/Dockerfile
================================================
FROM phpearth/test:7.2-cli
RUN set -x \
&& apk add --no-cache \
phpunit
================================================
FILE: tests/7.2-phpunit/goss.yaml
================================================
command:
phpunit --version:
exit-status: 0
stdout:
- 'by Sebastian Bergmann and contributors.'
stderr: []
timeout: 10000
phpunit --atleast-version 8:
exit-status: 1
stdout:
- ''
stderr: []
timeout: 10000
phpunit --atleast-version 6.3:
exit-status: 0
stdout:
- ''
stderr: []
timeout: 10000
================================================
FILE: tests/7.2-phpunit/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-phpunit -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.2-phpunit || ((i++))
exit $i
================================================
FILE: tests/7.3-apache/goss.yaml
================================================
file:
/var/log/apache2/access.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stdout
filetype: symlink
contains: []
/var/log/apache2/error.log:
exists: true
mode: "0777"
size: 11
owner: root
group: wheel
linked-to: /dev/stderr
filetype: symlink
contains: []
package:
apache2:
installed: true
port:
tcp:80:
listening: false
ip: []
process:
httpd:
running: true
http:
http://localhost:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- It works!
================================================
FILE: tests/7.3-apache/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-apache -f ../../docker/7.3-apache.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 80:80 phpearth/test:7.3-apache || ((i++))
exit $i
================================================
FILE: tests/7.3-argon/Dockerfile
================================================
FROM phpearth/test:7.3-cli
RUN mkdir -p /usr/src/app
ADD argon.php /usr/src/app/argon.php
WORKDIR /usr/src/app
================================================
FILE: tests/7.3-argon/argon.php
================================================
<?php
// plain text password
$password = 'secretcode';
// password hashed with PASSWORD_ARGON2I
echo password_hash($password, PASSWORD_ARGON2I);
================================================
FILE: tests/7.3-argon/goss.yaml
================================================
command:
php argon.php:
exit-status: 0
stderr: ['!/./']
timeout: 10000
================================================
FILE: tests/7.3-argon/test
================================================
#!/bin/bash
docker build --no-cache -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.3-argon -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.3-argon || ((i++))
exit $i
================================================
FILE: tests/7.3-cgi/goss.yaml
================================================
command:
php-cgi -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- bcmath
- bz2
- calendar
- cgi-fcgi
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- json
- libxml
- mbstring
- openssl
- pcre
- Phar
- posix
- readline
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xml
- xmlreader
- xmlwriter
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.3-cgi/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-cgi -f ../../docker/7.3-cgi.Dockerfile ../../docker || exit 1
i=0
time dgoss run -it phpearth/test:7.3-cgi || ((i++))
exit $i
================================================
FILE: tests/7.3-composer/Dockerfile
================================================
FROM phpearth/test:7.3-cli
RUN set -x \
&& apk add --no-cache \
composer
================================================
FILE: tests/7.3-composer/goss.yaml
================================================
command:
composer about:
exit-status: 0
stdout:
- 'Composer - Package Management for PHP'
stderr: []
timeout: 10000
================================================
FILE: tests/7.3-composer/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-composer -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.3-composer || ((i++))
exit $i
================================================
FILE: tests/7.3-extensions/Dockerfile
================================================
FROM phpearth/test:7.3-cli
RUN apk add --no-cache \
php7.3-apcu \
php7.3-cmark \
php7.3-ds \
php7.3-imagick \
php7.3-sodium \
php7.3-memcached \
php7.3-meminfo \
php7.3-mongodb \
php7.3-redis \
php7.3-swoole \
php7.3-xdebug \
php7.3-yaml
================================================
FILE: tests/7.3-extensions/goss.yaml
================================================
command:
php -m:
exit-status: 0
stdout:
- '[PHP Modules]'
- apcu
- bcmath
- bz2
- calendar
- cmark
- Core
- ctype
- curl
- date
- dom
- ds
- exif
- fileinfo
- filter
- ftp
- hash
- iconv
- imagick
- json
- sodium
- libxml
- mbstring
- memcached
- meminfo
- mongodb
- openssl
- pcre
- Phar
- posix
- readline
- redis
- Reflection
- session
- shmop
- SimpleXML
- sockets
- SPL
- standard
- swoole
- sysvmsg
- sysvsem
- sysvshm
- tokenizer
- xdebug
- xml
- xmlreader
- xmlwriter
- yaml
- Zend OPcache
- zip
- zlib
- '[Zend Modules]'
- Xdebug
- Zend OPcache
stderr: []
timeout: 10000
================================================
FILE: tests/7.3-extensions/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-extensions -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.3-extensions || ((i++))
exit $i
================================================
FILE: tests/7.3-litespeed/goss.yaml
================================================
file:
/var/log/litespeed/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/litespeed/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
process:
litespeed:
running: true
http:
http://localhost:8088:
status: 200
allow-insecure: false
no-follow-redirects: false
timeout: 5000
body:
- You have successfully installed the OpenLiteSpeed Web Server!
================================================
FILE: tests/7.3-litespeed/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-litespeed -f ../../docker/7.3-litespeed.Dockerfile ../../docker || exit 1
i=0
time dgoss run -p 8088:8088 phpearth/test:7.3-litespeed || ((i++))
exit $i
================================================
FILE: tests/7.3-nginx/goss.yaml
================================================
file:
/var/log/nginx/access.log:
exists: true
linked-to: /dev/stdout
filetype: symlink
/var/log/nginx/error.log:
exists: true
linked-to: /dev/stderr
filetype: symlink
package:
nginx:
installed: true
port:
tcp:80:
listening: true
ip:
- 0.0.0.0
process:
nginx:
running: true
http:
http://localhost:
status: 200
no-follow-redirects: false
timeout: 5000
body:
- PHP Version 7.3
================================================
FILE: tests/7.3-nginx/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-nginx -f ../../docker/7.3-nginx.Dockerfile ../../docker || exit 1
i=0
time dgoss run phpearth/test:7.3-nginx || ((i++))
exit $i
================================================
FILE: tests/7.3-phpunit/Dockerfile
================================================
FROM phpearth/test:7.3-cli
RUN set -x \
&& apk add --no-cache \
phpunit
================================================
FILE: tests/7.3-phpunit/goss.yaml
================================================
command:
phpunit --version:
exit-status: 0
stdout:
- 'by Sebastian Bergmann and contributors.'
stderr: []
timeout: 10000
phpunit --atleast-version 8:
exit-status: 1
stdout:
- ''
stderr: []
timeout: 10000
phpunit --atleast-version 6.3:
exit-status: 0
stdout:
- ''
stderr: []
timeout: 10000
================================================
FILE: tests/7.3-phpunit/test
================================================
#!/bin/bash
docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-phpunit -f Dockerfile .
i=0
time dgoss run -it phpearth/test:7.3-phpunit || ((i++))
exit $i
================================================
FILE: tests/test
================================================
#!/bin/bash
tests="${1:-all}"
i=0
run() {
echo -e "\n\n======================="
echo "testing $1"
echo "======================="
pushd $1 > /dev/null
./test || ((i++))
popd > /dev/null
}
if [ "$tests" = "all" ]; then
for x in */;do
run $x
done
else
for test in $tests; do
run $test
done
fi
exit $i
gitextract_z_dotten/
├── .editorconfig
├── .github/
│ ├── CODE_OF_CONDUCT.md
│ └── CONTRIBUTING.md
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── docker/
│ ├── 7.0-apache.Dockerfile
│ ├── 7.0-cgi.Dockerfile
│ ├── 7.0-cli.Dockerfile
│ ├── 7.0-lighttpd.Dockerfile
│ ├── 7.0-litespeed.Dockerfile
│ ├── 7.0-nginx.Dockerfile
│ ├── 7.0.Dockerfile
│ ├── 7.1-apache.Dockerfile
│ ├── 7.1-cgi.Dockerfile
│ ├── 7.1-cli.Dockerfile
│ ├── 7.1-lighttpd.Dockerfile
│ ├── 7.1-litespeed.Dockerfile
│ ├── 7.1-nginx.Dockerfile
│ ├── 7.1.Dockerfile
│ ├── 7.2-apache.Dockerfile
│ ├── 7.2-cgi.Dockerfile
│ ├── 7.2-cli.Dockerfile
│ ├── 7.2-lighttpd.Dockerfile
│ ├── 7.2-litespeed.Dockerfile
│ ├── 7.2-nginx.Dockerfile
│ ├── 7.2.Dockerfile
│ ├── 7.3-apache.Dockerfile
│ ├── 7.3-cgi.Dockerfile
│ ├── 7.3-cli.Dockerfile
│ ├── 7.3-lighttpd.Dockerfile
│ ├── 7.3-litespeed.Dockerfile
│ ├── 7.3-nginx.Dockerfile
│ ├── 7.3.Dockerfile
│ ├── 7.4-apache.Dockerfile
│ ├── 7.4-cgi.Dockerfile
│ ├── 7.4-cli.Dockerfile
│ ├── 7.4-lighttpd.Dockerfile
│ ├── 7.4-litespeed.Dockerfile
│ ├── 7.4-nginx.Dockerfile
│ ├── 7.4.Dockerfile
│ ├── hooks/
│ │ ├── build
│ │ └── post_push
│ └── tags/
│ ├── apache/
│ │ ├── etc/
│ │ │ └── service/
│ │ │ └── apache/
│ │ │ └── run
│ │ └── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ ├── lighttpd/
│ │ ├── etc/
│ │ │ ├── lighttpd/
│ │ │ │ └── example.conf
│ │ │ └── service/
│ │ │ ├── lighttpd/
│ │ │ │ └── run
│ │ │ └── php-fpm/
│ │ │ └── run
│ │ ├── sbin/
│ │ │ ├── runit-wrapper
│ │ │ └── runsvdir-start
│ │ └── var/
│ │ └── www/
│ │ └── localhost/
│ │ └── htdocs/
│ │ └── index.php
│ ├── litespeed/
│ │ ├── etc/
│ │ │ └── service/
│ │ │ └── lsws/
│ │ │ └── run
│ │ └── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ └── nginx/
│ ├── etc/
│ │ ├── nginx/
│ │ │ └── conf.d/
│ │ │ └── default.conf
│ │ └── service/
│ │ ├── nginx/
│ │ │ └── run
│ │ └── php-fpm/
│ │ └── run
│ ├── sbin/
│ │ ├── runit-wrapper
│ │ └── runsvdir-start
│ └── var/
│ └── www/
│ └── html/
│ └── index.php
└── tests/
├── 7.0-apache/
│ ├── goss.yaml
│ └── test
├── 7.0-cgi/
│ ├── goss.yaml
│ └── test
├── 7.0-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.0-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.0-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.0-nginx/
│ ├── goss.yaml
│ └── test
├── 7.1-apache/
│ ├── goss.yaml
│ └── test
├── 7.1-cgi/
│ ├── goss.yaml
│ └── test
├── 7.1-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.1-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.1-iconv/
│ ├── Dockerfile
│ ├── goss.yaml
│ ├── iconv.php
│ └── test
├── 7.1-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.1-nginx/
│ ├── goss.yaml
│ └── test
├── 7.1-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-apache/
│ ├── goss.yaml
│ └── test
├── 7.2-argon/
│ ├── Dockerfile
│ ├── argon.php
│ ├── goss.yaml
│ └── test
├── 7.2-cgi/
│ ├── goss.yaml
│ └── test
├── 7.2-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.2-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.2-nginx/
│ ├── goss.yaml
│ └── test
├── 7.2-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-apache/
│ ├── goss.yaml
│ └── test
├── 7.3-argon/
│ ├── Dockerfile
│ ├── argon.php
│ ├── goss.yaml
│ └── test
├── 7.3-cgi/
│ ├── goss.yaml
│ └── test
├── 7.3-composer/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-extensions/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
├── 7.3-litespeed/
│ ├── goss.yaml
│ └── test
├── 7.3-nginx/
│ ├── goss.yaml
│ └── test
├── 7.3-phpunit/
│ ├── Dockerfile
│ ├── goss.yaml
│ └── test
└── test
Condensed preview — 141 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (135K chars).
[
{
"path": ".editorconfig",
"chars": 592,
"preview": "# http://editorconfig.org\n\nroot = true\n\n[*]\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_fina"
},
{
"path": ".github/CODE_OF_CONDUCT.md",
"chars": 232,
"preview": "# Code of conduct\n\nThis project is part of the [PHP.earth](https://php.earth) group which follows a\n[code of conduct](ht"
},
{
"path": ".github/CONTRIBUTING.md",
"chars": 2068,
"preview": "# Contributing guide\n\nContributions are most welcome. Below is described procedure for contributing to\nthis repository.\n"
},
{
"path": ".travis.yml",
"chars": 152,
"preview": "sudo: required\n\nservices:\n - docker\n\nbefore_install:\n # install goss\n - curl -L https://goss.rocks/install | sudo sh\n"
},
{
"path": "CHANGELOG.md",
"chars": 4148,
"preview": "# Changelog\n\nAll notable changes to this project will be documented in this file. This project\n[keeps a CHANGELOG](http:"
},
{
"path": "LICENSE",
"chars": 1061,
"preview": "Copyright (c) 2016-present PHP.earth\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof th"
},
{
"path": "Makefile",
"chars": 3807,
"preview": ".RECIPEPREFIX := $(.RECIPEPREFIX) \n.DEFAULT_GOAL := help\n.PHONY: *\n\nhelp:\n @echo \"\\033[33mUsage:\\033[0m\\n make [target"
},
{
"path": "README.md",
"chars": 16397,
"preview": "# Docker for PHP developers\n\n[\n\necho \"Build hook running\"\ndocker build --build-arg BUILD_DATE=`dat"
},
{
"path": "docker/hooks/post_push",
"chars": 165,
"preview": "#!/bin/bash\n\nTAG=$(echo $IMAGE_NAME| cut -d':' -f 2)\n\nif [ \"$TAG\" == \"7.3\" ]; then\n docker tag $IMAGE_NAME $DOCKER_REPO"
},
{
"path": "docker/tags/apache/etc/service/apache/run",
"chars": 69,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec /usr/sbin/httpd -D FOREGROUND\n"
},
{
"path": "docker/tags/apache/sbin/runit-wrapper",
"chars": 237,
"preview": "#!/bin/sh\n\nmain() {\n # Dump environment\n export > /env\n\n trap onterm SIGTERM SIGINT\n\n echo \"Starting runit\"\n /sbin/"
},
{
"path": "docker/tags/apache/sbin/runsvdir-start",
"chars": 115,
"preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
},
{
"path": "docker/tags/lighttpd/etc/lighttpd/example.conf",
"chars": 540,
"preview": "server.document-root = \"/var/www/localhost/htdocs/\"\n\nserver.port = 80\n\nserver.username = \"lighttpd\"\nserver.groupname = \""
},
{
"path": "docker/tags/lighttpd/etc/service/lighttpd/run",
"chars": 91,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec /usr/sbin/lighttpd -D -f /etc/lighttpd/example.conf\n"
},
{
"path": "docker/tags/lighttpd/etc/service/php-fpm/run",
"chars": 61,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec php-fpm --nodaemonize\n"
},
{
"path": "docker/tags/lighttpd/sbin/runit-wrapper",
"chars": 237,
"preview": "#!/bin/sh\n\nmain() {\n # Dump environment\n export > /env\n\n trap onterm SIGTERM SIGINT\n\n echo \"Starting runit\"\n /sbin/"
},
{
"path": "docker/tags/lighttpd/sbin/runsvdir-start",
"chars": 115,
"preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
},
{
"path": "docker/tags/lighttpd/var/www/localhost/htdocs/index.php",
"chars": 18,
"preview": "<?php\n\nphpinfo();\n"
},
{
"path": "docker/tags/litespeed/etc/service/lsws/run",
"chars": 80,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec sh /var/lib/litespeed/bin/lswsctrl start\n"
},
{
"path": "docker/tags/litespeed/sbin/runit-wrapper",
"chars": 237,
"preview": "#!/bin/sh\n\nmain() {\n # Dump environment\n export > /env\n\n trap onterm SIGTERM SIGINT\n\n echo \"Starting runit\"\n /sbin/"
},
{
"path": "docker/tags/litespeed/sbin/runsvdir-start",
"chars": 115,
"preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
},
{
"path": "docker/tags/nginx/etc/nginx/conf.d/default.conf",
"chars": 552,
"preview": "server {\n listen 80 default_server;\n\n root /var/www/html;\n\n index index.html index.htm index.php;\n\n server_n"
},
{
"path": "docker/tags/nginx/etc/service/nginx/run",
"chars": 92,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nmkdir -p /run/nginx\nexec /usr/sbin/nginx -g 'daemon off;'\n"
},
{
"path": "docker/tags/nginx/etc/service/php-fpm/run",
"chars": 61,
"preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec php-fpm --nodaemonize\n"
},
{
"path": "docker/tags/nginx/sbin/runit-wrapper",
"chars": 237,
"preview": "#!/bin/sh\n\nmain() {\n # Dump environment\n export > /env\n\n trap onterm SIGTERM SIGINT\n\n echo \"Starting runit\"\n /sbin/"
},
{
"path": "docker/tags/nginx/sbin/runsvdir-start",
"chars": 115,
"preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
},
{
"path": "docker/tags/nginx/var/www/html/index.php",
"chars": 18,
"preview": "<?php\n\nphpinfo();\n"
},
{
"path": "tests/7.0-apache/goss.yaml",
"chars": 626,
"preview": "file:\n /var/log/apache2/access.log:\n exists: true\n mode: \"0777\"\n size: 11\n owner: root\n group: wheel\n "
},
{
"path": "tests/7.0-apache/test",
"chars": 189,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-apache -f ../../docker/7.0-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
},
{
"path": "tests/7.0-cgi/goss.yaml",
"chars": 672,
"preview": "command:\n php-cgi -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - bcmath\n - bz2\n - calendar\n - "
},
{
"path": "tests/7.0-cgi/test",
"chars": 175,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cgi -f ../../docker/7.0-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
},
{
"path": "tests/7.0-composer/Dockerfile",
"chars": 86,
"preview": "FROM phpearth/test:7.0-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n composer\n"
},
{
"path": "tests/7.0-composer/goss.yaml",
"chars": 138,
"preview": "command:\n composer about:\n exit-status: 0\n stdout:\n - 'Composer - Package Management for PHP'\n stderr: []\n "
},
{
"path": "tests/7.0-composer/test",
"chars": 239,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.0-extensions/Dockerfile",
"chars": 351,
"preview": "FROM phpearth/test:7.0-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n php7.0-apcu \\\n php7.0-cmark \\\n "
},
{
"path": "tests/7.0-extensions/goss.yaml",
"chars": 818,
"preview": "command:\n php -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - apcu\n - bcmath\n - bz2\n - calendar"
},
{
"path": "tests/7.0-extensions/test",
"chars": 243,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.0-litespeed/goss.yaml",
"chars": 443,
"preview": "file:\n /var/log/litespeed/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/lite"
},
{
"path": "tests/7.0-litespeed/test",
"chars": 202,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-litespeed -f ../../docker/7.0-litespeed.Dockerfile ../../docker || exit 1"
},
{
"path": "tests/7.0-nginx/goss.yaml",
"chars": 450,
"preview": "file:\n /var/log/nginx/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/nginx/er"
},
{
"path": "tests/7.0-nginx/test",
"chars": 177,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-nginx -f ../../docker/7.0-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
},
{
"path": "tests/7.1-apache/goss.yaml",
"chars": 626,
"preview": "file:\n /var/log/apache2/access.log:\n exists: true\n mode: \"0777\"\n size: 11\n owner: root\n group: wheel\n "
},
{
"path": "tests/7.1-apache/test",
"chars": 189,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-apache -f ../../docker/7.1-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
},
{
"path": "tests/7.1-cgi/goss.yaml",
"chars": 672,
"preview": "command:\n php-cgi -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - bcmath\n - bz2\n - calendar\n - "
},
{
"path": "tests/7.1-cgi/test",
"chars": 175,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cgi -f ../../docker/7.1-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
},
{
"path": "tests/7.1-composer/Dockerfile",
"chars": 86,
"preview": "FROM phpearth/test:7.1-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n composer\n"
},
{
"path": "tests/7.1-composer/goss.yaml",
"chars": 138,
"preview": "command:\n composer about:\n exit-status: 0\n stdout:\n - 'Composer - Package Management for PHP'\n stderr: []\n "
},
{
"path": "tests/7.1-composer/test",
"chars": 239,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.1-extensions/Dockerfile",
"chars": 287,
"preview": "FROM phpearth/test:7.1-cli\n\nRUN apk add --no-cache \\\n php7.1-apcu \\\n php7.1-cmark \\\n php7.1-ds \\\n php7.1-ima"
},
{
"path": "tests/7.1-extensions/goss.yaml",
"chars": 818,
"preview": "command:\n php -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - apcu\n - bcmath\n - bz2\n - calendar"
},
{
"path": "tests/7.1-extensions/test",
"chars": 243,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.1-iconv/Dockerfile",
"chars": 114,
"preview": "FROM phpearth/test:7.1-cli\n\nRUN mkdir -p /usr/src/app\n\nADD iconv.php /usr/src/app/iconv.php\n\nWORKDIR /usr/src/app\n"
},
{
"path": "tests/7.1-iconv/goss.yaml",
"chars": 106,
"preview": "command:\n php iconv.php:\n exit-status: 0\n stdout: ['!/./']\n stderr: ['!/./']\n timeout: 10000\n"
},
{
"path": "tests/7.1-iconv/iconv.php",
"chars": 125,
"preview": "<?php\n\nini_set('display_errors', '1');\nerror_reporting(-1);\n\niconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', 'šěýčíéáýřčíšýíšč"
},
{
"path": "tests/7.1-iconv/test",
"chars": 255,
"preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\n"
},
{
"path": "tests/7.1-litespeed/goss.yaml",
"chars": 443,
"preview": "file:\n /var/log/litespeed/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/lite"
},
{
"path": "tests/7.1-litespeed/test",
"chars": 202,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-litespeed -f ../../docker/7.1-litespeed.Dockerfile ../../docker || exit 1"
},
{
"path": "tests/7.1-nginx/goss.yaml",
"chars": 450,
"preview": "file:\n /var/log/nginx/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/nginx/er"
},
{
"path": "tests/7.1-nginx/test",
"chars": 177,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-nginx -f ../../docker/7.1-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
},
{
"path": "tests/7.1-phpunit/Dockerfile",
"chars": 85,
"preview": "FROM phpearth/test:7.1-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n phpunit\n"
},
{
"path": "tests/7.1-phpunit/goss.yaml",
"chars": 355,
"preview": "command:\n phpunit --version:\n exit-status: 0\n stdout:\n - 'by Sebastian Bergmann and contributors.'\n stderr:"
},
{
"path": "tests/7.1-phpunit/test",
"chars": 237,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.2-apache/goss.yaml",
"chars": 626,
"preview": "file:\n /var/log/apache2/access.log:\n exists: true\n mode: \"0777\"\n size: 11\n owner: root\n group: wheel\n "
},
{
"path": "tests/7.2-apache/test",
"chars": 189,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-apache -f ../../docker/7.2-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
},
{
"path": "tests/7.2-argon/Dockerfile",
"chars": 114,
"preview": "FROM phpearth/test:7.2-cli\n\nRUN mkdir -p /usr/src/app\n\nADD argon.php /usr/src/app/argon.php\n\nWORKDIR /usr/src/app\n"
},
{
"path": "tests/7.2-argon/argon.php",
"chars": 147,
"preview": "<?php\n\n// plain text password\n$password = 'secretcode';\n\n// password hashed with PASSWORD_ARGON2I\necho password_hash($pa"
},
{
"path": "tests/7.2-argon/goss.yaml",
"chars": 85,
"preview": "command:\n php argon.php:\n exit-status: 0\n stderr: ['!/./']\n timeout: 10000\n"
},
{
"path": "tests/7.2-argon/test",
"chars": 255,
"preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\n"
},
{
"path": "tests/7.2-cgi/goss.yaml",
"chars": 672,
"preview": "command:\n php-cgi -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - bcmath\n - bz2\n - calendar\n - "
},
{
"path": "tests/7.2-cgi/test",
"chars": 175,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cgi -f ../../docker/7.2-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
},
{
"path": "tests/7.2-composer/Dockerfile",
"chars": 86,
"preview": "FROM phpearth/test:7.2-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n composer\n"
},
{
"path": "tests/7.2-composer/goss.yaml",
"chars": 138,
"preview": "command:\n composer about:\n exit-status: 0\n stdout:\n - 'Composer - Package Management for PHP'\n stderr: []\n "
},
{
"path": "tests/7.2-composer/test",
"chars": 239,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.2-extensions/Dockerfile",
"chars": 287,
"preview": "FROM phpearth/test:7.2-cli\n\nRUN apk add --no-cache \\\n php7.2-apcu \\\n php7.2-cmark \\\n php7.2-ds \\\n php7.2-ima"
},
{
"path": "tests/7.2-extensions/goss.yaml",
"chars": 818,
"preview": "command:\n php -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - apcu\n - bcmath\n - bz2\n - calendar"
},
{
"path": "tests/7.2-extensions/test",
"chars": 243,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.2-litespeed/goss.yaml",
"chars": 443,
"preview": "file:\n /var/log/litespeed/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/lite"
},
{
"path": "tests/7.2-litespeed/test",
"chars": 202,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-litespeed -f ../../docker/7.2-litespeed.Dockerfile ../../docker || exit 1"
},
{
"path": "tests/7.2-nginx/goss.yaml",
"chars": 450,
"preview": "file:\n /var/log/nginx/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/nginx/er"
},
{
"path": "tests/7.2-nginx/test",
"chars": 177,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-nginx -f ../../docker/7.2-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
},
{
"path": "tests/7.2-phpunit/Dockerfile",
"chars": 85,
"preview": "FROM phpearth/test:7.2-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n phpunit\n"
},
{
"path": "tests/7.2-phpunit/goss.yaml",
"chars": 355,
"preview": "command:\n phpunit --version:\n exit-status: 0\n stdout:\n - 'by Sebastian Bergmann and contributors.'\n stderr:"
},
{
"path": "tests/7.2-phpunit/test",
"chars": 237,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.3-apache/goss.yaml",
"chars": 626,
"preview": "file:\n /var/log/apache2/access.log:\n exists: true\n mode: \"0777\"\n size: 11\n owner: root\n group: wheel\n "
},
{
"path": "tests/7.3-apache/test",
"chars": 189,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-apache -f ../../docker/7.3-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
},
{
"path": "tests/7.3-argon/Dockerfile",
"chars": 114,
"preview": "FROM phpearth/test:7.3-cli\n\nRUN mkdir -p /usr/src/app\n\nADD argon.php /usr/src/app/argon.php\n\nWORKDIR /usr/src/app\n"
},
{
"path": "tests/7.3-argon/argon.php",
"chars": 147,
"preview": "<?php\n\n// plain text password\n$password = 'secretcode';\n\n// password hashed with PASSWORD_ARGON2I\necho password_hash($pa"
},
{
"path": "tests/7.3-argon/goss.yaml",
"chars": 85,
"preview": "command:\n php argon.php:\n exit-status: 0\n stderr: ['!/./']\n timeout: 10000\n"
},
{
"path": "tests/7.3-argon/test",
"chars": 255,
"preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\n"
},
{
"path": "tests/7.3-cgi/goss.yaml",
"chars": 672,
"preview": "command:\n php-cgi -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - bcmath\n - bz2\n - calendar\n - "
},
{
"path": "tests/7.3-cgi/test",
"chars": 175,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cgi -f ../../docker/7.3-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
},
{
"path": "tests/7.3-composer/Dockerfile",
"chars": 86,
"preview": "FROM phpearth/test:7.3-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n composer\n"
},
{
"path": "tests/7.3-composer/goss.yaml",
"chars": 138,
"preview": "command:\n composer about:\n exit-status: 0\n stdout:\n - 'Composer - Package Management for PHP'\n stderr: []\n "
},
{
"path": "tests/7.3-composer/test",
"chars": 239,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.3-extensions/Dockerfile",
"chars": 287,
"preview": "FROM phpearth/test:7.3-cli\n\nRUN apk add --no-cache \\\n php7.3-apcu \\\n php7.3-cmark \\\n php7.3-ds \\\n php7.3-ima"
},
{
"path": "tests/7.3-extensions/goss.yaml",
"chars": 818,
"preview": "command:\n php -m:\n exit-status: 0\n stdout:\n - '[PHP Modules]'\n - apcu\n - bcmath\n - bz2\n - calendar"
},
{
"path": "tests/7.3-extensions/test",
"chars": 243,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/7.3-litespeed/goss.yaml",
"chars": 443,
"preview": "file:\n /var/log/litespeed/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/lite"
},
{
"path": "tests/7.3-litespeed/test",
"chars": 202,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-litespeed -f ../../docker/7.3-litespeed.Dockerfile ../../docker || exit 1"
},
{
"path": "tests/7.3-nginx/goss.yaml",
"chars": 450,
"preview": "file:\n /var/log/nginx/access.log:\n exists: true\n linked-to: /dev/stdout\n filetype: symlink\n /var/log/nginx/er"
},
{
"path": "tests/7.3-nginx/test",
"chars": 177,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-nginx -f ../../docker/7.3-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
},
{
"path": "tests/7.3-phpunit/Dockerfile",
"chars": 85,
"preview": "FROM phpearth/test:7.3-cli\n\nRUN set -x \\\n && apk add --no-cache \\\n phpunit\n"
},
{
"path": "tests/7.3-phpunit/goss.yaml",
"chars": 355,
"preview": "command:\n phpunit --version:\n exit-status: 0\n stdout:\n - 'by Sebastian Bergmann and contributors.'\n stderr:"
},
{
"path": "tests/7.3-phpunit/test",
"chars": 237,
"preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
},
{
"path": "tests/test",
"chars": 330,
"preview": "#!/bin/bash\n\ntests=\"${1:-all}\"\ni=0\n\nrun() {\n echo -e \"\\n\\n=======================\"\n echo \"testing $1\"\n echo \"========"
}
]
About this extraction
This page contains the full source code of the phpearth/docker-php GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 141 files (117.2 KB), approximately 41.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.