Tweaked version of standard Docker NGINX Image for PHP applications.
Served files will be accessed as user 101.
Currently, no SSL support.
| Path | Purpose |
|---|---|
/app |
Project root |
/app/public |
Web root |
| Variable | Purpose | Default |
|---|---|---|
NGINX_PORT |
Port NGINX will listen on | 80 |
NGINX_HOST |
Web server host | _ (all hosts) |
NGINX_ROOT |
Web server root path | /app/public |
PHP_HOST |
Network host name of PHP-FPM | app |
PHP_PORT |
Port to access PHP-FPM | 9000 |
PHP-FPM and some standard extensions, installed from official PHP Debian repository.
Includes globally accessible Composer "binary".
Listens on port 9000.
Worker user will match the user the container runs under. Default user www-data, ID 1000.
| Path | Purpose |
|---|---|
/composer |
Composer home directory - mount to ${COMPOSER_HOME:-~/.composer} for cache/OAuth support |
/home/www-data |
Home directory for default www-data user |
/tmp/home |
Home directory for non-existent user (dev/debug only) |
${PHP_VERSION}-${BUILD_TARGET}
E.g. 8.1-dev
8.18.07.47.3
fpm- standard/productiondev- dev config & toolsdebug- as dev, with Xdebug
| Arg | Purpose | Default |
|---|---|---|
PHP_VERSION |
Version of PHP-FPM to install | 8.1 |
DEBIAN_RELEASE |
Debian release to base the image on | bullseye |
WWW_USER_ID |
ID of PHP's default www-data user |
1000 |
WWW_GROUP_ID |
ID of PHP's default user's www-data group |
1000 |
PHP_EXTENSIONS |
PHP extensions to install | php-curl php-zip php-xml php-mbstring php-intl php-mysql php-pgsql php-redis php-imagick php-gd |
DEV_TOOLS |
Utilities to install in the dev image |
postgresql-client default-mysql-client iputils-ping dnsutils unzip nano less git man |
COMPOSER_HOME |
Path of the Composer "home" directory (location of cache & OAuth tokens) | /composer |
SHELL_EDITOR |
Default editor to use in Bash on the dev image (environment variable EDITOR) |
nano |
SHELL_PAGER |
Pager to use in Bash on the dev image (environment variable PAGER) |
less -R |