mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-11 19:41:16 +00:00
REL-0.1 Initial Release
This commit is contained in:
74
.gitignore
vendored
Executable file
74
.gitignore
vendored
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
######################################
|
||||||
|
# CUSTOM
|
||||||
|
######################################
|
||||||
|
|
||||||
|
build/ansible/*.retry
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# GENERIC
|
||||||
|
######################################
|
||||||
|
|
||||||
|
###### std ######
|
||||||
|
.lock
|
||||||
|
*.log
|
||||||
|
|
||||||
|
###### patches/diffs ######
|
||||||
|
*.patch
|
||||||
|
*.diff
|
||||||
|
*.orig
|
||||||
|
*.rej
|
||||||
|
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Operating Systems
|
||||||
|
######################################
|
||||||
|
|
||||||
|
###### OSX ######
|
||||||
|
._*
|
||||||
|
.DS*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
|
||||||
|
###### Windows ######
|
||||||
|
Thumbs.db
|
||||||
|
ehthumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Editors
|
||||||
|
######################################
|
||||||
|
|
||||||
|
###### Sublime ######
|
||||||
|
*.sublime-workspace
|
||||||
|
*.sublime-project
|
||||||
|
|
||||||
|
###### Eclipse ######
|
||||||
|
.classpath
|
||||||
|
.buildpath
|
||||||
|
.project
|
||||||
|
.settings/
|
||||||
|
|
||||||
|
###### Netbeans ######
|
||||||
|
nbproject/private/
|
||||||
|
|
||||||
|
###### Intellij IDE ######
|
||||||
|
.idea/
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
###### vim ######
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
|
||||||
|
###### TextMate ######
|
||||||
|
.tm_properties
|
||||||
|
*.tmproj
|
||||||
|
|
||||||
|
###### BBEdit ######
|
||||||
|
*.bbprojectd
|
||||||
|
*.bbproject
|
||||||
318
.travis.yml
318
.travis.yml
@@ -1,35 +1,293 @@
|
|||||||
---
|
---
|
||||||
env:
|
sudo: required
|
||||||
matrix:
|
language: python
|
||||||
v=5.4
|
services:
|
||||||
v=5.5
|
- docker
|
||||||
v=5.6
|
|
||||||
v=7.0
|
env:
|
||||||
v=7.1
|
global:
|
||||||
v=7.2
|
- IMAGE: devilbox/php-fpm
|
||||||
|
# travis encrypt DOCKER_USERNAME=user
|
||||||
|
# travis encrypt DOCKER_PASSWORD=pass
|
||||||
|
# Must be regenerated when repository name/owner changes
|
||||||
|
# DOCKER_USERNAME
|
||||||
|
- secure: "Y7xt3qZW9Zwrsgdd/aCf8ZqA7I039506ZDf/u/WVzGwNHta5YJJ7XYy8XG7XugyqGGXRVpfBiaqmDH4xsPLXyHXdOt2G38GXZHZXIgJOiEJ6aUfpdUxyeu8XIXkD2MDMmc3Kb27Yub/OadxRMLWEflzRnSXXs3KJ8TsbPHh0yRWDMsmHYOYl16gDGUX1izLkEx4J+9iA3+JwIFZk8by/OUuIIQ93bSNORpwHT8A1j7Y1kh8kYkPZ6nRxWO8xrc2wI1Rbp0X+ivLnOotxDZo53UI/0KroeSckDpoWfoz+B7mP+M+5B6kGlI2pKDNQB/ErYvnya6PdtFSS9skbvepR4tBhUOZDDY7NMRg9m3w0b9T1no+g3A4LBGXy6+OZZoiYAGy9LvqMhFkINqbBhRBX+mZhtG0pNXunfcu5dk81Ni/XpXDiy9JU98jItwsRj4SeaPfSt0LUNNXMS/fEwZyTy6TihN1CM3krJpV30Ic5rN64FRnrRjUuNU4lJ/W36yUhM29gb13ahh+f7sDsYoCzMwDM9HFe0YLb3ar3mW1lb3FuUugU2f2EupgCPY60X2XrY9aSgCfbdiVsA84dbLtRfHTPG7UbEcJW5RH8HS+9qVZBK+AcPqon9jbOJRVh7q99YW+R8X/XeyYpz7amacVmRus80+toZ16bbU7D2Qgjdek="
|
||||||
|
# DOCKER_PASSWORD
|
||||||
|
- secure: "ZRrVOVOkSCS2UxEi1HNF1iKefK4sDT/sPRl1HxMQjLnRRaAMdG0aRnBwQf2YAM2qzhCfN85qt6zZtC4awc2mHiZ88JrAZxBjK6xj4BwOyLbDuzpBsKXnx8Nix+wyYYKSjsC3LOYrsUe+4rvkw3tVvVaX8G2llojwdksF34VDmmHBmzCG/Bsexk7UqC+qw0PZm7BtctQO+IL0btmMDijRDElxfR+AuPvf9JdkhYzw9TOO7Jqd53NssNVGyL+XSV0dfGn8PkZTp1e8D+28pLK4oGVog+Wk7Cq94hSGjk5AkWKvL5441rupG1AA8K3njeDNMKdov4o+dmnkAH7Jh8tjShMhNhoxHce3IzpczjhoE1EyYQcyPf1qdfhV35Xv096iWX5809pp1MZF2oE5eism8JaU9NpGClryVbKVKtup8ko9/tCqz01Czq5Vue40feMkGtdePulg59OhyyPLYldsObw8QlZydkrmgVZe6b+GyybeiHraTfDq4pvTgUrC4Cmm5J3IB5Ig1THEiYKHfRJ5hSSMDDODeBXc8Xh6mFssEVshNx/jbUQWuAVYQFw/GIquVHxr6btbevrWIoD+zmqcc0L98u9pYH8w7b+gMgVJNCC4QQz2NCGGWw9l9/TmLrKJgeXbG18n8D314le1zuna6/VfH9pXIlbNO4hgz5NLHJk="
|
||||||
|
matrix:
|
||||||
|
- PHP=5.5
|
||||||
|
- PHP=5.5
|
||||||
|
- PHP=5.6
|
||||||
|
- PHP=7.0
|
||||||
|
- PHP=7.1
|
||||||
|
- PHP=7.2
|
||||||
|
#stages:
|
||||||
|
# - generate
|
||||||
|
# - PHP 5.4
|
||||||
|
# - PHP 5.5
|
||||||
|
# - PHP 5.6
|
||||||
|
# - PHP 7.0
|
||||||
|
# - PHP 7.1
|
||||||
|
# - PHP 7.2
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: No need for stages anymore, use simple build matrix and don't repease the code!!
|
||||||
|
install:
|
||||||
|
# Get newer docker version
|
||||||
|
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get update; then break; else i=$((i+1)); fi done
|
||||||
|
- max=100; i=0; while [ $i -lt $max ]; do if sudo apt-get -y -o Dpkg::Options::="--force-confnew" install docker-ce; then break; else i=$((i+1)); fi done
|
||||||
|
- docker version
|
||||||
|
|
||||||
stages:
|
|
||||||
- base
|
|
||||||
- mods
|
|
||||||
- prod
|
|
||||||
- work
|
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
# Regenerate Dockerfiles and make sure nothing has changed (every stage)
|
# Build (multiple tries due to network outages)
|
||||||
- make generate
|
- max=100; i=0; while [ $i -lt $max ]; do if make build-base-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
- git diff-index --quiet HEAD || { echo "Build Changes"; git diff; git status; false; }
|
- max=100; i=0; while [ $i -lt $max ]; do if make build-mods-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
|
- max=100; i=0; while [ $i -lt $max ]; do if make build-prod-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
jobs:
|
- max=100; i=0; while [ $i -lt $max ]; do if make build-work-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
include:
|
|
||||||
- stage: base
|
|
||||||
script:
|
script:
|
||||||
- echo "${v}-base"
|
# Test
|
||||||
- stage: mods
|
- true
|
||||||
script:
|
after_success:
|
||||||
- echo "${v}-mods"
|
# Push
|
||||||
- stage: prod
|
- if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
||||||
script:
|
docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" &&
|
||||||
- echo "${v}-prod"
|
if [ "${TRAVIS_BRANCH}" == "master" ]; then
|
||||||
- stage: work
|
docker push "${IMAGE}:${PHP}-base";
|
||||||
script:
|
docker push "${IMAGE}:${PHP}-mods";
|
||||||
- echo "${v}-work"
|
docker push "${IMAGE}:${PHP}-prod";
|
||||||
|
docker push "${IMAGE}:${PHP}-work";
|
||||||
|
elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
|
||||||
|
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
|
||||||
|
docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}";
|
||||||
|
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}";
|
||||||
|
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
|
||||||
|
docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
|
||||||
|
elif [ -n "${TRAVIS_TAG}" ]; then
|
||||||
|
docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
|
||||||
|
docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
|
||||||
|
docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}";
|
||||||
|
docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
|
||||||
|
docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
|
||||||
|
docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
|
||||||
|
else
|
||||||
|
echo "Skipping push to dockerhub on normal branches";
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Skipping push to dockerhub on PR";
|
||||||
|
fi
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#jobs:
|
||||||
|
# include:
|
||||||
|
# ############################################################
|
||||||
|
# # TEST
|
||||||
|
# ############################################################
|
||||||
|
# - stage: generate
|
||||||
|
# env: All
|
||||||
|
# install: skip
|
||||||
|
# before_script: skip
|
||||||
|
# script:
|
||||||
|
# # Regenerate Dockerfiles and make sure nothing has changed (every stage)
|
||||||
|
# - pip install ansible
|
||||||
|
# - make generate
|
||||||
|
# - git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
|
||||||
|
# ############################################################
|
||||||
|
# # BUILD BASE IMAGE
|
||||||
|
# ############################################################
|
||||||
|
# - stage: PHP 5.4
|
||||||
|
# env: PHP=5.4
|
||||||
|
# before_script:
|
||||||
|
# # Build (multiple tries due to network outages)
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-base-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-mods-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-prod-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-work-${PHP//.}; then break; else i=$((i+1)); fi; done; if [ $i -gt 98 ]; then false; fi
|
||||||
|
# script:
|
||||||
|
# # Test
|
||||||
|
# - true
|
||||||
|
# after_success:
|
||||||
|
# # Push
|
||||||
|
# - if [ "${TRAVIS_PULL_REQUEST}" == "false" ]; then
|
||||||
|
# docker login --username "${DOCKER_USERNAME}" --password "${DOCKER_PASSWORD}" &&
|
||||||
|
# if [ "${TRAVIS_BRANCH}" == "master" ]; then
|
||||||
|
# docker push "${IMAGE}:${PHP}-base";
|
||||||
|
# docker push "${IMAGE}:${PHP}-mods";
|
||||||
|
# docker push "${IMAGE}:${PHP}-prod";
|
||||||
|
# docker push "${IMAGE}:${PHP}-work";
|
||||||
|
# elif [[ ${TRAVIS_BRANCH} =~ ^(release-[.0-9]+)$ ]]; then
|
||||||
|
# docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}" &&
|
||||||
|
# docker push "${IMAGE}:${PHP}-base-${TRAVIS_BRANCH}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-mods-${TRAVIS_BRANCH}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-prod-${TRAVIS_BRANCH}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-work-${TRAVIS_BRANCH}";
|
||||||
|
# elif [ -n "${TRAVIS_TAG}" ]; then
|
||||||
|
# docker tag "${IMAGE}:${PHP}-base" "${IMAGE}:${PHP}-base-${TRAVIS_TAG}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-mods" "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-prod" "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}" &&
|
||||||
|
# docker tag "${IMAGE}:${PHP}-work" "${IMAGE}:${PHP}-work-${TRAVIS_TAG}" &&
|
||||||
|
# docker push "${IMAGE}:${PHP}-base-${TRAVIS_TAG}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-mods-${TRAVIS_TAG}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-prod-${TRAVIS_TAG}";
|
||||||
|
# docker push "${IMAGE}:${PHP}-work-${TRAVIS_TAG}";
|
||||||
|
# else
|
||||||
|
# echo "Skipping push to dockerhub on normal branches";
|
||||||
|
# fi
|
||||||
|
# else
|
||||||
|
# echo "Skipping push to dockerhub on PR";
|
||||||
|
# fi
|
||||||
|
# - stage: Build base image
|
||||||
|
# env: PHP=5.5 t=base
|
||||||
|
# before_script:
|
||||||
|
# # Build
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi; done
|
||||||
|
# script:
|
||||||
|
# # Test
|
||||||
|
# - result=1; false
|
||||||
|
# after_success:
|
||||||
|
# # Push
|
||||||
|
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
|
||||||
|
# - docker push "${IMAGE}:${PHP}-${t}";
|
||||||
|
#
|
||||||
|
# - stage: Build base image
|
||||||
|
# env: PHP=5.6 t=base
|
||||||
|
# script:
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
|
||||||
|
# - if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
|
||||||
|
# - docker push "${IMAGE}:${PHP}-${t}"
|
||||||
|
#
|
||||||
|
# - stage: Build base image
|
||||||
|
# env: PHP=7.0 t=base
|
||||||
|
# script:
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
|
||||||
|
# - if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
|
||||||
|
# - docker push "${IMAGE}:${PHP}-${t}"
|
||||||
|
#
|
||||||
|
# - stage: Build base image
|
||||||
|
# env: PHP=7.1 t=base
|
||||||
|
# script:
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
|
||||||
|
# - if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
|
||||||
|
# - docker push "${IMAGE}:${PHP}-${t}"
|
||||||
|
#
|
||||||
|
# - stage: Build base image
|
||||||
|
# env: PHP=7.2 t=base
|
||||||
|
# script:
|
||||||
|
# - max=100; i=0; while [ $i -lt $max ]; do if make build-${t}-${PHP//.}; then break; else i=$((i+1)); fi
|
||||||
|
# - if [ $i -gt 98 ]; then false; fi
|
||||||
|
# - docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
|
||||||
|
# - docker push "${IMAGE}:${PHP}-${t}"
|
||||||
|
# ############################################################
|
||||||
|
# # BUILD MODS IMAGE
|
||||||
|
# ############################################################
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-5.4
|
||||||
|
# script:
|
||||||
|
# - make build-mods-54
|
||||||
|
#
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-5.5
|
||||||
|
# script:
|
||||||
|
# - make build-mods-55
|
||||||
|
#
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-5.6
|
||||||
|
# script:
|
||||||
|
# - make build-mods-56
|
||||||
|
#
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-7.0
|
||||||
|
# script:
|
||||||
|
# - make build-mods-70
|
||||||
|
#
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-7.1
|
||||||
|
# script:
|
||||||
|
# - make build-mods-71
|
||||||
|
#
|
||||||
|
# - stage: Build mods image
|
||||||
|
# env: PHP-7.2
|
||||||
|
# script:
|
||||||
|
# - make build-mods-72
|
||||||
|
# ############################################################
|
||||||
|
# # BUILD PROD IMAGE
|
||||||
|
# ############################################################
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-5.4
|
||||||
|
# script:
|
||||||
|
# - make build-prod-5.4
|
||||||
|
#
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-5.5
|
||||||
|
# script:
|
||||||
|
# - make build-prod-5.5
|
||||||
|
#
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-5.6
|
||||||
|
# script:
|
||||||
|
# - make build-prod-5.6
|
||||||
|
#
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-7.0
|
||||||
|
# script:
|
||||||
|
# - make build-prod-7.0
|
||||||
|
#
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-7.1
|
||||||
|
# script:
|
||||||
|
# - make build-prod-7.1
|
||||||
|
#
|
||||||
|
# - stage: Build prod image
|
||||||
|
# env: PHP-7.2
|
||||||
|
# script:
|
||||||
|
# - make build-prod-7.2
|
||||||
|
# ############################################################
|
||||||
|
# # BUILD WORK IMAGE
|
||||||
|
# ############################################################
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-5.4
|
||||||
|
# script:
|
||||||
|
# - make build-work-5.4
|
||||||
|
#
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-5.5
|
||||||
|
# script:
|
||||||
|
# - make build-work-5.5
|
||||||
|
#
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-5.6
|
||||||
|
# script:
|
||||||
|
# - make build-work-5.6
|
||||||
|
#
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-7.0
|
||||||
|
# script:
|
||||||
|
# - make build-work-7.0
|
||||||
|
#
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-7.1
|
||||||
|
# script:
|
||||||
|
# - make build-work-7.1
|
||||||
|
#
|
||||||
|
# - stage: Build work image
|
||||||
|
# env: PHP-7.2
|
||||||
|
# script:
|
||||||
|
# - make build-work-7.2
|
||||||
|
|||||||
71
Dockerfiles/base/Dockerfile-5.4
Normal file
71
Dockerfiles/base/Dockerfile-5.4
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:5.4-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.4-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
71
Dockerfiles/base/Dockerfile-5.5
Normal file
71
Dockerfiles/base/Dockerfile-5.5
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:5.5-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.5 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.5-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
71
Dockerfiles/base/Dockerfile-5.6
Normal file
71
Dockerfiles/base/Dockerfile-5.6
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:5.6-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.6 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.6-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
71
Dockerfiles/base/Dockerfile-7.0
Normal file
71
Dockerfiles/base/Dockerfile-7.0
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:7.0-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.0 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.0-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
71
Dockerfiles/base/Dockerfile-7.1
Normal file
71
Dockerfiles/base/Dockerfile-7.1
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:7.1-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.1 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.1-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
71
Dockerfiles/base/Dockerfile-7.2
Normal file
71
Dockerfiles/base/Dockerfile-7.2
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:7.2-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.2-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
140
Dockerfiles/base/data/docker-entrypoint.d/00-base-libs.sh
Executable file
140
Dockerfiles/base/data/docker-entrypoint.d/00-base-libs.sh
Executable file
@@ -0,0 +1,140 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Log to stdout/stderr
|
||||||
|
###
|
||||||
|
log() {
|
||||||
|
log_lvl="${1}"
|
||||||
|
log_msg="${2}"
|
||||||
|
|
||||||
|
log_clr_ok="\033[0;32m"
|
||||||
|
log_clr_info="\033[0;34m"
|
||||||
|
log_clr_warn="\033[0;33m"
|
||||||
|
log_clr_err="\033[0;31m"
|
||||||
|
log_clr_rst="\033[0m"
|
||||||
|
|
||||||
|
if [ "${log_lvl}" = "ok" ]; then
|
||||||
|
if [ "${DEBUG_LEVEL}" -gt "0" ]; then
|
||||||
|
printf "${log_clr_ok}[OK] %s${log_clr_rst}\n" "${log_msg}"
|
||||||
|
fi
|
||||||
|
elif [ "${log_lvl}" = "info" ]; then
|
||||||
|
if [ "${DEBUG_LEVEL}" -gt "0" ]; then
|
||||||
|
printf "${log_clr_info}[INFO] %s${log_clr_rst}\n" "${log_msg}"
|
||||||
|
fi
|
||||||
|
elif [ "${log_lvl}" = "warn" ]; then
|
||||||
|
printf "${log_clr_warn}[WARN] %s${log_clr_rst}\n" "${log_msg}" 1>&2 # stdout -> stderr
|
||||||
|
elif [ "${log_lvl}" = "err" ]; then
|
||||||
|
printf "${log_clr_err}[ERR] %s${log_clr_rst}\n" "${log_msg}" 1>&2 # stdout -> stderr
|
||||||
|
else
|
||||||
|
printf "${log_clr_err}[???] %s${log_clr_rst}\n" "${log_msg}" 1>&2 # stdout -> stderr
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v log_lvl
|
||||||
|
unset -v log_msg
|
||||||
|
unset -v log_clr_ok
|
||||||
|
unset -v log_clr_info
|
||||||
|
unset -v log_clr_warn
|
||||||
|
unset -v log_clr_err
|
||||||
|
unset -v log_clr_rst
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Wrapper for run_run command
|
||||||
|
###
|
||||||
|
run() {
|
||||||
|
run_cmd="${1}"
|
||||||
|
|
||||||
|
run_clr_red="\033[0;31m"
|
||||||
|
run_clr_green="\033[0;32m"
|
||||||
|
run_clr_reset="\033[0m"
|
||||||
|
|
||||||
|
if [ "${DEBUG_LEVEL}" -gt "1" ]; then
|
||||||
|
printf "${run_clr_red}%s \$ ${run_clr_green}${run_cmd}${run_clr_reset}\n" "$( whoami )"
|
||||||
|
fi
|
||||||
|
/bin/sh -c "LANG=C LC_ALL=C ${run_cmd}"
|
||||||
|
|
||||||
|
unset -v run_cmd
|
||||||
|
unset -v run_clr_red
|
||||||
|
unset -v run_clr_green
|
||||||
|
unset -v run_clr_reset
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Is argument an integer?
|
||||||
|
###
|
||||||
|
isint() {
|
||||||
|
echo "${1}" | grep -Eq '^([0-9]|[1-9][0-9]*)$'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Is env variable set?
|
||||||
|
###
|
||||||
|
env_set() {
|
||||||
|
if set | grep "^${1}=" >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Get env variable by name
|
||||||
|
###
|
||||||
|
env_get() {
|
||||||
|
if ! env_set "${1}"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
env_get_value="$( set | grep "^${1}=" | awk -F '=' '{for (i=2; i<NF; i++) printf $i "="; print $NF}' )"
|
||||||
|
|
||||||
|
# Remove surrounding quotes
|
||||||
|
env_get_value="$( echo "${env_get_value}" | sed "s/^'//g" )"
|
||||||
|
env_get_value="$( echo "${env_get_value}" | sed 's/^"//g' )"
|
||||||
|
|
||||||
|
env_get_value="$( echo "${env_get_value}" | sed "s/'$//g" )"
|
||||||
|
env_get_value="$( echo "${env_get_value}" | sed 's/"$//g' )"
|
||||||
|
|
||||||
|
echo "${env_get_value}"
|
||||||
|
unset -v env_get_value
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v grep >/dev/null 2>&1; then
|
||||||
|
log "err" "grep not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v sed >/dev/null 2>&1; then
|
||||||
|
log "err" "sed not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v awk >/dev/null 2>&1; then
|
||||||
|
log "err" "awk not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v getent >/dev/null 2>&1; then
|
||||||
|
log "err" "getent not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
22
Dockerfiles/base/data/docker-entrypoint.d/01-debug.sh
Executable file
22
Dockerfiles/base/data/docker-entrypoint.d/01-debug.sh
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Debug level
|
||||||
|
###
|
||||||
|
get_debug_level() {
|
||||||
|
if ! env_set "${1}"; then
|
||||||
|
# Return default specified value
|
||||||
|
echo "${2}"
|
||||||
|
else
|
||||||
|
# Return env value
|
||||||
|
env_get "${1}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
104
Dockerfiles/base/data/docker-entrypoint.d/02-uid-gid.sh
Executable file
104
Dockerfiles/base/data/docker-entrypoint.d/02-uid-gid.sh
Executable file
@@ -0,0 +1,104 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change UID
|
||||||
|
###
|
||||||
|
set_uid() {
|
||||||
|
uid_varname="${1}"
|
||||||
|
|
||||||
|
if ! env_set "${uid_varname}"; then
|
||||||
|
log "info" "\$${uid_varname} not set. Keeping default uid for '${MY_USER}'."
|
||||||
|
else
|
||||||
|
uid_env_uid="$( env_get "${uid_varname}" )"
|
||||||
|
|
||||||
|
if ! isint "${uid_env_uid}"; then
|
||||||
|
log "err" "\$${uid_varname} is not an integer: '${uid_env_uid}'"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
if uid_getent_row="$( getent passwd "${uid_env_uid}" )"; then
|
||||||
|
uid_getent_name="$( echo "${uid_getent_row}" | awk -F ':' '{print $1}' )"
|
||||||
|
if [ "${uid_getent_name}" != "${MY_USER}" ]; then
|
||||||
|
log "warn" "User with ${uid_env_uid} already exists: ${uid_getent_name}"
|
||||||
|
log "info" "Changing UID of ${uid_getent_name} to 9999"
|
||||||
|
run "usermod -u 9999 ${uid_getent_name}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
log "info" "Changing user '${MY_USER}' uid to: ${uid_env_uid}"
|
||||||
|
run "usermod -u ${uid_env_uid} ${MY_USER}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix homedir permissions
|
||||||
|
run "chown -R ${MY_USER} /home/${MY_USER}"
|
||||||
|
|
||||||
|
unset -v uid_varname
|
||||||
|
unset -v uid_env_uid
|
||||||
|
unset -v uid_getent_row
|
||||||
|
unset -v uid_getent_name
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change GID
|
||||||
|
###
|
||||||
|
set_gid() {
|
||||||
|
gid_varname="${1}"
|
||||||
|
|
||||||
|
if ! env_set "${gid_varname}"; then
|
||||||
|
log "info" "\$${gid_varname} not set. Keeping default gid for '${MY_GROUP}'."
|
||||||
|
else
|
||||||
|
# Retrieve the value from env
|
||||||
|
gid_env_gid="$( env_get "${gid_varname}" )"
|
||||||
|
|
||||||
|
if ! isint "${gid_env_gid}"; then
|
||||||
|
log "err" "\$${gid_varname} is not an integer: '${gid_env_gid}'"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
if gid_getent_row="$( getent group "${gid_env_gid}" )"; then
|
||||||
|
gid_getent_name="$( echo "${gid_getent_row}" | awk -F ':' '{print $1}' )"
|
||||||
|
if [ "${gid_getent_name}" != "${MY_GROUP}" ]; then
|
||||||
|
log "warn" "Group with ${gid_env_gid} already exists: ${gid_getent_name}"
|
||||||
|
log "info" "Changing GID of ${gid_getent_name} to 9999"
|
||||||
|
run "groupmod -g 9999 ${gid_getent_name}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
log "info" "Changing group '${MY_GROUP}' gid to: ${gid_env_gid}"
|
||||||
|
run "groupmod -g ${gid_env_gid} ${MY_GROUP}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix homedir permissions
|
||||||
|
run "chown -R :${MY_GROUP} /home/${MY_USER}"
|
||||||
|
|
||||||
|
unset -v gid_varname
|
||||||
|
unset -v gid_env_gid
|
||||||
|
unset -v gid_getent_row
|
||||||
|
unset -v gid_getent_name
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v usermod >/dev/null 2>&1; then
|
||||||
|
log "err" "usermod not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v groupmod >/dev/null 2>&1; then
|
||||||
|
log "err" "groupmod not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
51
Dockerfiles/base/data/docker-entrypoint.sh
Executable file
51
Dockerfiles/base/data/docker-entrypoint.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Settings
|
||||||
|
###
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
CONFIG_DIR="/docker-entrypoint.d"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Source libs
|
||||||
|
###
|
||||||
|
init="$( find "${CONFIG_DIR}" -name '*.sh' -type f | sort -u )"
|
||||||
|
for f in ${init}; do
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
. "${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Set Debug level
|
||||||
|
###
|
||||||
|
DEBUG_LEVEL="$( get_debug_level "DEBUG_ENTRYPOINT" "0" )"
|
||||||
|
log "info" "Debug level: ${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
## Entry Point
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change uid/gid
|
||||||
|
###
|
||||||
|
set_uid "NEW_UID"
|
||||||
|
set_gid "NEW_GID"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Startup
|
||||||
|
###
|
||||||
|
log "info" "Starting $( php-fpm -v 2>&1 | head -1 )"
|
||||||
|
exec /usr/local/sbin/php-fpm
|
||||||
5
Dockerfiles/base/data/php-fpm.conf
Normal file
5
Dockerfiles/base/data/php-fpm.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[global]
|
||||||
|
error_log = /proc/self/fd/2
|
||||||
|
log_level = notice
|
||||||
|
daemonize = no
|
||||||
|
include = /usr/local/etc/php-fpm.d/*.conf
|
||||||
24
Dockerfiles/base/data/php-fpm.d/devilbox.conf
Normal file
24
Dockerfiles/base/data/php-fpm.d/devilbox.conf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[www]
|
||||||
|
|
||||||
|
; User and Group
|
||||||
|
user = devilbox
|
||||||
|
group = devilbox
|
||||||
|
|
||||||
|
; if we send this to /proc/self/fd/1, it never appears
|
||||||
|
access.log = /proc/self/fd/2
|
||||||
|
|
||||||
|
; Ensure to listen here
|
||||||
|
listen = 9000
|
||||||
|
|
||||||
|
; Keep env variables set by docker
|
||||||
|
clear_env = no
|
||||||
|
|
||||||
|
; Ensure worker stdout and stderr are sent to the main error log.
|
||||||
|
catch_workers_output = yes
|
||||||
|
|
||||||
|
; Pool config
|
||||||
|
pm = dynamic
|
||||||
|
pm.max_children = 5
|
||||||
|
pm.start_servers = 2
|
||||||
|
pm.min_spare_servers = 1
|
||||||
|
pm.max_spare_servers = 3
|
||||||
388
Dockerfiles/mods/Dockerfile-5.4
Normal file
388
Dockerfiles/mods/Dockerfile-5.4
Normal file
@@ -0,0 +1,388 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.4-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.4-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libssl-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu52 \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq1 \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install mysqli \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install xmlreader \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install mcrypt \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug-2.4.1 \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb-1.2.11 \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu-4.0.11 \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout phalcon-v2.0.13 \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysql$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
402
Dockerfiles/mods/Dockerfile-5.5
Normal file
402
Dockerfiles/mods/Dockerfile-5.5
Normal file
@@ -0,0 +1,402 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.5-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.5 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.5-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu52 \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq1 \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug-2.5.5 \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu-4.0.11 \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysql$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
404
Dockerfiles/mods/Dockerfile-5.6
Normal file
404
Dockerfiles/mods/Dockerfile-5.6
Normal file
@@ -0,0 +1,404 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.6-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.6 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.6-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmagickwand-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu52 \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
libzip2 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq1 \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlreader --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlreader \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug-2.5.5 \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole-1.9.23 \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install memcache \
|
||||||
|
&& docker-php-ext-enable memcache \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install uploadprogress \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack-0.5.7 \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install memcached-2.2.0 \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu-4.0.11 \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysql$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mysqli$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlreader$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^memcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
394
Dockerfiles/mods/Dockerfile-7.0
Normal file
394
Dockerfiles/mods/Dockerfile-7.0
Normal file
@@ -0,0 +1,394 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.0-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.0 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.0-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu52 \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
libwebp-dev \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
libzip2 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq1 \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install memcached \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
|
&& cd /tmp/uploadprogress \
|
||||||
|
&& git checkout master \
|
||||||
|
&& cd /tmp/uploadprogress && phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& cd / && rm -rf /tmp/uploadprogress \
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
394
Dockerfiles/mods/Dockerfile-7.1
Normal file
394
Dockerfiles/mods/Dockerfile-7.1
Normal file
@@ -0,0 +1,394 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.1-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.1 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.1-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu52 \
|
||||||
|
libtidy-0.99-0 \
|
||||||
|
libpng12-0 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx1 \
|
||||||
|
libfreetype6 \
|
||||||
|
libwebp-dev \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
libzip2 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq1 \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-6.q16-2 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mcrypt \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install memcached \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
|
&& cd /tmp/uploadprogress \
|
||||||
|
&& git checkout master \
|
||||||
|
&& cd /tmp/uploadprogress && phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& cd / && rm -rf /tmp/uploadprogress \
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
399
Dockerfiles/mods/Dockerfile-7.2
Normal file
399
Dockerfiles/mods/Dockerfile-7.2
Normal file
@@ -0,0 +1,399 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.2-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.2-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
libicu-dev \
|
||||||
|
libtidy-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpng-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libxpm-dev \
|
||||||
|
libvpx-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
librecode-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libpq-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libsodium-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libsnmp-dev \
|
||||||
|
snmp \
|
||||||
|
libpq-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libldap2-dev \
|
||||||
|
libsasl2-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libfbclient2 \
|
||||||
|
libib-util \
|
||||||
|
firebird-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libpspell-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libc-client-dev \
|
||||||
|
libkrb5-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
freetds-dev \
|
||||||
|
libmm-dev \
|
||||||
|
libxml2-dev \
|
||||||
|
libenchant-dev \
|
||||||
|
libxslt-dev \
|
||||||
|
librabbitmq-dev \
|
||||||
|
libnghttp2-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libnghttp2-5 \
|
||||||
|
libmagickwand-dev \
|
||||||
|
libmcrypt-dev \
|
||||||
|
zlib1g-dev \
|
||||||
|
libmemcached-dev \
|
||||||
|
git \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
libicu57 \
|
||||||
|
libtidy5 \
|
||||||
|
libpng16-16 \
|
||||||
|
libjpeg62-turbo \
|
||||||
|
libxpm4 \
|
||||||
|
libvpx4 \
|
||||||
|
libfreetype6 \
|
||||||
|
libwebp6 \
|
||||||
|
librecode0 \
|
||||||
|
libpq5 \
|
||||||
|
libzip4 \
|
||||||
|
snmp \
|
||||||
|
libpq5 \
|
||||||
|
libfbclient2 \
|
||||||
|
libfbclient2 \
|
||||||
|
libaspell15 \
|
||||||
|
libc-client2007e \
|
||||||
|
libsybdb5 \
|
||||||
|
libenchant1c2a \
|
||||||
|
libxslt1.1 \
|
||||||
|
librabbitmq4 \
|
||||||
|
libnghttp2-14 \
|
||||||
|
libmagickwand-6.q16-3 \
|
||||||
|
libmcrypt4 \
|
||||||
|
libmemcachedutil2 \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tokenizer \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) phar \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) curl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ftp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ftp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) iconv \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sodium \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlwriter --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlwriter \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure snmp --with-openssl-dir \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) json \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mbstring \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \
|
||||||
|
&& ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure soap --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) hash \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ctype \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) fileinfo \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) readline \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_sqlite \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure wddx --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure xml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure dom --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dom \
|
||||||
|
&& ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure session --with-mm \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) session \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) posix \
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure simplexml --with-libxml-dir=/usr \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) simplexml \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
|
||||||
|
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& pecl install xdebug \
|
||||||
|
&& docker-php-ext-enable xdebug \
|
||||||
|
&& echo "/usr" | pecl install amqp \
|
||||||
|
&& docker-php-ext-enable amqp \
|
||||||
|
&& pecl install swoole \
|
||||||
|
&& docker-php-ext-enable swoole \
|
||||||
|
&& pecl install mongodb \
|
||||||
|
&& docker-php-ext-enable mongodb \
|
||||||
|
&& pecl install redis \
|
||||||
|
&& docker-php-ext-enable redis \
|
||||||
|
&& pecl install imagick \
|
||||||
|
&& docker-php-ext-enable imagick \
|
||||||
|
&& pecl install msgpack \
|
||||||
|
&& docker-php-ext-enable msgpack \
|
||||||
|
&& pecl install mcrypt-1.0.1 \
|
||||||
|
&& docker-php-ext-enable mcrypt \
|
||||||
|
&& pecl install memcached \
|
||||||
|
&& docker-php-ext-enable memcached \
|
||||||
|
&& pecl install igbinary \
|
||||||
|
&& docker-php-ext-enable igbinary \
|
||||||
|
&& pecl install apcu \
|
||||||
|
&& docker-php-ext-enable apcu \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& git clone -v https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \
|
||||||
|
&& cd /tmp/uploadprogress \
|
||||||
|
&& git checkout master \
|
||||||
|
&& cd /tmp/uploadprogress && phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install \
|
||||||
|
&& docker-php-ext-enable uploadprogress \
|
||||||
|
&& cd / && rm -rf /tmp/uploadprogress \
|
||||||
|
&& git clone -v https://github.com/phalcon/cphalcon /tmp/phalcon \
|
||||||
|
&& cd /tmp/phalcon \
|
||||||
|
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g') \
|
||||||
|
&& cd /tmp/phalcon && cd build && ./install \
|
||||||
|
&& docker-php-ext-enable phalcon \
|
||||||
|
&& cd / && rm -rf /tmp/phalcon \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
&& php -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_mysql$' \
|
||||||
|
&& php -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tokenizer$' \
|
||||||
|
&& php -m | grep -oiE '^dba$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dba$' \
|
||||||
|
&& php -m | grep -oiE '^intl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^intl$' \
|
||||||
|
&& php -m | grep -oiE '^shmop$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^shmop$' \
|
||||||
|
&& php -m | grep -oiE '^tidy$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^tidy$' \
|
||||||
|
&& php -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bcmath$' \
|
||||||
|
&& php -m | grep -oiE '^phar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phar$' \
|
||||||
|
&& php -m | grep -oiE '^gd$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gd$' \
|
||||||
|
&& php -m | grep -oiE '^recode$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^recode$' \
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pcntl$' \
|
||||||
|
&& php -m | grep -oiE '^curl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^curl$' \
|
||||||
|
&& php -m | grep -oiE '^sockets$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sockets$' \
|
||||||
|
&& php -m | grep -oiE '^ftp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ftp$' \
|
||||||
|
&& php -m | grep -oiE '^iconv$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^iconv$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^zip$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^zip$' \
|
||||||
|
&& php -m | grep -oiE '^sodium$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sodium$' \
|
||||||
|
&& php -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlwriter$' \
|
||||||
|
&& php -m | grep -oiE '^snmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^snmp$' \
|
||||||
|
&& php -m | grep -oiE '^gettext$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gettext$' \
|
||||||
|
&& php -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pgsql$' \
|
||||||
|
&& php -m | grep -oiE '^json$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^json$' \
|
||||||
|
&& php -m | grep -oiE '^interbase$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^interbase$' \
|
||||||
|
&& php -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
||||||
|
&& php -m | grep -oiE '^ldap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ldap$' \
|
||||||
|
&& php -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvmsg$' \
|
||||||
|
&& php -m | grep -oiE '^gmp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^gmp$' \
|
||||||
|
&& php -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvshm$' \
|
||||||
|
&& php -m | grep -oiE '^soap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^soap$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_firebird$' \
|
||||||
|
&& php -m | grep -oiE '^hash$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^hash$' \
|
||||||
|
&& php -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xmlrpc$' \
|
||||||
|
&& php -m | grep -oiE '^pdo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo$' \
|
||||||
|
&& php -m | grep -oiE '^ctype$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^ctype$' \
|
||||||
|
&& php -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^fileinfo$' \
|
||||||
|
&& php -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^sysvsem$' \
|
||||||
|
&& php -m | grep -oiE '^pspell$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pspell$' \
|
||||||
|
&& php -m | grep -oiE '^readline$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^readline$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
|
||||||
|
&& php -m | grep -oiE '^imap$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imap$' \
|
||||||
|
&& php -m | grep -oiE '^bz2$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^bz2$' \
|
||||||
|
&& php -m | grep -oiE '^wddx$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^wddx$' \
|
||||||
|
&& php -m | grep -oiE '^exif$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^exif$' \
|
||||||
|
&& php -m | grep -oiE '^xml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xml$' \
|
||||||
|
&& php -m | grep -oiE '^dom$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^dom$' \
|
||||||
|
&& php -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^pdo_dblib$' \
|
||||||
|
&& php -m | grep -oiE '^session$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^session$' \
|
||||||
|
&& php -m | grep -oiE '^posix$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^posix$' \
|
||||||
|
&& php -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^simplexml$' \
|
||||||
|
&& php -m | grep -oiE '^calendar$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^calendar$' \
|
||||||
|
&& php -m | grep -oiE '^enchant$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^enchant$' \
|
||||||
|
&& php -m | grep -oiE '^xsl$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xsl$' \
|
||||||
|
&& php -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^xdebug$' \
|
||||||
|
&& php -m | grep -oiE '^amqp$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^amqp$' \
|
||||||
|
&& php -m | grep -oiE '^swoole$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^swoole$' \
|
||||||
|
&& php -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mongodb$' \
|
||||||
|
&& php -m | grep -oiE '^redis$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^redis$' \
|
||||||
|
&& php -m | grep -oiE '^imagick$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^imagick$' \
|
||||||
|
&& php -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
||||||
|
&& php -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
||||||
|
&& php -m | grep -oiE '^memcached$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^memcached$' \
|
||||||
|
&& php -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^igbinary$' \
|
||||||
|
&& php -m | grep -oiE '^apcu$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^apcu$' \
|
||||||
|
&& php -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^uploadprogress$' \
|
||||||
|
&& php -m | grep -oiE '^phalcon$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^phalcon$' \
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-5.4
Normal file
89
Dockerfiles/prod/Dockerfile-5.4
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.4-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.4 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.4-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.4' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-5.5
Normal file
89
Dockerfiles/prod/Dockerfile-5.5
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.5-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.5 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.5-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.5' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-5.6
Normal file
89
Dockerfiles/prod/Dockerfile-5.6
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:5.6-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 5.6 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="5.6-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^5.6' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-7.0
Normal file
89
Dockerfiles/prod/Dockerfile-7.0
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.0-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.0 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.0-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.0' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-7.1
Normal file
89
Dockerfiles/prod/Dockerfile-7.1
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.1-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.1 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.1-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.1' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
89
Dockerfiles/prod/Dockerfile-7.2
Normal file
89
Dockerfiles/prod/Dockerfile-7.2
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:7.2-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM 7.2 Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="7.2-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
60
Dockerfiles/prod/data/docker-entrypoint.d/30-timezone.sh
Executable file
60
Dockerfiles/prod/data/docker-entrypoint.d/30-timezone.sh
Executable file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change Timezone
|
||||||
|
###
|
||||||
|
set_timezone() {
|
||||||
|
tz_env_varname="${1}"
|
||||||
|
tz_php_ini="${2}"
|
||||||
|
|
||||||
|
if ! env_set "${tz_env_varname}"; then
|
||||||
|
log "info" "\$${tz_env_varname} not set."
|
||||||
|
log "info" "Setting PHP: timezone=UTC"
|
||||||
|
run "sed -i'' 's|^[[:space:]]*;*[[:space:]]*date\.timezone[[:space:]]*=.*$|date.timezone = UTF|g' ${tz_php_ini}"
|
||||||
|
else
|
||||||
|
tz_timezone="$( env_get "${tz_env_varname}" )"
|
||||||
|
if [ -f "/usr/share/zoneinfo/${tz_timezone}" ]; then
|
||||||
|
# Unix Time
|
||||||
|
log "info" "Setting container timezone to: ${tz_timezone}"
|
||||||
|
run "rm /etc/localtime"
|
||||||
|
run "ln -s /usr/share/zoneinfo/${tz_timezone} /etc/localtime"
|
||||||
|
|
||||||
|
# PHP Time
|
||||||
|
log "info" "Setting PHP: timezone=${tz_timezone}"
|
||||||
|
run "sed -i'' 's|^[[:space:]]*;*[[:space:]]*date\.timezone[[:space:]]*=.*$|date.timezone = ${tz_timezone}|g' ${tz_php_ini}"
|
||||||
|
else
|
||||||
|
log "err" "Invalid timezone for \$${tz_env_varname}."
|
||||||
|
log "err" "\$TIMEZONE: '${tz_timezone}' does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
log "info" "Docker date set to: $(date)"
|
||||||
|
|
||||||
|
unset -v tz_env_varname
|
||||||
|
unset -v tz_php_ini
|
||||||
|
unset -v tz_timezone
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v sed >/dev/null 2>&1; then
|
||||||
|
echo "sed not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
71
Dockerfiles/prod/data/docker-entrypoint.d/31-postfix.sh
Executable file
71
Dockerfiles/prod/data/docker-entrypoint.d/31-postfix.sh
Executable file
@@ -0,0 +1,71 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Setup Postfix for catch-all
|
||||||
|
###
|
||||||
|
set_postfix() {
|
||||||
|
postfix_env_varname="${1}"
|
||||||
|
|
||||||
|
if ! env_set "${postfix_env_varname}"; then
|
||||||
|
log "info" "\$${postfix_env_varname} not set."
|
||||||
|
log "info" "Disabling sending of emails"
|
||||||
|
else
|
||||||
|
postfix_env_value="$( env_get "${postfix_env_varname}" )"
|
||||||
|
if [ "${postfix_env_value}" = "1" ]; then
|
||||||
|
log "info" "Enabling sending of emails"
|
||||||
|
|
||||||
|
# Add Mail file if it does not exist
|
||||||
|
if [ ! -f "/var/mail/${MY_USER}" ]; then
|
||||||
|
run "touch /var/mail/${MY_USER}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix mail user permissions after mount
|
||||||
|
run "chmod 0644 /var/mail/${MY_USER}"
|
||||||
|
run "chown ${MY_USER}:${MY_GROUP} /var/mail"
|
||||||
|
run "chown ${MY_USER}:${MY_GROUP} /var/mail/${MY_USER}"
|
||||||
|
|
||||||
|
# Postfix configuration
|
||||||
|
run "postconf -e 'inet_protocols=ipv4'"
|
||||||
|
run "postconf -e 'virtual_alias_maps=pcre:/etc/postfix/virtual'"
|
||||||
|
run "echo '/.*@.*/ ${MY_USER}' >> /etc/postfix/virtual"
|
||||||
|
|
||||||
|
run "newaliases"
|
||||||
|
|
||||||
|
elif [ "${postfix_env_value}" = "0" ]; then
|
||||||
|
log "info" "Disabling sending of emails."
|
||||||
|
|
||||||
|
else
|
||||||
|
log "err" "Invalid value for \$${postfix_env_varname}"
|
||||||
|
log "err" "Only 1 (for on) or 0 (for off) are allowed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v postfix_env_varname
|
||||||
|
unset -v postfix_env_value
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v postconf >/dev/null 2>&1; then
|
||||||
|
echo "postconf not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
116
Dockerfiles/prod/data/docker-entrypoint.d/32-docker-logs.sh
Executable file
116
Dockerfiles/prod/data/docker-entrypoint.d/32-docker-logs.sh
Executable file
@@ -0,0 +1,116 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Helper Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
# Check if PHP-FPM config files contain valid logging directives
|
||||||
|
_validate_docker_logs() {
|
||||||
|
vdl_fpm_error_log_conf="${1}"
|
||||||
|
vdl_fpm_access_log_conf="${2}"
|
||||||
|
|
||||||
|
if [ ! -f "${vdl_fpm_error_log_conf}" ]; then
|
||||||
|
log "err" "PHP-FPM Error log config file does not exist in: ${vdl_fpm_error_log_conf}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ ! -f "${vdl_fpm_access_log_conf}" ]; then
|
||||||
|
log "err" "PHP-FPM Access log config file does not exist in: ${dl_fpm_access_log_conf}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep -Eq '^error_log.*$' "${vdl_fpm_error_log_conf}"; then
|
||||||
|
log "err" "PHP-FPM Error log config file has no error logging directive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! grep -Eq '^access\.log.*$' "${vdl_fpm_access_log_conf}"; then
|
||||||
|
log "err" "PHP-FPM Access log config file has no access logging directive"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v vdl_fpm_error_log_conf
|
||||||
|
unset -v vdl_fpm_access_log_conf
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change UID
|
||||||
|
###
|
||||||
|
set_docker_logs() {
|
||||||
|
dl_env_varname="${1}"
|
||||||
|
dl_log_dir="${2}"
|
||||||
|
dl_fpm_error_log_conf="${3}"
|
||||||
|
dl_fpm_access_log_conf="${4}"
|
||||||
|
|
||||||
|
if ! env_set "${dl_env_varname}"; then
|
||||||
|
log "info" "\$${dl_env_varname} not set."
|
||||||
|
log "info" "Logging to docker logs stdout and stderr"
|
||||||
|
else
|
||||||
|
dl_docker_logs="$( env_get "${dl_env_varname}" )"
|
||||||
|
|
||||||
|
# Disable docker logs and log to files
|
||||||
|
if [ "${dl_docker_logs}" = "0" ]; then
|
||||||
|
log "info" "\$${dl_env_varname} set to 0. Logging to files under: ${dl_log_dir}"
|
||||||
|
log "info" "Make sure to mount this directory in order to view logs"
|
||||||
|
|
||||||
|
# Validation
|
||||||
|
_validate_docker_logs "${dl_fpm_error_log_conf}" "${dl_fpm_access_log_conf}"
|
||||||
|
|
||||||
|
# Create Log directory
|
||||||
|
if [ ! -d "${dl_log_dir}" ]; then
|
||||||
|
run "mkdir -p ${dl_log_dir}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix permissions (in case uid/gid has changed)
|
||||||
|
if [ ! -f "${dl_log_dir}/php-fpm.access" ]; then
|
||||||
|
touch "${dl_log_dir}/php-fpm.access"
|
||||||
|
fi
|
||||||
|
if [ ! -f "${dl_log_dir}/php-fpm.error" ]; then
|
||||||
|
touch "${dl_log_dir}/php-fpm.error"
|
||||||
|
fi
|
||||||
|
run "chown -R ${MY_USER}:${MY_GROUP} ${dl_log_dir}"
|
||||||
|
|
||||||
|
# Adjust PHP-FPM config to log to file
|
||||||
|
run "sed -i'' 's|^error_log.*$|error_log = ${dl_log_dir}/php-fpm.error|g' ${dl_fpm_error_log_conf}"
|
||||||
|
run "sed -i'' 's|^access\.log.*$|access.log = ${dl_log_dir}/php-fpm.access|g' ${dl_fpm_access_log_conf}"
|
||||||
|
|
||||||
|
# Keep docker logs
|
||||||
|
elif [ "${dl_docker_logs}" = "1" ]; then
|
||||||
|
log "info" "\$${dl_env_varname} set to 1. Logging to docker logs stdout and stderr."
|
||||||
|
else
|
||||||
|
log "err" "Invalid value for \$${dl_env_varname}. Can only be 0 or 1. Provided: ${dl_docker_logs}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v dl_env_varname
|
||||||
|
unset -v dl_log_dir
|
||||||
|
unset -v dl_fpm_error_log_conf
|
||||||
|
unset -v dl_fpm_access_log_conf
|
||||||
|
unset -v dl_docker_logs
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v sed >/dev/null 2>&1; then
|
||||||
|
echo "sed not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
204
Dockerfiles/prod/data/docker-entrypoint.d/33-socat-port-forwarding.sh
Executable file
204
Dockerfiles/prod/data/docker-entrypoint.d/33-socat-port-forwarding.sh
Executable file
@@ -0,0 +1,204 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Helper Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Helper functions
|
||||||
|
###
|
||||||
|
_isip() {
|
||||||
|
# IP is not in correct format
|
||||||
|
if ! echo "${1}" | grep -Eq '^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})$'; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get each octet
|
||||||
|
isip_o1="$( echo "${1}" | awk -F'.' '{print $1}' )"
|
||||||
|
isip_o2="$( echo "${1}" | awk -F'.' '{print $2}' )"
|
||||||
|
isip_o3="$( echo "${1}" | awk -F'.' '{print $3}' )"
|
||||||
|
isip_o4="$( echo "${1}" | awk -F'.' '{print $4}' )"
|
||||||
|
|
||||||
|
# Cannot start with 0 and all must be below 256
|
||||||
|
if [ "${isip_o1}" -lt "1" ] || \
|
||||||
|
[ "${isip_o1}" -gt "255" ] || \
|
||||||
|
[ "${isip_o2}" -gt "255" ] || \
|
||||||
|
[ "${isip_o3}" -gt "255" ] || \
|
||||||
|
[ "${isip_o4}" -gt "255" ]; then
|
||||||
|
unset -v isip_o1
|
||||||
|
unset -v isip_o2
|
||||||
|
unset -v isip_o3
|
||||||
|
unset -v isip_o4
|
||||||
|
# Error
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v isip_o1
|
||||||
|
unset -v isip_o2
|
||||||
|
unset -v isip_o3
|
||||||
|
unset -v isip_o4
|
||||||
|
|
||||||
|
# Success
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
_ishostname() {
|
||||||
|
# Does not have correct character class
|
||||||
|
if ! echo "${1}" | grep -Eq '^[-.0-9a-zA-Z]+$'; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# first and last character
|
||||||
|
ishostname_f_char="$( echo "${1}" | cut -c1-1 )"
|
||||||
|
ishostname_l_char="$( echo "${1}" | sed -e 's/.*\(.\)$/\1/' )"
|
||||||
|
|
||||||
|
# Dot at beginning or end
|
||||||
|
if [ "${ishostname_f_char}" = "." ] || [ "${ishostname_l_char}" = "." ]; then
|
||||||
|
unset -v ishostname_f_char
|
||||||
|
unset -v ishostname_l_char
|
||||||
|
# Error
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# Dash at beginning or end
|
||||||
|
if [ "${ishostname_f_char}" = "-" ] || [ "${ishostname_l_char}" = "-" ]; then
|
||||||
|
unset -v ishostname_f_char
|
||||||
|
unset -v ishostname_l_char
|
||||||
|
# Error
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v ishostname_f_char
|
||||||
|
unset -v ishostname_l_char
|
||||||
|
|
||||||
|
# Multiple dots next to each other
|
||||||
|
if echo "${1}" | grep -Eq '[.]{2,}'; then
|
||||||
|
# Error
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# Dash next to dot
|
||||||
|
if echo "${1}" | grep -Eq '(\.-)|(-\.)'; then
|
||||||
|
# Error
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Success
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
###
|
||||||
|
###
|
||||||
|
port_forward_get_lines() {
|
||||||
|
|
||||||
|
if env_set "${1}"; then
|
||||||
|
|
||||||
|
# Transform into newline separated forwards:
|
||||||
|
# local-port:host:remote-port\n
|
||||||
|
# local-port:host:remote-port\n
|
||||||
|
pfl_forwards="$( env_get "${1}" | sed 's/[[:space:]]*//g' | sed 's/,/\n/g' )"
|
||||||
|
|
||||||
|
# loop over them line by line
|
||||||
|
IFS='
|
||||||
|
'
|
||||||
|
for pfl_line in ${pfl_forwards}; do
|
||||||
|
echo "${pfl_line}"
|
||||||
|
done
|
||||||
|
|
||||||
|
unset -v pfl_forwards
|
||||||
|
unset -v pfl_line
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
port_forward_get_lport() {
|
||||||
|
# local-port:host:remote-port\n
|
||||||
|
echo "${1}" | awk -F':' '{print $1}'
|
||||||
|
}
|
||||||
|
port_forward_get_rhost() {
|
||||||
|
# local-port:host:remote-port\n
|
||||||
|
echo "${1}" | awk -F':' '{print $2}'
|
||||||
|
}
|
||||||
|
port_forward_get_rport() {
|
||||||
|
# local-port:host:remote-port\n
|
||||||
|
echo "${1}" | awk -F':' '{print $3}'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
port_forward_validate() {
|
||||||
|
pfv_env_varname="${1}"
|
||||||
|
|
||||||
|
if ! env_set "${pfv_env_varname}"; then
|
||||||
|
log "info" "\$${pfv_env_varname} not set."
|
||||||
|
log "info" "Not ports from other machines will be forwarded to 127.0.0.1 inside this docker"
|
||||||
|
else
|
||||||
|
|
||||||
|
# Loop over forwards in order to validate them
|
||||||
|
for pfv_line in $( port_forward_get_lines "${pfv_env_varname}" ); do
|
||||||
|
pfv_lport="$( port_forward_get_lport "${pfv_line}" )"
|
||||||
|
pfv_rhost="$( port_forward_get_rhost "${pfv_line}" )"
|
||||||
|
pfv_rport="$( port_forward_get_rport "${pfv_line}" )"
|
||||||
|
|
||||||
|
if ! isint "${pfv_lport}"; then
|
||||||
|
log "err" "Port forwarding error: local port is not an integer: ${pfv_lport}"
|
||||||
|
log "err" "Line: ${pfv_line}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! _isip "${pfv_rhost}" && ! _ishostname "${pfv_rhost}"; then
|
||||||
|
log "err" "Port forwarding error: remote host is not a valid IP and not a valid hostname: ${pfv_rhost}"
|
||||||
|
log "err" "Line: ${pfv_line}"
|
||||||
|
log "err" ""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! isint "${pfv_rport}"; then
|
||||||
|
log "err" "Port forwarding error: remote port is not an integer: ${pfv_rport}"
|
||||||
|
log "err" "Line: ${pfv_line}"
|
||||||
|
log "err" ""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "info" "Forwarding ${pfv_rhost}:${pfv_rport} to 127.0.0.1:${pfv_lport} inside this docker."
|
||||||
|
done
|
||||||
|
|
||||||
|
unset -v pfv_line
|
||||||
|
unset -v pfv_lport
|
||||||
|
unset -v pfv_rhost
|
||||||
|
unset -v pfv_rport
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset -v pfv_env_varname
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v awk >/dev/null 2>&1; then
|
||||||
|
echo "awk not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v cut >/dev/null 2>&1; then
|
||||||
|
echo "cut not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v sed >/dev/null 2>&1; then
|
||||||
|
echo "sed not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
58
Dockerfiles/prod/data/docker-entrypoint.d/34-custom-ini-files.sh
Executable file
58
Dockerfiles/prod/data/docker-entrypoint.d/34-custom-ini-files.sh
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy *.ini files from source to destination with prefix
|
||||||
|
###
|
||||||
|
copy_ini_files() {
|
||||||
|
ini_src="${1}"
|
||||||
|
ini_dst="${2}"
|
||||||
|
|
||||||
|
if [ ! -d "${ini_src}" ]; then
|
||||||
|
run "mkdir -p ${ini_src}"
|
||||||
|
fi
|
||||||
|
ini_files="$( find "${ini_src}" -type f -iname '*.ini' )"
|
||||||
|
|
||||||
|
# loop over them line by line
|
||||||
|
IFS='
|
||||||
|
'
|
||||||
|
for ini_f in ${ini_files}; do
|
||||||
|
ini_name="$( basename "${ini_f}" )"
|
||||||
|
log "info" "PHP.ini: ${ini_name} -> ${ini_dst}/zzz-devilbox-${ini_name}"
|
||||||
|
run "cp ${ini_f} ${ini_dst}/devilbox-${ini_name}"
|
||||||
|
done
|
||||||
|
run "find ${ini_dst} -type f -iname '*.ini' -exec chmod 0644 \"{}\" \;"
|
||||||
|
|
||||||
|
unset -v ini_src
|
||||||
|
unset -v ini_dst
|
||||||
|
unset -v ini_files
|
||||||
|
unset -v ini_f
|
||||||
|
unset -v ini_name
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Sanity Checks
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
if ! command -v find >/dev/null 2>&1; then
|
||||||
|
echo "find not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v basename >/dev/null 2>&1; then
|
||||||
|
echo "basename not found, but required."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
60
Dockerfiles/prod/data/docker-entrypoint.d/35-supervisor.sh
Executable file
60
Dockerfiles/prod/data/docker-entrypoint.d/35-supervisor.sh
Executable file
@@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
# + DEBUG_LEVEL
|
||||||
|
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
############################################################
|
||||||
|
# Functions
|
||||||
|
############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Add service to supervisord
|
||||||
|
###
|
||||||
|
supervisor_add_service() {
|
||||||
|
supervisor_name="${1}"
|
||||||
|
supervisor_command="${2}"
|
||||||
|
supervisor_confd="${3}"
|
||||||
|
supervisor_priority=
|
||||||
|
|
||||||
|
if [ "${#}" -gt "3" ]; then
|
||||||
|
supervisor_priority="${4}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${supervisor_confd}" ]; then
|
||||||
|
run "mkdir -p ${supervisor_confd}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add services
|
||||||
|
{
|
||||||
|
echo "[program:${supervisor_name}]";
|
||||||
|
echo "command = ${supervisor_command}";
|
||||||
|
|
||||||
|
if [ -n "${supervisor_priority}" ]; then
|
||||||
|
echo "priority = ${supervisor_priority}";
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "autostart = true";
|
||||||
|
echo "autorestart = true";
|
||||||
|
|
||||||
|
echo "stdout_logfile = /dev/stdout";
|
||||||
|
echo "stdout_logfile_maxbytes = 0";
|
||||||
|
echo "stdout_events_enabled = true";
|
||||||
|
|
||||||
|
echo "stderr_logfile = /dev/stderr";
|
||||||
|
echo "stderr_logfile_maxbytes = 0";
|
||||||
|
echo "stderr_events_enabled = true";
|
||||||
|
} > "${supervisor_confd}/${supervisor_name}.conf"
|
||||||
|
|
||||||
|
unset -v supervisor_name
|
||||||
|
unset -v supervisor_command
|
||||||
|
unset -v supervisor_confd
|
||||||
|
unset -v supervisor_priority
|
||||||
|
}
|
||||||
132
Dockerfiles/prod/data/docker-entrypoint.sh
Executable file
132
Dockerfiles/prod/data/docker-entrypoint.sh
Executable file
@@ -0,0 +1,132 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Available global variables:
|
||||||
|
# + MY_USER
|
||||||
|
# + MY_GROUP
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Variables
|
||||||
|
###
|
||||||
|
PHP_INI_PATH="/usr/local/etc/php.ini"
|
||||||
|
FPM_ERROR_LOG_CFG="/usr/local/etc/php-fpm.conf"
|
||||||
|
FPM_ACCESS_LOG_CFG="/usr/local/etc/php-fpm.d/zzz-docker.conf"
|
||||||
|
FPM_LOG_DIR="/var/log/php"
|
||||||
|
|
||||||
|
#PHP_CUST_MODULE_DIR="/etc/php-modules.d"
|
||||||
|
|
||||||
|
PHP_CUST_INI_DIR="/etc/php-custom.d"
|
||||||
|
PHP_REAL_INI_DIR="/usr/local/etc/php.d"
|
||||||
|
|
||||||
|
SUPERVISOR_CONFD="/etc/supervisor/conf.d"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Source libs
|
||||||
|
###
|
||||||
|
init="$( find /docker-entrypoint.d -name '*.sh' -type f | sort -u )"
|
||||||
|
for f in ${init}; do
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
. "${f}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Set Debug level
|
||||||
|
###
|
||||||
|
DEBUG_LEVEL="$( get_debug_level "DEBUG_ENTRYPOINT" "0" )"
|
||||||
|
log "info" "Debug level: ${DEBUG_LEVEL}" "${DEBUG_LEVEL}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
## Sanity checks
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
if ! command -v socat >/dev/null 2>&1; then
|
||||||
|
log "err" "socat not found, but required." "${DEBUG_LEVEL}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
## Entry Point
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
###
|
||||||
|
### Change uid/gid
|
||||||
|
###
|
||||||
|
set_uid "NEW_UID"
|
||||||
|
set_gid "NEW_GID"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Set timezone
|
||||||
|
###
|
||||||
|
set_timezone "TIMEZONE" "${PHP_INI_PATH}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Set Logging
|
||||||
|
###
|
||||||
|
set_docker_logs \
|
||||||
|
"DOCKER_LOGS" \
|
||||||
|
"${FPM_LOG_DIR}" \
|
||||||
|
"${FPM_ERROR_LOG_CFG}" \
|
||||||
|
"${FPM_ACCESS_LOG_CFG}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Setup postfix
|
||||||
|
###
|
||||||
|
set_postfix "ENABLE_MAIL"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Validate socat port forwards
|
||||||
|
###
|
||||||
|
if ! port_forward_validate "FORWARD_PORTS_TO_LOCALHOST"; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Supervisor: socat
|
||||||
|
###
|
||||||
|
for line in $( port_forward_get_lines "FORWARD_PORTS_TO_LOCALHOST" ); do
|
||||||
|
lport="$( port_forward_get_lport "${line}" )"
|
||||||
|
rhost="$( port_forward_get_rhost "${line}" )"
|
||||||
|
rport="$( port_forward_get_rport "${line}" )"
|
||||||
|
supervisor_add_service "socat-${lport}-${rhost}-${rport}" "/usr/bin/socat tcp-listen:${lport},reuseaddr,fork tcp:${rhost}:${rport}" "${SUPERVISOR_CONFD}"
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Supervisor: rsyslogd & postfix
|
||||||
|
###
|
||||||
|
if [ "$( env_get "ENABLE_MAIL" )" = "1" ]; then
|
||||||
|
supervisor_add_service "rsyslogd" "/usr/sbin/rsyslogd -n" "${SUPERVISOR_CONFD}" "1"
|
||||||
|
supervisor_add_service "postfix" "/usr/local/sbin/postfix.sh" "${SUPERVISOR_CONFD}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Supervisor: php-fpm
|
||||||
|
###
|
||||||
|
supervisor_add_service "php-fpm" "/usr/local/sbin/php-fpm" "${SUPERVISOR_CONFD}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy custom *.ini files
|
||||||
|
###
|
||||||
|
copy_ini_files "${PHP_CUST_INI_DIR}" "${PHP_REAL_INI_DIR}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Start
|
||||||
|
###
|
||||||
|
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
|
||||||
95
Dockerfiles/prod/data/postfix.sh
Executable file
95
Dockerfiles/prod/data/postfix.sh
Executable file
@@ -0,0 +1,95 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Wrapper to have postfix run in foreground
|
||||||
|
# mode in order to be called by supvervisord
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# CREDITS:
|
||||||
|
# This script is mostly based on the following Gist:
|
||||||
|
# https://gist.github.com/chrisnew/b0c1b8d310fc5ceaeac4
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Be strict
|
||||||
|
###
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Variables
|
||||||
|
###
|
||||||
|
if [ -f "/etc/alpine-release" ]; then
|
||||||
|
MAILLOG="/var/log/maillog"
|
||||||
|
elif [ -f "/etc/debian_version" ]; then
|
||||||
|
MAILLOG="/var/log/mail.log"
|
||||||
|
else
|
||||||
|
MAILLOG="/var/log/maillog"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MAILPID="/var/spool/postfix/pid/master.pid"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Sanity checks
|
||||||
|
###
|
||||||
|
if ! command -v pidof >/dev/null 2>&1; then
|
||||||
|
echo "pidof is required for cleaning up tail command."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Give rsyslogd some time to start up
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
if ! pidof rsyslogd >/dev/null 2>&1; then
|
||||||
|
echo "rsyslogd is not running, but required for mail logging."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# force new copy of hosts there (otherwise links could be outdated)
|
||||||
|
# TODO: check if required
|
||||||
|
#cp /etc/hosts /var/spool/postfix/etc/hosts
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Trap signals
|
||||||
|
###
|
||||||
|
trap "postfix stop" SIGINT
|
||||||
|
trap "postfix stop" SIGTERM
|
||||||
|
trap "postfix reload" SIGHUP
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Startup
|
||||||
|
###
|
||||||
|
|
||||||
|
# start postfix
|
||||||
|
postfix start
|
||||||
|
|
||||||
|
# Capture output
|
||||||
|
tail -qF -n 0 "${MAILLOG}" &
|
||||||
|
tail_pid="${?}"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Warm-up time
|
||||||
|
###
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Wait for kill signales
|
||||||
|
###
|
||||||
|
while kill -0 "$(cat "${MAILPID}")" >/dev/null 2>&1; do
|
||||||
|
# Check every second
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Clean-up
|
||||||
|
###
|
||||||
|
kill "${tail_pid}"
|
||||||
9
Dockerfiles/prod/data/supervisord.conf
Normal file
9
Dockerfiles/prod/data/supervisord.conf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[supervisord]
|
||||||
|
user = root
|
||||||
|
nodaemon = true
|
||||||
|
logfile = /var/log/supervisor/supervisord.log
|
||||||
|
pidfile = /var/run/supervisord.pid
|
||||||
|
childlogdir = /var/log/supervisor
|
||||||
|
|
||||||
|
[include]
|
||||||
|
files = /etc/supervisor/conf.d/*.conf
|
||||||
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# MIT License
|
||||||
|
|
||||||
|
**Copyright (c) 2018 [cytopia](https://github.com/cytopia)**
|
||||||
|
|
||||||
|
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.
|
||||||
73
build/ansible/DOCKERFILES/Dockerfile-base.j2
Normal file
73
build/ansible/DOCKERFILES/Dockerfile-base.j2
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM php:{{ php_version }}-fpm
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="{{ php_version }}-base" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV MY_USER="devilbox" \
|
||||||
|
MY_GROUP="devilbox" \
|
||||||
|
MY_UID="1000" \
|
||||||
|
MY_GID="1000"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### User/Group
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& groupadd -g ${MY_GID} -r ${MY_GROUP} \
|
||||||
|
&& useradd -u ${MY_UID} -m -s /bin/bash -g ${MY_GROUP} ${MY_USER}
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Upgrade
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get upgrade -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d /docker-entrypoint.d
|
||||||
|
COPY ./data/php-fpm.conf /usr/local/etc/php-fpm.conf
|
||||||
|
COPY ./data/php-fpm.d/devilbox.conf /usr/local/etc/php-fpm.d/zzz-devilbox.conf
|
||||||
|
|
||||||
|
|
||||||
|
{% if debug %}
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
349
build/ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
349
build/ansible/DOCKERFILES/Dockerfile-mods.j2
Normal file
@@ -0,0 +1,349 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-base
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="{{ php_version }}-mods" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Envs
|
||||||
|
###
|
||||||
|
ENV BUILD_DEPS \
|
||||||
|
{# ---- PHP Built-in Extensions ---- #}
|
||||||
|
{% for ext in php_builtin_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific build_deps available #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_builtin_extensions[ext][php_version]['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General build_deps available? #}
|
||||||
|
{% elif 'all' in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_builtin_extensions[ext]['all']['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP PECL Extensions ---- #}
|
||||||
|
{% for ext in php_pecl_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific build_deps available #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_pecl_extensions[ext][php_version]['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General build_deps available? #}
|
||||||
|
{% elif 'all' in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_pecl_extensions[ext]['all']['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP GIT Extensions git requirement ---- #}
|
||||||
|
{% if php_git_extensions %}
|
||||||
|
git \
|
||||||
|
{% endif %}
|
||||||
|
{# ---- PHP GIT Extensions ---- #}
|
||||||
|
{% for ext in php_git_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific build_deps available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_git_extensions[ext][php_version]['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General build_deps available? #}
|
||||||
|
{% elif 'all' in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_git_extensions[ext]['all']['build_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
ENV RUN_DEPS \
|
||||||
|
{# ---- PHP Built-in Extensions ---- #}
|
||||||
|
{% for ext in php_builtin_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific run_deps available #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_builtin_extensions[ext][php_version]['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General config available? #}
|
||||||
|
{% elif 'all' in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_builtin_extensions[ext]['all']['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP PECL Extensions ---- #}
|
||||||
|
{% for ext in php_pecl_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific run_deps available #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_pecl_extensions[ext][php_version]['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General run_deps available? #}
|
||||||
|
{% elif 'all' in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_pecl_extensions[ext]['all']['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP GIT Extensions ---- #}
|
||||||
|
{% for ext in php_git_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific run_deps available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext][php_version] %}
|
||||||
|
{% for dep in php_git_extensions[ext][php_version]['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{# General run_deps available? #}
|
||||||
|
{% elif 'all' in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext]['all'] %}
|
||||||
|
{% for dep in php_git_extensions[ext]['all']['run_dep'] %}
|
||||||
|
{{ dep }} \
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
{# ---- PHP Built-in Extensions ---- #}
|
||||||
|
{% for ext in php_builtin_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific command available #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext][php_version] %}
|
||||||
|
&& {{ php_builtin_extensions[ext][php_version]['command'] }} \
|
||||||
|
{# General command available? #}
|
||||||
|
{% elif 'all' in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext]['all'] %}
|
||||||
|
&& {{ php_builtin_extensions[ext]['all']['command'] }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Version specific configure available #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext][php_version] %}
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext][php_version]['configure'] }} \
|
||||||
|
{# General configure available? #}
|
||||||
|
{% elif 'all' in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext]['all'] %}
|
||||||
|
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext]['all']['configure'] }} \
|
||||||
|
{% endif %}
|
||||||
|
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
\
|
||||||
|
{# ---- PHP PECL Extensions ---- #}
|
||||||
|
{% for ext in php_pecl_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific command available #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext][php_version] %}
|
||||||
|
&& {{ php_pecl_extensions[ext][php_version]['command'] }} \
|
||||||
|
{# General command available? #}
|
||||||
|
{% elif 'all' in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext]['all'] %}
|
||||||
|
&& {{ php_pecl_extensions[ext]['all']['command'] }} \
|
||||||
|
{# Version specific name available #}
|
||||||
|
{% elif php_version in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext][php_version] %}
|
||||||
|
&& pecl install {{ php_pecl_extensions[ext][php_version]['alt_name'] }} \
|
||||||
|
{# General name available? #}
|
||||||
|
{% elif 'all' in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext]['all'] %}
|
||||||
|
&& pecl install {{ php_pecl_extensions[ext]['all']['alt_name'] }} \
|
||||||
|
{% else %}
|
||||||
|
&& pecl install {{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Version specific module available #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext][php_version] %}
|
||||||
|
&& docker-php-ext-enable {{ php_pecl_extensions[ext][php_version]['alt_module'] }} \
|
||||||
|
{# General module available? #}
|
||||||
|
{% elif 'all' in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext]['all'] %}
|
||||||
|
&& docker-php-ext-enable {{ php_pecl_extensions[ext]['all']['alt_module'] }} \
|
||||||
|
{% else %}
|
||||||
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
\
|
||||||
|
{# ---- PHP GIT Extensions ---- #}
|
||||||
|
{% for ext in php_git_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||||
|
{# Version specific url available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'git_url' in php_git_extensions[ext][php_version] %}
|
||||||
|
&& git clone -v {{ php_git_extensions[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||||
|
{# General url available? #}
|
||||||
|
{% else %}
|
||||||
|
&& git clone -v {{ php_git_extensions[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Version specific ref available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext][php_version] %}
|
||||||
|
&& cd /tmp/{{ ext }} \
|
||||||
|
&& git checkout {{ php_git_extensions[ext][php_version]['git_ref'] }} \
|
||||||
|
{# General ref available? #}
|
||||||
|
{% elif 'all' in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext]['all'] %}
|
||||||
|
&& cd /tmp/{{ ext }} \
|
||||||
|
&& git checkout {{ php_git_extensions[ext]['all']['git_ref'] }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Version specific command available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'command' in php_git_extensions[ext][php_version] %}
|
||||||
|
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext][php_version]['command'] }} \
|
||||||
|
{# General command available? #}
|
||||||
|
{% else %}
|
||||||
|
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext]['all']['command'] }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Version specific module available #}
|
||||||
|
{% if php_version in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext][php_version] %}
|
||||||
|
&& docker-php-ext-enable {{ php_git_extensions[ext][php_version]['alt_module'] }} \
|
||||||
|
{# General module available? #}
|
||||||
|
{% elif 'all' in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext]['all'] %}
|
||||||
|
&& docker-php-ext-enable {{ php_git_extensions[ext]['all']['alt_module'] }} \
|
||||||
|
{% else %}
|
||||||
|
&& docker-php-ext-enable {{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{# Cleanup #}
|
||||||
|
&& cd / && rm -rf /tmp/{{ ext }} \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
${BUILD_DEPS} \
|
||||||
|
\
|
||||||
|
\
|
||||||
|
&& apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
${RUN_DEPS} \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& find /usr/local -type f -perm /u+x -exec strip --strip-all '{}' + || true
|
||||||
|
|
||||||
|
|
||||||
|
{% if debug %}
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
RUN set -x \
|
||||||
|
{# ---- PHP Built-in Extensions ---- #}
|
||||||
|
{% for ext in php_builtin_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
|
||||||
|
{% if ext == 'opcache' %}
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
{% else %}
|
||||||
|
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP PECL Extensions ---- #}
|
||||||
|
{% for ext in php_pecl_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
|
||||||
|
{% if ext == 'opcache' %}
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
{% else %}
|
||||||
|
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{# ---- PHP GIT Extensions ---- #}
|
||||||
|
{% for ext in php_git_extensions.keys() %}
|
||||||
|
{# Enabled #}
|
||||||
|
{% if php_version in php_git_extensions[ext]['enabled'] %}
|
||||||
|
{# Not Disabled #}
|
||||||
|
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
|
||||||
|
{% if ext == 'opcache' %}
|
||||||
|
&& php -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
|
||||||
|
{% else %}
|
||||||
|
&& php -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
&& true
|
||||||
|
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
91
build/ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
91
build/ansible/DOCKERFILES/Dockerfile-prod.j2
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
# Auto-generated via Ansible
|
||||||
|
FROM devilbox/php-fpm:{{ php_version }}-mods
|
||||||
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Labels
|
||||||
|
###
|
||||||
|
LABEL \
|
||||||
|
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||||
|
image="devilbox/php-fpm" \
|
||||||
|
tag="{{ php_version }}-prod" \
|
||||||
|
vendor="devilbox" \
|
||||||
|
license="MIT"
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Install
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& apt-get update \
|
||||||
|
&& DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --no-install-suggests -y \
|
||||||
|
locales-all \
|
||||||
|
postfix \
|
||||||
|
postfix-pcre \
|
||||||
|
rsyslog \
|
||||||
|
socat \
|
||||||
|
supervisor \
|
||||||
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $fetchDeps \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
\
|
||||||
|
&& rm -rf /etc/supervisor* \
|
||||||
|
&& mkdir -p /etc/supervisor/conf.d \
|
||||||
|
&& mkdir -p /var/log/supervisor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Configure
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& { \
|
||||||
|
echo "[mail function]"; \
|
||||||
|
echo "sendmail_path = /usr/sbin/sendmail -t -i"; \
|
||||||
|
echo ";mail.force_extra_parameters ="; \
|
||||||
|
echo "mail.add_x_header = On"; \
|
||||||
|
echo "mail.log = /var/log/php/mail.log"; \
|
||||||
|
} > /usr/local/etc/php/conf.d/devilbox-mail.ini
|
||||||
|
|
||||||
|
|
||||||
|
{% if debug %}
|
||||||
|
###
|
||||||
|
### Verify
|
||||||
|
###
|
||||||
|
RUN set -x \
|
||||||
|
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||||
|
&& /usr/local/sbin/php-fpm --test \
|
||||||
|
&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||||
|
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
|
||||||
|
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
###
|
||||||
|
### Copy files
|
||||||
|
###
|
||||||
|
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
|
||||||
|
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
|
||||||
|
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Volumes
|
||||||
|
###
|
||||||
|
VOLUME /etc/php-custom.d
|
||||||
|
VOLUME /etc/php-modules.d
|
||||||
|
VOLUME /var/log/php
|
||||||
|
VOLUME /var/mail
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Ports
|
||||||
|
###
|
||||||
|
EXPOSE 9000
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Entrypoint
|
||||||
|
###
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
6
build/ansible/README.md
Normal file
6
build/ansible/README.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
Ansible is used to generate Dockerfiles
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ansible-playbook generate.yml
|
||||||
|
```
|
||||||
3
build/ansible/ansible.cfg
Normal file
3
build/ansible/ansible.cfg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[defaults]
|
||||||
|
roles_path = ./roles
|
||||||
|
inventory = inventory
|
||||||
8
build/ansible/generate.yml
Normal file
8
build/ansible/generate.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
gather_facts: False
|
||||||
|
roles:
|
||||||
|
- template
|
||||||
|
tags:
|
||||||
|
- template
|
||||||
479
build/ansible/group_vars/all.yml
Normal file
479
build/ansible/group_vars/all.yml
Normal file
@@ -0,0 +1,479 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
template_files:
|
||||||
|
- src: DOCKERFILES/Dockerfile-base.j2
|
||||||
|
dst: "../../Dockerfiles/base/Dockerfile-{{ php_version }}"
|
||||||
|
- src: DOCKERFILES/Dockerfile-mods.j2
|
||||||
|
dst: "../../Dockerfiles/mods/Dockerfile-{{ php_version }}"
|
||||||
|
- src: DOCKERFILES/Dockerfile-prod.j2
|
||||||
|
dst: "../../Dockerfiles/prod/Dockerfile-{{ php_version }}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Adds self-validating checks to Dockerfile
|
||||||
|
# turn off for final build
|
||||||
|
debug: True
|
||||||
|
|
||||||
|
|
||||||
|
php_all_versions:
|
||||||
|
- 5.4
|
||||||
|
- 5.5
|
||||||
|
- 5.6
|
||||||
|
- 7.0
|
||||||
|
- 7.1
|
||||||
|
- 7.2
|
||||||
|
|
||||||
|
|
||||||
|
php_conf_dir: /usr/local/etc/php.d
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### Available GIT extensions
|
||||||
|
###
|
||||||
|
### <ext>:
|
||||||
|
### enabled: []
|
||||||
|
### disabled: []
|
||||||
|
### all:
|
||||||
|
### git_url: Url for git clone
|
||||||
|
### git_ref: git branch tag, commit or shell command to retrieve a tag or commit
|
||||||
|
### command: command to install
|
||||||
|
### alt_module: alternative module name to enable (precedence over <ext>.so)
|
||||||
|
### build_dep:
|
||||||
|
### run_dep:
|
||||||
|
###
|
||||||
|
php_git_extensions:
|
||||||
|
phalcon:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
git_ref: phalcon-v2.0.13
|
||||||
|
all:
|
||||||
|
git_url: https://github.com/phalcon/cphalcon
|
||||||
|
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g')
|
||||||
|
command: cd build && ./install
|
||||||
|
uploadprogress:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4, 5.5, 5.6]
|
||||||
|
all:
|
||||||
|
git_url: https://github.com/php/pecl-php-uploadprogress
|
||||||
|
git_ref: master
|
||||||
|
command: phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install
|
||||||
|
|
||||||
|
###
|
||||||
|
### Available PECL extensions
|
||||||
|
###
|
||||||
|
### <ext>:
|
||||||
|
### enabled: []
|
||||||
|
### disabled: []
|
||||||
|
### all:
|
||||||
|
### command: alternative command to install (precedence over <alt_name> and <ext>
|
||||||
|
### alt_name: alternative name of <ext> to install (precedence over <ext>
|
||||||
|
### alt_module: alternative module name to enable (precedence over <ext>.so)
|
||||||
|
### build_dep:
|
||||||
|
### run_dep:
|
||||||
|
###
|
||||||
|
php_pecl_extensions:
|
||||||
|
#apc:
|
||||||
|
# enabled: "{{ php_all_versions }}"
|
||||||
|
# disabled: [5.5, 5.6, 7.0, 7.1, 7.2]
|
||||||
|
#apcu_bc:
|
||||||
|
# enabled: "{{ php_all_versions }}"
|
||||||
|
# disabled: [5.4, 5.5, 5.6]
|
||||||
|
# all:
|
||||||
|
# alt_module: apc
|
||||||
|
apcu:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: apcu-4.0.11
|
||||||
|
5.5:
|
||||||
|
alt_name: apcu-4.0.11
|
||||||
|
5.6:
|
||||||
|
alt_name: apcu-4.0.11
|
||||||
|
amqp:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
7.2:
|
||||||
|
run_dep: [librabbitmq4]
|
||||||
|
all:
|
||||||
|
command: echo "/usr" | pecl install amqp
|
||||||
|
build_dep: [librabbitmq-dev]
|
||||||
|
run_dep: [librabbitmq1]
|
||||||
|
igbinary:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
imagick:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
7.2:
|
||||||
|
run_dep: [libmagickwand-6.q16-3]
|
||||||
|
all:
|
||||||
|
build_dep: [libmagickwand-dev]
|
||||||
|
run_dep: [libmagickwand-6.q16-2]
|
||||||
|
mcrypt:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4, 5.5, 5.6, 7.0, 7.1] # Already avail by default
|
||||||
|
7.2:
|
||||||
|
alt_name: mcrypt-1.0.1
|
||||||
|
build_dep: [libmcrypt-dev]
|
||||||
|
run_dep: [libmcrypt4]
|
||||||
|
memcache:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.0, 7.1, 7.2]
|
||||||
|
all:
|
||||||
|
build_dep: [zlib1g-dev]
|
||||||
|
memcached:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: memcached-2.2.0
|
||||||
|
5.5:
|
||||||
|
alt_name: memcached-2.2.0
|
||||||
|
5.6:
|
||||||
|
alt_name: memcached-2.2.0
|
||||||
|
all:
|
||||||
|
build_dep: [zlib1g-dev, libmemcached-dev]
|
||||||
|
run_dep: [libmemcachedutil2]
|
||||||
|
mongodb:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: mongodb-1.2.11
|
||||||
|
build_dep: [libssl-dev]
|
||||||
|
msgpack:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: msgpack-0.5.7
|
||||||
|
5.5:
|
||||||
|
alt_name: msgpack-0.5.7
|
||||||
|
5.6:
|
||||||
|
alt_name: msgpack-0.5.7
|
||||||
|
redis:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
swoole:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: swoole-1.9.23
|
||||||
|
5.5:
|
||||||
|
alt_name: swoole-1.9.23
|
||||||
|
5.6:
|
||||||
|
alt_name: swoole-1.9.23
|
||||||
|
7.2:
|
||||||
|
run_dep: [libnghttp2-14]
|
||||||
|
all:
|
||||||
|
build_dep: [libnghttp2-dev, libssl-dev, libnghttp2-5]
|
||||||
|
run_dep: [libnghttp2-5]
|
||||||
|
uploadprogress:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.2, 7.1, 7.0]
|
||||||
|
xdebug:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
alt_name: xdebug-2.4.1
|
||||||
|
5.5:
|
||||||
|
alt_name: xdebug-2.5.5
|
||||||
|
5.6:
|
||||||
|
alt_name: xdebug-2.5.5
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
### PHP Built-in Modules to enable
|
||||||
|
###
|
||||||
|
### will use e.g. 5.6 for PHP 5.6 as specific configuration
|
||||||
|
### or if not available, use all
|
||||||
|
###
|
||||||
|
### module-name:
|
||||||
|
### enabled: [ what php versions it is enabled for]
|
||||||
|
### disabled: [ what php versions it is disabled for] (precedence over enabled)
|
||||||
|
### '5.6':
|
||||||
|
### command: command to execute prior installation
|
||||||
|
### configure: custom configure command
|
||||||
|
### build_dep:
|
||||||
|
### run_dep:
|
||||||
|
### all:
|
||||||
|
### command:
|
||||||
|
### configure:
|
||||||
|
### build_dep:
|
||||||
|
### run_dep:
|
||||||
|
###
|
||||||
|
php_builtin_extensions:
|
||||||
|
bcmath:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
bz2:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libbz2-dev]
|
||||||
|
calendar:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
ctype:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
curl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libcurl4-openssl-dev]
|
||||||
|
dba:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
dom:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
enchant:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libenchant-dev]
|
||||||
|
run_dep: [libenchant1c2a]
|
||||||
|
exif:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
fileinfo:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
filter:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # Available by default
|
||||||
|
ftp:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-openssl-dir
|
||||||
|
build_dep: [libssl-dev]
|
||||||
|
gd:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
7.2:
|
||||||
|
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
|
||||||
|
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
|
||||||
|
7.1:
|
||||||
|
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
|
||||||
|
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
|
||||||
|
7.0:
|
||||||
|
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
|
||||||
|
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
|
||||||
|
all:
|
||||||
|
command: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
||||||
|
configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv --enable-gd-native-ttf
|
||||||
|
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev]
|
||||||
|
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6]
|
||||||
|
gettext:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
gmp:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
command: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
|
||||||
|
build_dep: [libgmp-dev]
|
||||||
|
hash:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
iconv:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
imap:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
command: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
|
||||||
|
configure: --with-kerberos --with-imap-ssl --with-imap
|
||||||
|
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
|
||||||
|
run_dep: [libc-client2007e]
|
||||||
|
interbase:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4]
|
||||||
|
all:
|
||||||
|
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||||
|
run_dep: [libfbclient2]
|
||||||
|
intl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
7.2:
|
||||||
|
run_dep: [libicu57]
|
||||||
|
all:
|
||||||
|
build_dep: [libicu-dev]
|
||||||
|
run_dep: [libicu52]
|
||||||
|
json:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
ldap:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
command: ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/
|
||||||
|
configure: --with-ldap --with-ldap-sasl
|
||||||
|
build_dep: [libldap2-dev, libsasl2-dev]
|
||||||
|
libxml:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # Available by default
|
||||||
|
mbstring:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
mcrypt:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.2]
|
||||||
|
7.2:
|
||||||
|
build_dep: []
|
||||||
|
run_dep: []
|
||||||
|
all:
|
||||||
|
run_dep: [libmcrypt4]
|
||||||
|
build_dep: [libmcrypt-dev]
|
||||||
|
mysql:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.0, 7.1, 7.2]
|
||||||
|
mysqli:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.0, 7.1, 7.2]
|
||||||
|
mysqlnd:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # Available by default
|
||||||
|
oci8:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
|
||||||
|
odbc:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
|
||||||
|
opcache:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4]
|
||||||
|
openssl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # Available by default
|
||||||
|
pcntl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
pcre:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # Available by default
|
||||||
|
pdo:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
pdo_dblib:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
command: ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/
|
||||||
|
build_dep: [freetds-dev]
|
||||||
|
run_dep: [libsybdb5]
|
||||||
|
pdo_firebird:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libfbclient2, libib-util, firebird-dev]
|
||||||
|
run_dep: [libfbclient2]
|
||||||
|
pdo_mysql:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
pdo_oci:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
|
||||||
|
pdo_odbc:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # TODO: Build errors
|
||||||
|
pdo_pgsql:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libpq-dev]
|
||||||
|
run_dep: [libpq5]
|
||||||
|
pdo_sqlite:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libsqlite3-dev]
|
||||||
|
pgsql:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libpq-dev]
|
||||||
|
run_dep: [libpq5]
|
||||||
|
phar:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libssl-dev]
|
||||||
|
posix:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
pspell:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libpspell-dev]
|
||||||
|
run_dep: [libaspell15]
|
||||||
|
readline:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4]
|
||||||
|
all:
|
||||||
|
build_dep: [libedit-dev, libreadline-dev]
|
||||||
|
recode:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [librecode-dev]
|
||||||
|
run_dep: [librecode0]
|
||||||
|
session:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-mm
|
||||||
|
build_dep: [libmm-dev]
|
||||||
|
shmop:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
simplexml:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
snmp:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-openssl-dir
|
||||||
|
build_dep: [libssl-dev, libsnmp-dev, snmp]
|
||||||
|
run_dep: [snmp]
|
||||||
|
soap:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
sockets:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
sodium:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [5.4, 5.5, 5.6, 7.0, 7.1]
|
||||||
|
all:
|
||||||
|
build_dep: [libsodium-dev]
|
||||||
|
spl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: "{{ php_all_versions }}" # TODO: Did not work
|
||||||
|
sysvmsg:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
sysvsem:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
sysvshm:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
tidy:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
7.2:
|
||||||
|
run_dep: [libtidy5]
|
||||||
|
all:
|
||||||
|
build_dep: [libtidy-dev]
|
||||||
|
run_dep: [libtidy-0.99-0]
|
||||||
|
tokenizer:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
wddx:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
xml:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
xmlreader:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
disabled: [7.0, 7.1, 7.2] # build errors
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
xmlrpc:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
xmlwriter:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
configure: --with-libxml-dir=/usr
|
||||||
|
build_dep: [libxml2-dev]
|
||||||
|
xsl:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
all:
|
||||||
|
build_dep: [libxslt-dev]
|
||||||
|
run_dep: [libxslt1.1]
|
||||||
|
zip:
|
||||||
|
enabled: "{{ php_all_versions }}"
|
||||||
|
5.4:
|
||||||
|
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||||
|
build_dep: [zlib1g-dev]
|
||||||
|
run_dep: []
|
||||||
|
5.5:
|
||||||
|
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
|
||||||
|
build_dep: [zlib1g-dev]
|
||||||
|
run_dep: []
|
||||||
|
7.2:
|
||||||
|
run_dep: [libzip4]
|
||||||
|
all:
|
||||||
|
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip
|
||||||
|
build_dep: [zlib1g-dev, libzip-dev]
|
||||||
|
run_dep: [libzip2]
|
||||||
7
build/ansible/inventory
Normal file
7
build/ansible/inventory
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[php]
|
||||||
|
php-5.4 php_version=5.4 ansible_connection=local
|
||||||
|
php-5.5 php_version=5.5 ansible_connection=local
|
||||||
|
php-5.6 php_version=5.6 ansible_connection=local
|
||||||
|
php-7.0 php_version=7.0 ansible_connection=local
|
||||||
|
php-7.1 php_version=7.1 ansible_connection=local
|
||||||
|
php-7.2 php_version=7.2 ansible_connection=local
|
||||||
5
build/ansible/roles/template/defaults/main.yml
Normal file
5
build/ansible/roles/template/defaults/main.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
template_files: []
|
||||||
|
# - src:
|
||||||
|
# dst:
|
||||||
10
build/ansible/roles/template/tasks/main.yml
Normal file
10
build/ansible/roles/template/tasks/main.yml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: render template
|
||||||
|
template:
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "{{ item.dst }}"
|
||||||
|
force: True
|
||||||
|
mode: 0644
|
||||||
|
with_items:
|
||||||
|
- "{{ template_files }}"
|
||||||
45
build/gen-readme.sh
Executable file
45
build/gen-readme.sh
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -u
|
||||||
|
set -x
|
||||||
|
|
||||||
|
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
get_modules() {
|
||||||
|
tag="${1}"
|
||||||
|
|
||||||
|
PHP_MODULES="$( docker run -it --entrypoint=php devilbox/php-fpm:${tag} -m )"
|
||||||
|
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/^\[.*//g' )" # Remove PHP Modules headlines
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sort -fu )" # Unique
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sed '/^\s*$/d' )" # Remove empty lines
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | tr '\r\n' ',' )" # Newlines to commas
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,,/,/g' )" # Remove PHP Modules headlines
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,$//g' )" # Remove trailing comma
|
||||||
|
PHP_MODULES="$( echo "${PHP_MODULES}" | sed 's/,/, /g' )" # Add space to comma
|
||||||
|
|
||||||
|
echo "${PHP_MODULES}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"54-base\">.*<\/td>|<td id=\"54-base\">$( get_modules "5.4-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"54-mods\">.*<\/td>|<td id=\"54-mods\">$( get_modules "5.4-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"55-base\">.*<\/td>|<td id=\"55-base\">$( get_modules "5.5-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"55-mods\">.*<\/td>|<td id=\"55-mods\">$( get_modules "5.5-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"56-base\">.*<\/td>|<td id=\"56-base\">$( get_modules "5.6-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"56-mods\">.*<\/td>|<td id=\"56-mods\">$( get_modules "5.6-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"70-base\">.*<\/td>|<td id=\"70-base\">$( get_modules "7.0-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"70-mods\">.*<\/td>|<td id=\"70-mods\">$( get_modules "7.0-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"71-base\">.*<\/td>|<td id=\"71-base\">$( get_modules "7.1-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"71-mods\">.*<\/td>|<td id=\"71-mods\">$( get_modules "7.1-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
|
sed -i'' "s|<td id=\"72-base\">.*<\/td>|<td id=\"72-base\">$( get_modules "7.2-base" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
sed -i'' "s|<td id=\"72-mods\">.*<\/td>|<td id=\"72-mods\">$( get_modules "7.2-mods" )<\/td>|g" "${CWD}/../README.md"
|
||||||
|
|
||||||
Reference in New Issue
Block a user