diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 3e9730d..e8c396c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -21,7 +21,7 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: "Validate compose and scripts" run: "make test" @@ -33,12 +33,12 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: "Set up Docker Buildx" - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - - name: "Build selected legacy images" + - name: "Build selected images" run: "make build" docs: @@ -49,7 +49,7 @@ jobs: steps: - name: "Checkout" - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: "Update Docker Hub description" uses: peter-evans/dockerhub-description@v5 diff --git a/AGENTS.md b/AGENTS.md index 81a3b0d..ff32a21 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -2,18 +2,19 @@ ## Project -Dockette DevStack is a legacy Docker Compose LAMP development stack. It combines Apache, PHP FPM, Node.js, Adminer, MariaDB, optional PostgreSQL, and user data helper containers through `docker-compose.yml` and the `devstack` control script. +Dockette DevStack is a Docker Compose LAMP development stack. It combines Apache, PHP FPM, Node.js, Adminer, MariaDB, optional PostgreSQL, and user data helper containers through `docker-compose.yml` and the `devstack` control script. ## Images - Docker Hub repository: `dockette/devstack`. - Local image contexts live in `apache/`, `nodejs/`, and `php/*`. -- The default compose file references tags such as `dockette/devstack:apache`, `dockette/devstack:php72-fpm`, and `dockette/devstack:nodejs`. -- Base images and runtime versions are legacy; avoid broad upgrades unless explicitly requested. +- The default compose file references tags such as `dockette/devstack:apache`, `dockette/devstack:php85-fpm`, and `dockette/devstack:nodejs`. +- All images build on `dockette/debian:bookworm`. PHP comes from `packages.sury.org`, Node.js from the official `nodejs.org` tarball, and the Blackfire probe from `packages.blackfire.io`. +- Keep runtimes on current upstream versions; when bumping PHP, update `php/*` directory names, the `PHP_VERSION` env, the FPM `CMD`, the `Makefile` tag, and the compose service name together. ## Commands -- `make build` builds selected representative local images: Apache, PHP 7.2 FPM, and Node.js. +- `make build` builds selected representative local images: Apache, PHP 8.5 FPM, and Node.js. - `make test` validates `docker-compose.yml` with `docker compose config` and checks `devstack` shell syntax. - `make run` starts the compose stack with `docker compose up -d --remove-orphans`. @@ -25,7 +26,7 @@ Dockette DevStack is a legacy Docker Compose LAMP development stack. It combines ## Guidelines -- Preserve the legacy compose UX and documented service names unless the task explicitly asks for migration. +- Preserve the compose UX and documented service names unless the task explicitly asks for migration. - Prefer small CI checks: compose config, shell syntax, and representative image builds. - Place `.PHONY` directly above every Makefile target. - Keep README badges in the Dockette `copybara` style and do not add Slack or Gitter badges. diff --git a/Makefile b/Makefile index 426a076..849da24 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ COMPOSE_SSH_AUTH_SOCK?=/tmp/devstack-ssh-agent .PHONY: build build: docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:apache apache - docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:php72-fpm php/7.2-fpm + docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:php85-fpm php/8.5-fpm docker buildx build --platform ${DOCKER_PLATFORMS} -t ${DOCKER_IMAGE}:nodejs nodejs .PHONY: test diff --git a/README.md b/README.md index 73a0e40..ccb6e70 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,14 @@ Great LAMP devstack based on **Docker** & **Docker Compose** for your home progr ## LAMP - Apache 2.4.x -- PHP 7.2.x + Composer + PHPMailer -- MariaDB 10.1 -- Adminer 4.3.x +- PHP 8.5.x + Composer + PHPMailer +- MariaDB 12.3 +- Adminer (see [dockette/adminer](https://github.com/dockette/adminer)) Optional services are prepared in `docker-compose.yml`, but are commented out until you enable them: -- PHP 5.6.x + Composer + PHPMailer -- NodeJS 8.x + NPM 5.x -- PostgreSQL 9.6 +- NodeJS 24.x (latest LTS) + NPM +- PostgreSQL 18 ## Install @@ -61,8 +60,7 @@ Optional services are prepared in `docker-compose.yml`, but are commented out un | Container | Ports | IP | |--------------------------|----------|--------------| | Apache | 80 / 443 | 172.10.10.5 | -| PHP 7.2 + FPM | | 172.10.10.10 | -| PHP 5.6 + FPM (optional) | | 172.10.10.11 | +| PHP 8.5 + FPM | | 172.10.10.10 | | NodeJS (optional) | | 172.10.10.12 | | Adminer | 8000 | 172.10.10.13 | | MariaDB | 3306 | 172.10.10.20 | @@ -81,17 +79,17 @@ If you didn't change the `DEVSTACK_DOCKER` variable, you should place your `dock After you've followed install section, your devstack should be well prepared. One thing left, you should configure your devstack (passwords, folders, etc). You should: - - setup your [**data homeland**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L151-L153) - - setup MySQL [**root password**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L125-L127) - - setup PostgreSQL [**root password**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L144-L146) if you enable PostgreSQL + - setup your [**data homeland**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L130-L131) + - setup MySQL [**root password**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L104-L105) + - setup PostgreSQL [**root password**](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L123-L124) if you enable PostgreSQL ### Userdirs There are two kind of users inside these containers, **root** (main unix user) and **dfx** (special user with uid 1000 in all `dockette` based images). -You can find it in docker-compose.yml [file in section/container](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L155-L166). +You can find it in docker-compose.yml [file in section/container](https://github.com/dockette/devstack/blob/master/docker-compose.yml#L134-L144). -On the containers startup, your `users dir` are attached to `php72` and to `php56`/`nodejs` when you enable those optional containers. You can create your own `.bash_profile`, `.bashrc` files +On the containers startup, your `users dir` are attached to `php85` and to `nodejs` when you enable that optional container. You can create your own `.bash_profile`, `.bashrc` files for easier manipulation inside docker containers. [**TIP**] There used to be a skeleton in ubuntu/debian/mint system. @@ -156,13 +154,8 @@ By default is devstack available on domains: - localhost (php) - local.dev (php) - www.local.dev (php) -- local.dev7 (php7) -- www.local.dev7 (php7) - -When you enable PHP 5.6, these domains are available too: - -- local.dev56 (php56) -- www.local.dev56 (php56) +- local.dev8 (php8) +- www.local.dev8 (php8) You should add these lines to your `/etc/hosts` file. @@ -170,10 +163,8 @@ You should add these lines to your `/etc/hosts` file. # Devstack [webserver] 127.0.0.1 local.dev 127.0.0.1 www.local.dev -127.0.0.1 local.dev7 -127.0.0.1 www.local.dev7 -127.0.0.1 local.dev56 -127.0.0.1 www.local.dev56 +127.0.0.1 local.dev8 +127.0.0.1 www.local.dev8 # Devstack [DB] 172.10.10.20 mariadb @@ -185,11 +176,10 @@ Give a try! ``` ping local.dev -ping local.dev7 +ping local.dev8 ping mariadb # Optional services -ping local.dev56 ping postgresql ``` diff --git a/apache/Dockerfile b/apache/Dockerfile index bd601c9..25eff76 100644 --- a/apache/Dockerfile +++ b/apache/Dockerfile @@ -1,12 +1,12 @@ -FROM dockette/stretch +FROM dockette/debian:bookworm -MAINTAINER Milan Sulc +LABEL maintainer="Milan Sulc " -ENV APACHE_RUN_USER www-data -ENV APACHE_RUN_GROUP www-data -ENV APACHE_LOG_DIR /var/log/apache2 -ENV APACHE_LOCK_DIR /var/lock/apache2 -ENV APACHE_PID_FILE /var/run/apache2.pid +ENV APACHE_RUN_USER=www-data +ENV APACHE_RUN_GROUP=www-data +ENV APACHE_LOG_DIR=/var/log/apache2 +ENV APACHE_LOCK_DIR=/var/lock/apache2 +ENV APACHE_PID_FILE=/var/run/apache2.pid RUN apt-get update && apt-get dist-upgrade -y && \ apt-get install -y vim && \ @@ -18,8 +18,8 @@ RUN apt-get update && apt-get dist-upgrade -y && \ apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* -ADD sites /etc/apache2/sites-enabled -ADD conf/devstack.conf /etc/apache2/conf-enabled/999-devstack.conf +COPY sites /etc/apache2/sites-enabled +COPY conf/devstack.conf /etc/apache2/conf-enabled/999-devstack.conf WORKDIR /srv diff --git a/apache/sites/local-dev56.conf b/apache/sites/local-dev56.conf deleted file mode 100644 index 3055674..0000000 --- a/apache/sites/local-dev56.conf +++ /dev/null @@ -1,16 +0,0 @@ - - ServerName local.dev56:80 - ServerAdmin admin@jfx.cz - - - Options -MultiViews - Options Indexes Includes FollowSymLinks ExecCGI - AllowOverride All - Require local - Require ip 172 - - - - SetHandler "proxy:fcgi://php56:9000" - - diff --git a/apache/sites/local-dev7.conf b/apache/sites/local-dev8.conf similarity index 80% rename from apache/sites/local-dev7.conf rename to apache/sites/local-dev8.conf index b3105a8..aa630c0 100644 --- a/apache/sites/local-dev7.conf +++ b/apache/sites/local-dev8.conf @@ -1,5 +1,5 @@ - ServerName local.dev7:80 + ServerName local.dev8:80 ServerAdmin admin@jfx.cz @@ -11,6 +11,6 @@ - SetHandler "proxy:fcgi://php7:9000" + SetHandler "proxy:fcgi://php8:9000" diff --git a/docker-compose.yml b/docker-compose.yml index 30f7289..e0a5399 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '2' - services: apache: image: dockette/devstack:apache @@ -19,12 +17,11 @@ services: # - 10443:443 links: - - php72:php - - php72:php7 - # - php56:php56 + - php85:php + - php85:php8 - php72: - image: dockette/devstack:php72-fpm + php85: + image: dockette/devstack:php85-fpm networks: default: @@ -43,25 +40,6 @@ services: # - postgresql:postgresql # - blackfire:blackfire - # php56: - # image: dockette/devstack:php56-fpm - - # networks: - # default: - # ipv4_address: 172.10.10.11 - - # environment: - # - SSH_AUTH_SOCK=/ssh-agent - - # volumes_from: - # - data - # - userdirs - - # links: - # - mariadb:mysql - # - postgresql:postgresql - # - blackfire:blackfire - # nodejs: # image: dockette/devstack:nodejs @@ -108,7 +86,7 @@ services: # - postgresql:postgresql mariadb: - image: mariadb:10.1 + image: mariadb:12.3 networks: default: @@ -127,7 +105,7 @@ services: - MYSQL_ROOT_PASSWORD=root # postgresql: - # image: postgres:9.6 + # image: postgres:18 # networks: # default: diff --git a/nodejs/Dockerfile b/nodejs/Dockerfile index dfa59a0..1bb54fe 100644 --- a/nodejs/Dockerfile +++ b/nodejs/Dockerfile @@ -1,13 +1,17 @@ -FROM dockette/stretch +FROM dockette/debian:bookworm -MAINTAINER Milan Sulc +LABEL maintainer="Milan Sulc " + +# NODEJS (latest LTS) +ENV NODE_VERSION=24.19.0 RUN apt-get update && apt-get dist-upgrade -y && \ - apt-get install -y wget curl git bash-completion gnupg2 && \ - curl -sL https://deb.nodesource.com/setup_10.x | bash - && \ - apt-get install -y nodejs && \ + apt-get install -y wget curl git bash-completion gnupg2 openssh-client && \ + curl -fsSLo /tmp/node.tar.gz "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" && \ + tar -xzf /tmp/node.tar.gz -C /usr/local --strip-components=1 --no-same-owner && \ + rm /tmp/node.tar.gz /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md && \ npm completion >> /etc/bash_completion.d/npm && \ - npm install -g gulp bower grunt && \ + npm install -g gulp-cli grunt-cli && \ apt-get remove -y curl && \ apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* diff --git a/php/5.6-fpm/Dockerfile b/php/5.6-fpm/Dockerfile deleted file mode 100644 index 4ac646b..0000000 --- a/php/5.6-fpm/Dockerfile +++ /dev/null @@ -1,102 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/5.6/mods-available -ENV PHP_CLI_DIR=/etc/php/5.6/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/5.6/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d -ENV PHP_FPM_DIR=/etc/php/5.6/fpm -ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php5.6-apcu \ - php5.6-bcmath \ - php5.6-cli \ - php5.6-cgi \ - php5.6-curl \ - php5.6-fpm \ - php5.6-geoip \ - php5.6-gd \ - php5.6-intl \ - php5.6-imagick \ - php5.6-imap \ - php5.6-ldap \ - php5.6-mcrypt \ - php5.6-memcached \ - php5.6-mongo \ - php5.6-mysql \ - php5.6-pgsql \ - php5.6-redis \ - php5.6-sqlite3 \ - php5.6-ssh2 \ - php5.6-xmlrpc \ - php5.6-xsl \ - php5.6-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-56.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_FPM_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_FPM_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini -ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php-fpm5.6", "-F"] diff --git a/php/5.6-fpm/conf.d/devstack.ini b/php/5.6-fpm/conf.d/devstack.ini deleted file mode 100644 index 56cedb9..0000000 --- a/php/5.6-fpm/conf.d/devstack.ini +++ /dev/null @@ -1,16 +0,0 @@ -; Update memory -memory_limit = 512M -upload_max_filesize = 2048M -post_max_size = 2048M - -; No disabled functions -disable_functions = - -; Mailer -sendmail_path = /usr/local/bin/phpmailer - -; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 diff --git a/php/5.6-fpm/fpm/php-fpm.conf b/php/5.6-fpm/fpm/php-fpm.conf deleted file mode 100644 index 8a863d9..0000000 --- a/php/5.6-fpm/fpm/php-fpm.conf +++ /dev/null @@ -1,30 +0,0 @@ -[global] - -error_log = /proc/self/fd/2 -daemonize = no - -[www] - -access.log = /proc/self/fd/2 - -user = www-data -group = www-data - -listen = [::]:9000 -listen.owner = www-data -listen.group = www-data -listen.mode = 0660 - -pm = dynamic -pm.max_children = 9 -pm.start_servers = 3 -pm.min_spare_servers = 2 -pm.max_spare_servers = 3 -pm.max_requests = 200 -catch_workers_output = yes -clear_env = no - -php_admin_value[sendmail_path] = /usr/local/bin/phpmailer -php_admin_value[error_log] = /var/log/php56.log -php_admin_value[open_basedir]= "/data:/srv:/var/tmp:/tmp" -php_admin_value[upload_tmp_dir] = "/var/tmp" diff --git a/php/5.6/Dockerfile b/php/5.6/Dockerfile deleted file mode 100644 index eb4ab5f..0000000 --- a/php/5.6/Dockerfile +++ /dev/null @@ -1,96 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/5.6/mods-available -ENV PHP_CLI_DIR=/etc/php/5.6/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/5.6/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php5.6-apcu \ - php5.6-bcmath \ - php5.6-cli \ - php5.6-cgi \ - php5.6-curl \ - php5.6-geoip \ - php5.6-gd \ - php5.6-intl \ - php5.6-imagick \ - php5.6-imap \ - php5.6-ldap \ - php5.6-mcrypt \ - php5.6-memcached \ - php5.6-mongo \ - php5.6-mysql \ - php5.6-pgsql \ - php5.6-redis \ - php5.6-sqlite3 \ - php5.6-ssh2 \ - php5.6-xmlrpc \ - php5.6-xsl \ - php5.6-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-56.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php"] diff --git a/php/5.6/conf.d/devstack.ini b/php/5.6/conf.d/devstack.ini deleted file mode 100644 index 56cedb9..0000000 --- a/php/5.6/conf.d/devstack.ini +++ /dev/null @@ -1,16 +0,0 @@ -; Update memory -memory_limit = 512M -upload_max_filesize = 2048M -post_max_size = 2048M - -; No disabled functions -disable_functions = - -; Mailer -sendmail_path = /usr/local/bin/phpmailer - -; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 diff --git a/php/7.1-fpm/Dockerfile b/php/7.1-fpm/Dockerfile deleted file mode 100644 index 22cffa1..0000000 --- a/php/7.1-fpm/Dockerfile +++ /dev/null @@ -1,107 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/7.1/mods-available -ENV PHP_CLI_DIR=/etc/php/7.1/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/7.1/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d -ENV PHP_FPM_DIR=/etc/php/7.1/fpm -ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php7.1-apc \ - php7.1-apcu \ - php7.1-bcmath \ - php7.1-bz2 \ - php7.1-cli \ - php7.1-cgi \ - php7.1-curl \ - php7.1-fpm \ - php7.1-geoip \ - php7.1-gd \ - php7.1-intl \ - php7.1-imagick \ - php7.1-imap \ - php7.1-ldap \ - php7.1-mbstring \ - php7.1-mcrypt \ - php7.1-memcached \ - php7.1-mongo \ - php7.1-mysql \ - php7.1-pgsql \ - php7.1-redis \ - php7.1-soap \ - php7.1-sqlite3 \ - php7.1-ssh2 \ - php7.1-zip \ - php7.1-xmlrpc \ - php7.1-xsl \ - php7.1-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-71.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_FPM_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_FPM_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini -ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php-fpm7.1", "-F"] diff --git a/php/7.1/Dockerfile b/php/7.1/Dockerfile deleted file mode 100644 index 19963e3..0000000 --- a/php/7.1/Dockerfile +++ /dev/null @@ -1,101 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/7.1/mods-available -ENV PHP_CLI_DIR=/etc/php/7.1/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/7.1/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php7.1-apc \ - php7.1-apcu \ - php7.1-bcmath \ - php7.1-bz2 \ - php7.1-cli \ - php7.1-cgi \ - php7.1-curl \ - php7.1-geoip \ - php7.1-gd \ - php7.1-intl \ - php7.1-imagick \ - php7.1-imap \ - php7.1-ldap \ - php7.1-mbstring \ - php7.1-mcrypt \ - php7.1-memcached \ - php7.1-mongo \ - php7.1-mysql \ - php7.1-pgsql \ - php7.1-redis \ - php7.1-soap \ - php7.1-sqlite3 \ - php7.1-ssh2 \ - php7.1-zip \ - php7.1-xmlrpc \ - php7.1-xsl \ - php7.1-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-71.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php"] diff --git a/php/7.2-fpm/Dockerfile b/php/7.2-fpm/Dockerfile deleted file mode 100644 index d9b04e2..0000000 --- a/php/7.2-fpm/Dockerfile +++ /dev/null @@ -1,108 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/7.2/mods-available -ENV PHP_CLI_DIR=/etc/php/7.2/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/7.2/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d -ENV PHP_FPM_DIR=/etc/php/7.2/fpm -ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php7.2-apc \ - php7.2-apcu \ - php7.2-bcmath \ - php7.2-bz2 \ - php7.2-cli \ - php7.2-cgi \ - php7.2-curl \ - php7.2-fpm \ - php7.2-geoip \ - php7.2-gd \ - php7.2-intl \ - php7.2-imagick \ - php7.2-imap \ - php7.2-ldap \ - php7.2-mbstring \ - php7.2-memcached \ - php7.2-mongo \ - php7.2-mysql \ - php7.2-pgsql \ - php7.2-redis \ - php7.2-soap \ - php7.2-sqlite3 \ - php7.2-ssh2 \ - php7.2-zip \ - php7.2-xmlrpc \ - php7.2-xsl \ - php7.2-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-72.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_FPM_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_FPM_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini -ADD fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf - -RUN printf "extension=blackfire.so\nblackfire.agent_socket=tcp://85.255.0.153:8707\n" > ${PHP_MODS_DIR}/blackfire.ini - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php-fpm7.2", "-F"] diff --git a/php/7.2-fpm/conf.d/devstack.ini b/php/7.2-fpm/conf.d/devstack.ini deleted file mode 100644 index 56cedb9..0000000 --- a/php/7.2-fpm/conf.d/devstack.ini +++ /dev/null @@ -1,16 +0,0 @@ -; Update memory -memory_limit = 512M -upload_max_filesize = 2048M -post_max_size = 2048M - -; No disabled functions -disable_functions = - -; Mailer -sendmail_path = /usr/local/bin/phpmailer - -; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 diff --git a/php/7.2-fpm/fpm/php-fpm.conf b/php/7.2-fpm/fpm/php-fpm.conf deleted file mode 100644 index b9ed02e..0000000 --- a/php/7.2-fpm/fpm/php-fpm.conf +++ /dev/null @@ -1,30 +0,0 @@ -[global] - -error_log = /proc/self/fd/2 -daemonize = no - -[www] - -access.log = /proc/self/fd/2 - -user = www-data -group = www-data - -listen = [::]:9000 -listen.owner = www-data -listen.group = www-data -listen.mode = 0660 - -pm = dynamic -pm.max_children = 9 -pm.start_servers = 3 -pm.min_spare_servers = 2 -pm.max_spare_servers = 3 -pm.max_requests = 200 -catch_workers_output = yes -clear_env = no - -php_admin_value[sendmail_path] = /usr/local/bin/phpmailer -php_admin_value[error_log] = /var/log/php70.log -php_admin_value[open_basedir]= "/data:/srv:/var/tmp:/tmp" -php_admin_value[upload_tmp_dir] = "/var/tmp" diff --git a/php/7.2/Dockerfile b/php/7.2/Dockerfile deleted file mode 100644 index fd4e30c..0000000 --- a/php/7.2/Dockerfile +++ /dev/null @@ -1,100 +0,0 @@ -FROM dockette/stretch - -MAINTAINER Milan Sulc - -# SSH -ENV SSH_AUTH_SOCK=/ssh-agent - -# PHP -ENV PHP_MODS_DIR=/etc/php/7.2/mods-available -ENV PHP_CLI_DIR=/etc/php/7.2/cli -ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d -ENV PHP_CGI_DIR=/etc/php/7.2/cgi -ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d - -# XDEBUG -ENV PHP_IDE_CONFIG="serverName=devstack.webserver" -ENV XDEBUG_CONFIG="idekey=PHPSTORM" - -# MAILER -ENV PHPMAILER_BIN=/usr/local/bin/phpmailer -ENV PHPMAILER_PATH=/srv/mails - -# DEBUGGING -ENV BLACKFIRE_AGENT=tcp://blackfire:8707 -ENV BLACKFIRE_CLI=1.17.0 -ENV BLACKFIRE_PROBE=1.20.0 - -# INSTALLATION -RUN apt update && apt dist-upgrade -y && \ - # DEPENDENCIES ############################################################# - apt install -y wget curl git bash-completion apt-transport-https ca-certificates && \ - # COMPLETION ############################################################### - cp /etc/skel/.bashrc ~/ && \ - cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ - # SSH ###################################################################### - echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ - # PHP DEB.SURY.CZ ########################################################## - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ - echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list && \ - apt update && \ - apt install -y --no-install-recommends \ - php7.2-apc \ - php7.2-apcu \ - php7.2-bcmath \ - php7.2-bz2 \ - php7.2-cli \ - php7.2-cgi \ - php7.2-curl \ - php7.2-geoip \ - php7.2-gd \ - php7.2-intl \ - php7.2-imagick \ - php7.2-imap \ - php7.2-ldap \ - php7.2-mbstring \ - php7.2-memcached \ - php7.2-mongo \ - php7.2-mysql \ - php7.2-pgsql \ - php7.2-redis \ - php7.2-soap \ - php7.2-sqlite3 \ - php7.2-ssh2 \ - php7.2-zip \ - php7.2-xmlrpc \ - php7.2-xsl \ - php7.2-xdebug && \ - # PHPMAILER ################################################################ - curl -o ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ - mkdir -p ${PHPMAILER_PATH} && \ - chmod 755 ${PHPMAILER_BIN} && \ - chmod 777 ${PHPMAILER_PATH} && \ - # COMPOSER ################################################################# - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ - composer global require "hirak/prestissimo:^0.3" && \ - composer global require bamarni/symfony-console-autocomplete && \ - ~/.composer/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ - # BLACKFIRE ################################################################ - curl -A "Docker" -o /tmp/blackfire.so -D - -L -s https://packages.blackfire.io/binaries/blackfire-php/${BLACKFIRE_PROBE}/blackfire-php-linux_amd64-php-72.so && \ - mv /tmp/blackfire.so $(php -r "echo ini_get('extension_dir');")/blackfire.so && \ - printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ - curl -A "Docker" -o /usr/local/bin/blackfire -D - -L -s https://packages.blackfire.io/binaries/blackfire-agent/${BLACKFIRE_CLI}/blackfire-cli-linux_static_amd64 && \ - chmod +x /usr/local/bin/blackfire && \ - # PHP MOD(s) ############################################################### - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ - ln -s ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ - # CLEAN UP ################################################################# - apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ - rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* - -# FILES -ADD conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini - -# WORKDIR -WORKDIR /srv - -# COMMAND -CMD ["php"] diff --git a/php/7.2/conf.d/devstack.ini b/php/7.2/conf.d/devstack.ini deleted file mode 100644 index 56cedb9..0000000 --- a/php/7.2/conf.d/devstack.ini +++ /dev/null @@ -1,16 +0,0 @@ -; Update memory -memory_limit = 512M -upload_max_filesize = 2048M -post_max_size = 2048M - -; No disabled functions -disable_functions = - -; Mailer -sendmail_path = /usr/local/bin/phpmailer - -; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 diff --git a/php/8.5-fpm/Dockerfile b/php/8.5-fpm/Dockerfile new file mode 100644 index 0000000..e55dd73 --- /dev/null +++ b/php/8.5-fpm/Dockerfile @@ -0,0 +1,108 @@ +FROM dockette/debian:bookworm + +LABEL maintainer="Milan Sulc " + +# SSH +ENV SSH_AUTH_SOCK=/ssh-agent + +# PHP +ENV PHP_VERSION=8.5 +ENV PHP_MODS_DIR=/etc/php/${PHP_VERSION}/mods-available +ENV PHP_CLI_DIR=/etc/php/${PHP_VERSION}/cli +ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d +ENV PHP_CGI_DIR=/etc/php/${PHP_VERSION}/cgi +ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d +ENV PHP_FPM_DIR=/etc/php/${PHP_VERSION}/fpm +ENV PHP_FPM_CONF_DIR=${PHP_FPM_DIR}/conf.d + +# XDEBUG +ENV PHP_IDE_CONFIG="serverName=devstack.webserver" +ENV XDEBUG_CONFIG="idekey=PHPSTORM" + +# MAILER +ENV PHPMAILER_BIN=/usr/local/bin/phpmailer +ENV PHPMAILER_PATH=/srv/mails + +# COMPOSER +ENV COMPOSER_HOME=/root/.composer +ENV COMPOSER_ALLOW_SUPERUSER=1 + +# DEBUGGING +ENV BLACKFIRE_AGENT=tcp://blackfire:8707 + +# INSTALLATION +RUN apt-get update && apt-get dist-upgrade -y && \ + # DEPENDENCIES ############################################################# + apt-get install -y --no-install-recommends \ + wget curl git bash-completion ca-certificates gnupg openssh-client && \ + mkdir -p /etc/apt/keyrings && \ + # COMPLETION ############################################################### + cp /etc/skel/.bashrc ~/ && \ + cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ + # SSH ###################################################################### + echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ + # PHP PACKAGES.SURY.ORG #################################################### + curl -fsSLo /etc/apt/keyrings/php.gpg https://packages.sury.org/php/apt.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/php.gpg] https://packages.sury.org/php/ bookworm main" \ + > /etc/apt/sources.list.d/php.list && \ + # BLACKFIRE PACKAGES.BLACKFIRE.IO ########################################## + curl -fsSL https://packages.blackfire.io/gpg.key | gpg --dearmor > /etc/apt/keyrings/blackfire.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/blackfire.gpg] http://packages.blackfire.io/debian any main" \ + > /etc/apt/sources.list.d/blackfire.list && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + php${PHP_VERSION}-apcu \ + php${PHP_VERSION}-bcmath \ + php${PHP_VERSION}-bz2 \ + php${PHP_VERSION}-cli \ + php${PHP_VERSION}-cgi \ + php${PHP_VERSION}-curl \ + php${PHP_VERSION}-fpm \ + php${PHP_VERSION}-gd \ + php${PHP_VERSION}-intl \ + php${PHP_VERSION}-ldap \ + php${PHP_VERSION}-mbstring \ + php${PHP_VERSION}-memcached \ + php${PHP_VERSION}-mongodb \ + php${PHP_VERSION}-mysql \ + php${PHP_VERSION}-pgsql \ + php${PHP_VERSION}-redis \ + php${PHP_VERSION}-soap \ + php${PHP_VERSION}-sqlite3 \ + php${PHP_VERSION}-ssh2 \ + php${PHP_VERSION}-xsl \ + php${PHP_VERSION}-zip \ + php${PHP_VERSION}-xdebug \ + blackfire \ + blackfire-php && \ + # PHPMAILER ################################################################ + curl -fsSLo ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ + mkdir -p ${PHPMAILER_PATH} && \ + chmod 755 ${PHPMAILER_BIN} && \ + chmod 777 ${PHPMAILER_PATH} && \ + # COMPOSER ################################################################# + curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + composer global require bamarni/symfony-console-autocomplete && \ + ${COMPOSER_HOME}/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ + # BLACKFIRE ################################################################ + printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ + # PHP MOD(s) ############################################################### + ln -sf ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/blackfire.ini ${PHP_FPM_CONF_DIR}/20-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/devstack.ini ${PHP_FPM_CONF_DIR}/999-devstack.ini && \ + # CLEAN UP ################################################################# + apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ + rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* + +# FILES +COPY conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini +COPY fpm/php-fpm.conf ${PHP_FPM_DIR}/php-fpm.conf + +# WORKDIR +WORKDIR /srv + +# COMMAND +CMD ["php-fpm8.5", "-F"] diff --git a/php/7.1-fpm/conf.d/devstack.ini b/php/8.5-fpm/conf.d/devstack.ini similarity index 58% rename from php/7.1-fpm/conf.d/devstack.ini rename to php/8.5-fpm/conf.d/devstack.ini index 56cedb9..8e21de0 100644 --- a/php/7.1-fpm/conf.d/devstack.ini +++ b/php/8.5-fpm/conf.d/devstack.ini @@ -10,7 +10,8 @@ disable_functions = sendmail_path = /usr/local/bin/phpmailer ; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 +xdebug.mode = debug +xdebug.start_with_request = yes +xdebug.idekey = PHPSTORM +xdebug.client_host = 172.10.10.1 +xdebug.client_port = 9003 diff --git a/php/7.1-fpm/fpm/php-fpm.conf b/php/8.5-fpm/fpm/php-fpm.conf similarity index 91% rename from php/7.1-fpm/fpm/php-fpm.conf rename to php/8.5-fpm/fpm/php-fpm.conf index b9ed02e..a9467aa 100644 --- a/php/7.1-fpm/fpm/php-fpm.conf +++ b/php/8.5-fpm/fpm/php-fpm.conf @@ -25,6 +25,6 @@ catch_workers_output = yes clear_env = no php_admin_value[sendmail_path] = /usr/local/bin/phpmailer -php_admin_value[error_log] = /var/log/php70.log +php_admin_value[error_log] = /var/log/php.log php_admin_value[open_basedir]= "/data:/srv:/var/tmp:/tmp" php_admin_value[upload_tmp_dir] = "/var/tmp" diff --git a/php/8.5/Dockerfile b/php/8.5/Dockerfile new file mode 100644 index 0000000..d468600 --- /dev/null +++ b/php/8.5/Dockerfile @@ -0,0 +1,102 @@ +FROM dockette/debian:bookworm + +LABEL maintainer="Milan Sulc " + +# SSH +ENV SSH_AUTH_SOCK=/ssh-agent + +# PHP +ENV PHP_VERSION=8.5 +ENV PHP_MODS_DIR=/etc/php/${PHP_VERSION}/mods-available +ENV PHP_CLI_DIR=/etc/php/${PHP_VERSION}/cli +ENV PHP_CLI_CONF_DIR=${PHP_CLI_DIR}/conf.d +ENV PHP_CGI_DIR=/etc/php/${PHP_VERSION}/cgi +ENV PHP_CGI_CONF_DIR=${PHP_CGI_DIR}/conf.d + +# XDEBUG +ENV PHP_IDE_CONFIG="serverName=devstack.webserver" +ENV XDEBUG_CONFIG="idekey=PHPSTORM" + +# MAILER +ENV PHPMAILER_BIN=/usr/local/bin/phpmailer +ENV PHPMAILER_PATH=/srv/mails + +# COMPOSER +ENV COMPOSER_HOME=/root/.composer +ENV COMPOSER_ALLOW_SUPERUSER=1 + +# DEBUGGING +ENV BLACKFIRE_AGENT=tcp://blackfire:8707 + +# INSTALLATION +RUN apt-get update && apt-get dist-upgrade -y && \ + # DEPENDENCIES ############################################################# + apt-get install -y --no-install-recommends \ + wget curl git bash-completion ca-certificates gnupg openssh-client && \ + mkdir -p /etc/apt/keyrings && \ + # COMPLETION ############################################################### + cp /etc/skel/.bashrc ~/ && \ + cp /etc/skel/.bashrc /home/dfx/ && chown dfx:dfx -R /home/dfx/ && \ + # SSH ###################################################################### + echo " IdentityFile ~/.ssh/id_rsa" >> /etc/ssh/ssh_config && \ + # PHP PACKAGES.SURY.ORG #################################################### + curl -fsSLo /etc/apt/keyrings/php.gpg https://packages.sury.org/php/apt.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/php.gpg] https://packages.sury.org/php/ bookworm main" \ + > /etc/apt/sources.list.d/php.list && \ + # BLACKFIRE PACKAGES.BLACKFIRE.IO ########################################## + curl -fsSL https://packages.blackfire.io/gpg.key | gpg --dearmor > /etc/apt/keyrings/blackfire.gpg && \ + echo "deb [signed-by=/etc/apt/keyrings/blackfire.gpg] http://packages.blackfire.io/debian any main" \ + > /etc/apt/sources.list.d/blackfire.list && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + php${PHP_VERSION}-apcu \ + php${PHP_VERSION}-bcmath \ + php${PHP_VERSION}-bz2 \ + php${PHP_VERSION}-cli \ + php${PHP_VERSION}-cgi \ + php${PHP_VERSION}-curl \ + php${PHP_VERSION}-gd \ + php${PHP_VERSION}-intl \ + php${PHP_VERSION}-ldap \ + php${PHP_VERSION}-mbstring \ + php${PHP_VERSION}-memcached \ + php${PHP_VERSION}-mongodb \ + php${PHP_VERSION}-mysql \ + php${PHP_VERSION}-pgsql \ + php${PHP_VERSION}-redis \ + php${PHP_VERSION}-soap \ + php${PHP_VERSION}-sqlite3 \ + php${PHP_VERSION}-ssh2 \ + php${PHP_VERSION}-xsl \ + php${PHP_VERSION}-zip \ + php${PHP_VERSION}-xdebug \ + blackfire \ + blackfire-php && \ + # PHPMAILER ################################################################ + curl -fsSLo ${PHPMAILER_BIN} https://raw.githubusercontent.com/dockette/phpmailer/master/phpmailer && \ + mkdir -p ${PHPMAILER_PATH} && \ + chmod 755 ${PHPMAILER_BIN} && \ + chmod 777 ${PHPMAILER_PATH} && \ + # COMPOSER ################################################################# + curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ + composer global require bamarni/symfony-console-autocomplete && \ + ${COMPOSER_HOME}/vendor/bin/symfony-autocomplete --shell bash composer | tee /etc/bash_completion.d/composer && \ + # BLACKFIRE ################################################################ + printf "extension=blackfire.so\nblackfire.agent_socket=${BLACKFIRE_AGENT}\n" > ${PHP_MODS_DIR}/blackfire.ini && \ + # PHP MOD(s) ############################################################### + ln -sf ${PHP_MODS_DIR}/blackfire.ini ${PHP_CLI_CONF_DIR}/20-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/blackfire.ini ${PHP_CGI_CONF_DIR}/20-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/devstack.ini ${PHP_CLI_CONF_DIR}/999-devstack.ini && \ + ln -sf ${PHP_MODS_DIR}/devstack.ini ${PHP_CGI_CONF_DIR}/999-devstack.ini && \ + # CLEAN UP ################################################################# + apt-get clean -y && apt-get autoclean -y && apt-get autoremove -y && \ + rm -rf /var/lib/apt/lists/* /var/lib/log/* /tmp/* /var/tmp/* + +# FILES +COPY conf.d/devstack.ini ${PHP_MODS_DIR}/devstack.ini + +# WORKDIR +WORKDIR /srv + +# COMMAND +CMD ["php"] diff --git a/php/7.1/conf.d/devstack.ini b/php/8.5/conf.d/devstack.ini similarity index 58% rename from php/7.1/conf.d/devstack.ini rename to php/8.5/conf.d/devstack.ini index 56cedb9..8e21de0 100644 --- a/php/7.1/conf.d/devstack.ini +++ b/php/8.5/conf.d/devstack.ini @@ -10,7 +10,8 @@ disable_functions = sendmail_path = /usr/local/bin/phpmailer ; Xdebug -xdebug.remote_enable=1 -xdebug.remote_autostart=1 -xdebug.idekey=PHPSTORM -xdebug.remote_host=172.10.10.1 +xdebug.mode = debug +xdebug.start_with_request = yes +xdebug.idekey = PHPSTORM +xdebug.client_host = 172.10.10.1 +xdebug.client_port = 9003