Devilbox Versions Save

A modern Docker LAMP stack and MEAN stack for local development

v3.0.0-beta-0.3

1 year ago

Release v3.0.0-beta-0.3 (2023-01-02)

This release provides the dvl.to domain to be used with TLD_SUFFIX (set to default), which eliminates the need to set any entries in /etc/hosts, as all of its subdomain will point to 127.0.0.1 via official DNS. Domain has been acquired thanks to awesome sponsors!

Fixed

  • Intranet: mail.php fixed deprecation warnings #798

Changed

  • Use dvl.to as default TLD_SUFFIX (it always poits to 127.0.0.1 removing the need to create /etc/hosts entries)

Added

  • Intranet: vhost overview shows listening ports
  • Intranet: vhost overview now has modals to show httpd and vhost-gen configs
  • Docs: Show available tools per version in README.md
  • Added xhprof PHP extension
  • Added extra_hosts: host.docker.internal: host-gateway (Refs #919, #575)

Screenshots

Screenshot 2022-12-31 05-46-39  selection

Screenshot 2022-12-31 09-00-05  selection

Screenshot 2022-12-31 05-56-42  selection

What's Changed

Full Changelog: https://github.com/cytopia/devilbox/compare/v3.0.0-beta-0.2...v3.0.0-beta-03

v3.0.0-beta-0.2

1 year ago

Release v3.0.0-beta-0.2 (2022-12-27)

See Release v3.0.0-beta-0.1 for other notable changes

The Backend configuration now supports websockets as well:

Please report issues in this PR or reach out in Discord.

Screenshot 2022-12-26 14-28-34  selection

file: /shared/httpd/<project>/.devilbox/backend.cfg

# PHP-FPM backend
conf:phpfpm:tcp:php80:9000

# HTTP Reverse Proxy backend
conf:rproxy:http:172.16.238.10:3000

# HTTPS Reverse Proxy backend
conf:rproxy:https:172.16.238.10:3000

# Websocket Reverse Proxy backend
conf:rproxy:ws:172.16.238.10:3000

# SSL Websocket Reverse Proxy backend
conf:rproxy:wss:172.16.238.10:3000

Once you're done with backend.cfg changes, head over to the Intranet C&C page (http://localhost/cnc.php) and Reload watcherd.

Fixed

  • Intranet: vhost overview: allow HTTP 426 to succeed in vhost page (websocket projects)
  • Intranet: vhost overview: Reverse Proxy or Websocket backends do not require a htdocs/ dir for healthcheck
  • Fixed reverse proxy template generation for Apache 2.2 and Apache 2.4 vhost-gen #51
  • Fixed Nginx hash bucket size length to allow long hostnames

Added

  • Reverse Proxy automation for websocket projects (ws://<host>:<port> or wss:<host>:<port>) (Does not work with Apache 2.2)
  • Added tool wscat to be able to test websocket connections
  • Intranet: vhost overview now also shows websocket projects

Changed

  • Do not mount any startup/autostart script directories for multi-php compose as they do not contain tools

Affected Issues / PR's

  • Refs: #797
  • Refs: #782

What's Changed

Full Changelog: https://github.com/cytopia/devilbox/compare/v3.0.0-beta-0.1...v3.0.0-beta-0.2

v3.0.0-beta-0.1

1 year ago

Release v3.0.0-beta-0.1 (2022-12-24) 🎅🎄🎁

  • Run different PHP versions per project

  • Reverse Proxy automation

Please report issues in this PR or reach out in Discord.

Screenshot 2022-12-25 18-05-25  selection


This is a beta release, using a completely rewritten set of HTTPD server, based on these changes:

Once it has been tested by the community, and potential errors have been addressed, a new major version will be released.

IMPORTANT: This release required you to copy env-example over onto .env due to some changes in variables.

TL;DR

  1. Multiple PHP Versions
    Here is an example to run one project with a specific PHP version
    # Enable all PHP versions
    cp compose/docker-compose.override.yml-php-multi.yml docker-compose.override.yml
    # Start default set and php80
    docker-compose up php httpd bind php80
    
    file: /shared/httpd/<project>/.devilbox/backend.cfg
    conf:phpfpm:tcp:php80:9000
    
  2. Automated Reverse Proxy setup
    Here is an example to proxy one project to a backend service (e.g. NodeJS or Python application, which runs in the PHP container on port 3000)
    file: /shared/httpd/<project>/.devilbox/backend.cfg
    conf:rproxy:http:127.0.0.1:3000
    

PHP hostnames and IP addresses

Note: Use IP addresses instead of hostnames for Nginx

PHP Version Hostname IP address
5.4 php54 172.16.238.201
5.5 php55 172.16.238.202
5.6 php56 172.16.238.203
7.0 php70 172.16.238.204
7.1 php71 172.16.238.205
7.2 php72 172.16.238.206
7.3 php73 172.16.238.207
7.4 php74 172.16.238.208
8.0 php80 172.16.238.209
8.1 php81 172.16.238.210
8.2 php82 172.16.238.211

Fixed

  • Fixed Protocol substitution bug in Reverse Proxy generation for Apache 2.2 and Apache 2.4 vhost-gen #49 vhost-gen #50
  • Fixed missing module mod_proxy_html in Apache 2.4 as per requirement from vhost-gen for Reverse Proxy setup
  • Fixed encoding issue with Apache 2.4 Reverse Proxy by enabling mod_xml2enc module (Required by mod_proxy_html)
  • Allow to run different PHP versions per project. fixes #146

Added

  • New HTTPD server capable of auto reverse proxy creation (and different PHP versions per project)
  • Intranet: Added Command & Control center to view watcherd logs and retrigger config in case of vhost changes
  • Environment variable DEVILBOX_HTTPD_MGMT_PASS
  • Environment variable DEVILBOX_HTTPD_MGMT_USER
  • New Docker Compose Override file docker-compose.override.yml-php-multi.yml (allows to run multiple PHP versions).
  • Update Bind to latest version

Changed

  • Disabled psr extension by default php-psr #78
  • Disabled phalcon extension by default
  • Environment variable DEBUG_COMPOSE_ENTRYPOINT renamed to DEBUG_ENTRYPOINT
  • Environment variable HTTPD_TIMEOUT_TO_PHP_FPM renamed to HTTPD_BACKEND_TIMEOUT

Other notable Changes

New Contributors

Full Changelog: https://github.com/cytopia/devilbox/compare/v2.4.0...v3.0.0-beta-0.1

v2.4.0

1 year ago

Release v2.4.0 (2022-12-18)

This release might be a bit bumpy due to a massive amount of changes in upstream projects. If you encounter issues, please do raise tickets.

General

New PHP-FPM images

This release uses a new set of PHP-FPM images. They have been heavily rewritten and modularized in order to make PHP extension and PHP tool generation more easy. See the following release notes for details:

499 changed files with 29,281 additions and 13,977 deletions.

How to add modules/tools?

Available Tools

You can now also find a detailed overview about what tools are installed in what PHP version image. See here: https://github.com/devilbox/docker-php-fpm/blob/master/doc/available-tools.md

Gitter -> Discord

Additionally I am moving away from Gitter to Discord. See reason and announcement here: https://devilbox.discourse.group/t/migrating-from-gitter-to-discord/716/2

🎮 Discord: https://discord.gg/2wP3V6kBj4

Fixed

  • Intranet: Fixed PostgreSQL database overview
  • Fixed PATH for all pre-installed composer and node tools

Updated

Added

Removed

Issues / PR's

The following Issues / PR's are addressed in a new tagged release.

  • Fixes #934
  • Fixes #936
  • Fixes #940
  • Refs #930
  • Refs #904

Other notable changes

New Contributors

Full Changelog: https://github.com/cytopia/devilbox/compare/v2.3.0...v2.4.0

v2.3.0

1 year ago

Release v2.3.0 (2022-12-04)

Fixed

  • Fixed correct permission for /opt/nvm in PHP container #499, #PHP-FPM 0.141
  • Fixed Debian Jessie repository trust beyond EOL #PHP-FPM 0.140
  • Fixed phpPgAdmin to work with PostgreSQL 15

Added

Changed

  • Switched to phalcon 5.x extension for PHP 8.0 and PHP 8.1 #913, #PHP-FPM 0.143
  • Updated to latest minor versions of Apache 2.2, Apache 2.4, Nginx stable and Nginx mainline
  • Updated to latest minor versions of MySQL, MariaDB and Percona DB
  • Updated to latest minor versions of PHP #917
  • Updated PHP extensions to lastest versions #899

Removed

  • Removed Phalcon DevTools for PHP 7.4 due to build error #PHP-FPM 0.142

Issues / Pull Requests

The following Issues / Pull Requests will be resolved by this PR:

  • Fixes #499
  • Fixes #899
  • Fixes #913
  • Fixes #911
  • Fixes #917

Other notable changes

New Contributors

Full Changelog: https://github.com/cytopia/devilbox/compare/v2.2.0...v2.3.0

v2.2.0

2 years ago

Release v2.2.0 (2022-04-14)

This release adds PHP-FPM Community images via docker-compose.override.yml, which easily allows you to build upon existing PHP images and customize them for your usecase/workflow.

Added

Documentation

How to create your own flavoured image

# Clone community repo
git clone https://github.com/devilbox/docker-php-fpm-community
cd docker-php-fpm-community

# Create your flavour
make create-project

# build your flavour
make build FLAVOUR=<FLAVOUR_NAME>

v2.1.1

2 years ago

Release v2.1.1 (2022-04-07)

The previous v2.1.0 release was using the php docker images from the release branch (as building others takes >9 hours). This one fixes it and uses the git tagged images, which are rebuild every two days.

Changed

  • Used tagged PHP images (auto-updating) instead early release branch one.

v2.1.0

2 years ago

Release v2.1.0 (2022-04-05)

This is now a 100% arm64 compatible release. If you are on an arm64 architecture and have run Devilbox before with amd64 images, the suggestion is to remove those images in order to ensure everything runs smooth for this release.

Fixed

  • Fixed PHP image rsyslog error imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
  • Fixed missing arm64 support: #855

Added

Removed

  • Removed homebrew due to arm64 issues
  • Removed Ansible due to arm64 issues

v2.0.0

2 years ago

Release v2.0.0 (2022-03-28)

The goal of this release is to reduce the overall size of Docker images and bring in latest versions.

Important: This release introduces backwards incompatible changes due to only keeping major versions of PostreSQL and therefore removing old volumes. Additionally the PostgreSQL volume names have changed. In order to guarantee a smooth transition, backup your PostgreSQL databases in the previous version before switching and then re-importing them in this version.

Update your .env file from env-example

Added

  • Added CakePHP integration tests for PHP 8+
  • Added .env variable HTTPD_FLAVOUR to decide between Debian or Alpine for HTTP server

Changed

  • Changed default PostgreSQL server from 12.4 to 14-alpine (breaking change)
  • Changed default Redis server from 6.0 to 6.2-alpine
  • Changed default Memcached server from 1.6 to 1.6-alpine
  • Changed default MongoDB server from 4.4 to 5.0
  • Changed default HTTPD server flavour from Debian to Alpine
  • Use tiny Alpine version of Bind container

Removed

v1.11.0

2 years ago

Release v1.11.0 (2022-03-22)

Fixed

  • Fixed pidof issue on QUEMU by replacing it with pgrep #854
  • Fixed array definition for PHP < 5.4
  • Fixed bind caching issue #37
  • Fixed Adminer 4.8.1 CSS issues #867

Added

  • Allow to globally enable/disable HTTP/2 #844
  • Added New .env variable: HTTPD_HTTP2_ENABLE

Changed

  • Make MariaDB 10.6 the default
  • Make PHP 8.1 the default
  • Updated Apache 2.2
  • Updated Apache 2.4
  • Updated Nginx stable
  • Updated Nginx mainline
  • Updated PHP-FPM images #230
  • Updated PHP-FPM images #231
  • Updated phpMyAdmin to 5.1.3