+ php src container fully refactored and lightweight

* on host system container also refactored, some env options moved from .env to docker-compose example
* dnsmasq now is separate service file
+ php 8.3 support
* xdebug launch also refactored and lightweight
* tested and worked python environment with pyenv (on today without supervisor)
* database container and appropriate gui applications for management database systems moved into separate service files
+ build src php container helper
- remove unnecessary docker compose file version directive
- remove minio thing from the host php services
* use redis-local.conf from example and lightweight main redis conf file
This commit is contained in:
2025-01-13 18:16:42 +03:00
parent 57c56567cf
commit 49e44c9229
77 changed files with 2229 additions and 3192 deletions

View File

@ -15,14 +15,17 @@ services:
build:
context: ./dockerfiles/php-fpm
args:
- INSTALL_REDIS=${INSTALL_REDIS}
- INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL}
- INSTALL_LIBREOFFICE=${INSTALL_LIBREOFFICE}
- PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG}
- PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME}
- CUSTOM_TZ=${CUSTOM_TZ}
- CUSTOM_LOCALE=${CUSTOM_LOCALE}
- PHP_OPT_MEMORY_LIMIT=${PHP_OPT_MEMORY_LIMIT}
- PHP_OPT_POST_MAX_SIZE=${PHP_OPT_POST_MAX_SIZE}
- PHP_OPT_UPLOAD_MAX_FILESIZE=${PHP_OPT_UPLOAD_MAX_FILESIZE}
- PHP_OPT_MAX_EXECUTION_TIME=${PHP_OPT_MAX_EXECUTION_TIME}
# Other args that might be used for customize in every separate container
# - INSTALL_PEAR_MAIL=true
# - INSTALL_LIBREOFFICE=true
# - INSTALL_NUC_CERTS=true
# - PHP_OPT_SHORT_OPEN_TAG=On
restart: always
volumes:
- ${PROJECTS_DIR}:/usr/share/nginx/html
@ -31,20 +34,29 @@ services:
build:
context: ./dockerfiles/workspace
args:
- INSTALL_REDIS=${INSTALL_REDIS}
- INSTALL_PEAR_MAIL=${INSTALL_PEAR_MAIL}
- INSTALL_LIBREOFFICE=${INSTALL_LIBREOFFICE}
- CUSTOM_TZ=${CUSTOM_TZ}
- CUSTOM_LOCALE=${CUSTOM_LOCALE}
- CUSTOM_PUID=${WORKSPACE_PUID}
- CUSTOM_PGID=${WORKSPACE_PGID}
- CUSTOM_TZ=${WORKSPACE_TIMEZONE}
- PHP_OPT_SHORT_OPEN_TAG=${PHP_OPT_SHORT_OPEN_TAG}
- PHP_OPT_MAX_EXECUTION_TIME=${WORKSPACE_PHP_OPT_MAX_EXECUTION_TIME}
- INSTALL_YADM=${WORKSPACE_INSTALL_YADM}
- INSTALL_FINE_UTILS=${WORKSPACE_INSTALL_FINE_UTILS}
- PHP_OPT_MEMORY_LIMIT=${WORKSPACE_PHP_OPT_MEMORY_LIMIT}
- INSTALL_SUPERVISOR=${WORKSPACE_INSTALL_SUPERVISOR}
- INSTALL_PYTHON=${WORKSPACE_INSTALL_PYTHON}
# Other args that might be used for customize in every separate container
# - CUSTOM_COMPOSER_VERSION=1
# - INSTALL_WP_CLI=true
# - INSTALL_PEAR_MAIL=true
# - INSTALL_NODE=true
# - NODE_VERSION=v18.18.0
# - INSTALL_PYTHON=true
# - PYTHON_VERSION=3.12
# - INSTALL_SUPERVISOR=false # Not ready
# - INSTALL_LIBREOFFICE=true
# - INSTALL_NUC_CERTS=true
# - PHP_OPT_SHORT_OPEN_TAG=On
restart: always
volumes:
- ${PROJECTS_DIR}:/var/www
- ./data/profiler:/tmp/profiler
- ./config/supervisor:/etc/supervisor/conf.d
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
@ -108,4 +120,4 @@ services:
context: ./dockerfiles/pm2
restart: always
expose:
- 3000
- 3000