Production-ready PHP 8.5 image based on Alpine Linux, optimized for Laravel applications.
- PHP 8.5 FPM on Alpine Linux
- Pre-installed extensions: PDO (MySQL, PostgreSQL), Redis, BCMath, MBString, EXIF, ZIP, PCNTL
- Composer 2.2
- Node.js and npm
- Production-optimized PHP and OPcache configurations
- Automatic file permission handling
- Ready for Laravel/Symfony applications
docker pull ghcr.io/maxcelos/php:8.5-fpm-alpine# Copy the sample configuration
cp docker-compose.sample.yml docker-compose.yml
# Start your services
docker-compose up -ddocker run -d \
--name myapp_php \
-v $(pwd):/var/www/html \
ghcr.io/maxcelos/php:8.5-fpm-alpine- USAGE.md - Complete usage guide including:
- Configuration customization (PHP, OPcache, PHP-FPM)
- Docker Compose examples
- Environment variables
- Common use cases
- Troubleshooting
- docker-compose.sample.yml - Full-featured docker-compose example
- WORKFLOW.md - Development and release workflow
This repository uses automated GitHub Actions to build and publish Docker images when you push git tags.
# 1. Make your changes
vim Dockerfile
# 2. Commit your changes
git add .
git commit -m "Add Redis extension"
# 3. Bump version (automated - similar to npm version)
./version.sh patch # or minor, or major
# 4. Push to trigger build
git push --follow-tagsThe GitHub Actions workflow will automatically build and push the image to ghcr.io/maxcelos/php:8.5-fpm-alpine.
To test your changes locally before releasing:
# Build the image locally
docker build -t ghcr.io/maxcelos/php:test .
# Test it
docker run --rm ghcr.io/maxcelos/php:test php -v
# When satisfied, release it
./version.sh patch
git push --follow-tagsSee WORKFLOW.md for detailed documentation on the automated version management and release process.