- Docker Images
- Environment Variables
- Build arguments
- PHP Extensions
- Tools
- Xdebug
- Changelog
- Users and permissions
- Crond
- SSHD
- Adding SSH key
- Complete PHP-based stack
- Images based on
wodby/php - Orchestration Actions
❗For better reliability we release images with stability tags (wodby/php:8-X.X.X) which correspond
to git tags. We strongly recommend using images only with stability tags.
About images:
- All images based on Alpine Linux
- Base image: official php
- GitHub actions builds
- Docker Hub
Supported tags and respective Dockerfile links:
8.4,8,latest(8/Dockerfile)8.3(8/Dockerfile)8.2(8/Dockerfile)8.1(8/Dockerfile)8.4-dev,8-dev,dev(8/Dockerfile)8.3-dev(8/Dockerfile)8.2-dev(8/Dockerfile)8.1-dev(8/Dockerfile)8.4-dev-macos,8-dev-macos,dev-macos(8/Dockerfile)8.3-dev-macos(8/Dockerfile)8.2-dev-macos(8/Dockerfile)8.1-dev-macos(8/Dockerfile)
Images with -dev tag have a few differences:
sudoallowed for all commands forwodbyuser- PHP source code available under
/usr/src/php.tar.xz PHP_FPM_CLEAR_ENVis set tonoby default- Additional packages installed: yarn and npm
Same as -dev but the default user/group wodby has uid/gid 501/20 to match the macOS default user/group ids.
All images built for linux/amd64 and linux/arm64
The default configuration not recommended for use for production environment:
"-" - Not available for this version
| Variable | Default value |
|---|---|
GIT_USER_EMAIL |
[email protected] |
GIT_USER_NAME |
wodby |
HTTP_PROXY |
|
SSH_PRIVATE_KEY |
|
SSH_DISABLE_STRICT_KEY_CHECKING |
|
SSHD_GATEWAY_PORTS |
no |
SSHD_HOST_KEYS_DIR |
/etc/ssh |
SSHD_LOG_LEVEL |
INFO |
SSHD_PASSWORD_AUTHENTICATION |
no |
SSHD_PERMIT_USER_ENV |
yes |
SSHD_USE_DNS |
yes |
MSMTP_PORT |
25 |
MSMTP_TLS |
off |
MSMTP_LOG |
|
MSMTP_LOGFILE |
/proc/self/fd/2 |
MSMTP_AUTH |
off |
MSMTP_HOST |
opensmtpd |
MSMTP_ADD_MISSING_DATE_HEADER |
on |
MARIADB_CLIENT_SSL_VERIFY_SERVER_CERT |
` |
| Argument | Default value |
|---|---|
PHP_VER |
|
PHP_DEV |
|
WODBY_GROUP_ID |
1000 |
WODBY_USER_ID |
1000 |
Change WODBY_USER_ID and WODBY_GROUP_ID mainly for local dev version of images, if it matches with existing system
user/group ids the latter will be deleted.
Extensions xdebug, xhprof and spx disabled by default, to change it override the default env
var PHP_EXTENSIONS_DISABLE=xdebug,xhprof,spx.
| Extension | 8.4 | 8.3 | 8.2 | 8.1 |
|---|---|---|---|---|
| amqp | 2.1.2 | 2.1.2 | 2.1.2 | 2.1.2 |
| apcu | 5.1.27 | 5.1.27 | 5.1.27 | 5.1.27 |
| ast | 1.1.2 | 1.1.2 | 1.1.2 | 1.1.2 |
| bcmath | ||||
| brotli | 0.15.2 | 0.15.2 | 0.15.2 | 0.15.2 |
| bz2 | ||||
| calendar | ||||
| Core | ||||
| ctype | ||||
| curl | ||||
| date | ||||
| dom | ||||
| ds | 1.5.0 | 1.5.0 | 1.5.0 | 1.5.0 |
| exif | ||||
| event | 3.1.4 | 3.1.4 | 3.1.4 | 3.1.4 |
| fileinfo | ||||
| filter | ||||
| ftp | ||||
| gd | ||||
| grpc | 1.68.0 | 1.68.0 | 1.68.0 | 1.68.0 |
| hash | ||||
| iconv | ||||
| igbinary | 3.2.16 | 3.2.16 | 3.2.16 | 3.2.16 |
| imagick | 3.8.0 | 3.8.0 | 3.8.0 | 3.8.0 |
| imap | 1.0.3 | - | - | - |
| imap | - | |||
| intl | ||||
| json | ||||
| ldap | ||||
| libxml | ||||
| mbstring | ||||
| memcached | 3.4.0 | 3.4.0 | 3.4.0 | 3.4.0 |
| mongodb | 2.1.4 | 2.1.4 | 2.1.4 | 2.1.4 |
| mysqli | ||||
| mysqlnd | ||||
| newrelic | latest | latest | latest | latest |
| OAuth | 2.0.10 | 2.0.10 | 2.0.10 | 2.0.10 |
| openssl | ||||
| opentelemetry | 1.2.1 | 1.2.1 | 1.2.1 | 1.2.1 |
| pcov | 1.0.12 | 1.0.12 | 1.0.12 | 1.0.12 |
| pcntl | ||||
| pcre | ||||
| PDO | ||||
| pdo_mysql | ||||
| pdo_pgsql | ||||
| pdo_sqlite | ||||
| pdo_sqlsrv* | - | 5.12.0 | 5.12.0 | 5.12.0 |
| pgsql | ||||
| Phar | ||||
| posix | ||||
| protobuf | 4.30.2 | 4.30.2 | 4.30.2 | 4.30.2 |
| rdkafka | 6.0.5 | 6.0.5 | 6.0.5 | 6.0.5 |
| readline | ||||
| redis | 6.2.0 | 6.2.0 | 6.2.0 | 6.2.0 |
| Reflection | ||||
| session | ||||
| SimpleXML | ||||
| smbclient | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 |
| soap | ||||
| sockets | ||||
| sodium | ||||
| SPL | ||||
| spx | 0.4.17 | 0.4.17 | 0.4.17 | 0.4.17 |
| sqlite3 | ||||
| sqlsrv* | 5.12.0 | 5.12.0 | 5.12.0 | 5.12.0 |
| standard | ||||
| tidy | ||||
| tokenizer | ||||
| uploadprogress | 2.0.2 | 2.0.2 | 2.0.2 | 2.0.2 |
| uuid | 1.3.0 | 1.3.0 | 1.3.0 | 1.3.0 |
| xdebug | 3.4.7 | 3.4.7 | 3.4.7 | 3.4.7 |
| xhprof | 2.3.10 | 2.3.10 | 2.3.10 | 2.3.10 |
| xml | ||||
| xmlreader | ||||
| xmlwriter | ||||
| xsl | ||||
| yaml | 2.2.5 | 2.2.5 | 2.2.5 | 2.2.5 |
| Zend OPcache | ||||
| zip | ||||
| zlib |
Legend:
- [EMPTY] – Core PHP extension
- "-" - Not exists in this version > Some extensions may not be available in
-devimages
- sqlsrv extension has no arm64 support because the driver has no support for linux/arm64
| Tool | 8.4 | 8.3 | 8.2 | 8.1 |
|---|---|---|---|---|
| Composer | latest | latest | latest | latest |
By default, xdebug mode set to off, which has close to 0 overhead. If you
want to disable the extension completely set PHP_EXTENSIONS_DISABLE=xdebug.
Changes per stability tag reflected in git tags description under releases.
You can run Crond with this image changing the command to sudo -E crond -f -d 0 and mounting a crontab file
to ./crontab:/etc/crontabs/www-data. Example crontab file contents:
# min hour day month weekday command
*/1 * * * * echo "test" > /mnt/files/cron
You can run SSHD with this image by changing the command to sudo /usr/sbin/sshd -De and mounting authorized public
keys to /home/wodby/.ssh/authorized_keys
You can add a private SSH key to the container by mounting it to /home/wodby/.ssh/id_rsa
Default container user is wodby:wodby (UID/GID 1000). PHP-FPM runs from www-data:www-data user (UID/GID 82) by
default. User wodby is a part of www-data group.
Codebase volume $APP_ROOT (/var/www/html) owned by wodby:wodby. Files volume $FILES_DIR (/mnt/files) owned
by www-data:www-data with 775 mode.
See #22 for more details.
-
files_chmod– in case you need write access forwodbyuser to a file/dir generated bywww-dataon this volume runsudo files_chmod [FILEPATH]script (FILEPATH must be under/mnt/files), it will recursively change the mode toug=rwX,o=rX -
files_chown– in case you manually uploaded files underwodbyuser to files volume and want to change the ownership of those files towww-datarunsudo files_chown [FILEPATH]script (FILEPATH must be under/mnt/files), it will recursively change ownership towww-data:www-data
- wodby/drupal-php
- wodby/wordpress-php
- wodby/adminer
- wodby/matomo
- wodby/cachet
- wodby/webgrind
- wodby/xhprof
Usage:
make COMMAND [params ...]
commands:
migrate
check-ready [host max_try wait_seconds delay_seconds]
git-clone url [branch]
git-checkout target [is_hash]
files-import source
files-link public_dir
update-keys
walter
default params values:
is_hash 0
branch "" Branch, tag or hash commit