https://github.com/ajdinmore/docker-php-nginx
Interoperable NGINX and PHP Docker Images
https://github.com/ajdinmore/docker-php-nginx
composer developer-tools docker git nginx php
Last synced: 3 months ago
JSON representation
Interoperable NGINX and PHP Docker Images
- Host: GitHub
- URL: https://github.com/ajdinmore/docker-php-nginx
- Owner: ajdinmore
- Created: 2020-11-01T23:58:37.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-06-06T14:26:18.000Z (about 3 years ago)
- Last Synced: 2025-06-20T14:39:58.151Z (about 1 year ago)
- Topics: composer, developer-tools, docker, git, nginx, php
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/ajdinmore
- Size: 78.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Andy's PHP & NGINX Docker Images
## `ajdinmore/nginx`
🔗 [Docker Hub](https://hub.docker.com/r/ajdinmore/nginx)
Tweaked version of [standard Docker NGINX Image](https://hub.docker.com/_/nginx) for PHP applications.
Served files will be accessed as user 101.
Currently, no SSL support.
## Paths
| Path | Purpose |
|---------------|--------------|
| `/app` | Project root |
| `/app/public` | Web root |
### Runtime Environment Variables
| 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` |
---
## `ajdinmore/php`
🔗 [Docker Hub](https://hub.docker.com/r/ajdinmore/php)
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`.
## Paths
| 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) |
## Tag Structure
`${PHP_VERSION}-${BUILD_TARGET}`
E.g. `8.1-dev`
### PHP Versions
- `8.1`
- `8.0`
- `7.4`
- `7.3`
### Build Targets
- `fpm` - standard/production
- `dev` - dev config & tools
- `debug` - as dev, with Xdebug
## Build Args
| 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` |