A comprehensive Docker image repository featuring 142+ production-ready containerized services across multiple Linux distributions (Ubuntu, Debian, Alpine) and PHP versions (5.6-8.5). Built for high-performance web hosting, mail services, caching infrastructure, and complete system stacks. Integrated with deb.myguard.nl for optimized Debian packages.
dockerized/
├── buildx.sh # Build orchestration wrapper
├── generate.sh # Dockerfile generation wrapper
├── build/ # Build infrastructure
│ ├── buildx.sh # Core build orchestrator
│ ├── generate.sh # Dockerfile generation coordinator
│ ├── generate-lib.sh # Shared build utilities
│ ├── docker-bake.hcl # Docker Buildx configuration (106 targets)
│ └── nginx.sh # Legacy nginx build script
├── src/ # Dockerfile sources (142+ images)
│ ├── base/ # Base images (15 distributions)
│ ├── php-fpm/ # PHP-FPM (9 versions × distros)
│ ├── nginx/ # Nginx with ModSecurity & PageSpeed
│ ├── angie/ # Angie (Nginx fork with improvements)
│ ├── apache-phpfpm/ # Apache with PHP-FPM stack
│ ├── mariadb/ # MariaDB database server
│ ├── redis/ # Redis cache store
│ ├── valkey/ # Valkey (Redis-compatible)
│ ├── postfix/ # Mail server
│ ├── dovecot/ # IMAP/POP3 mail services
│ ├── rspamd/ # Advanced spam filtering
│ ├── roundcube/ # Webmail client interface
│ ├── openssh/ # OpenSSH server
│ ├── unbound/ # DNS resolver
│ ├── clamav-unofficial-signatures/ # Antivirus engine
│ └── [30+ additional services]
├── docs/ # Project documentation
└── README.md # This file
- Docker & Docker Buildx:
docker buildx version - Linux environment
- Git (for version tracking)
./buildx.sh./buildx.sh # Builds all targets in dependency order
# Or use docker buildx directly:
cd build && docker buildx bake ubuntu-nginx-php84./generate.shThis regenerates all Dockerfiles from templates in dependency order:
- Layer 1: Base images (15 distros)
- Layer 2: PHP-FPM, Databases, Utilities
- Layer 3: Webservers (Nginx/Angie/Apache) + Services
- Layer 4: Complex services (Roundcube, CMS, etc.)
The container ecosystem is organized in dependency layers for efficient building:
Layer 1 - Base Images: Foundation operating system layers (Ubuntu, Debian, Alpine)
Layer 2 - Runtime & Database: PHP-FPM, MariaDB, Redis, Valkey
Layer 3 - Web Servers: Nginx, Angie, Apache with PHP integration
Layer 4 - Services: Mail (Postfix, Dovecot, Rspamd), DNS (Unbound), Webmail (Roundcube)
This repository provides a complete suite of containerized infrastructure components:
Optimized base images for Ubuntu (resolute, noble, jammy, focal, xenial, trusty), Debian (trixie, bookworm, bullseye, buster, stretch, jessie), and Alpine distributions. All built with security-hardened configurations aligned with deb.myguard.nl standards.
- PHP-FPM: 9 versions (5.6 through 8.5) with full distro variants
- Nginx: High-performance web server with ModSecurity3 WAF and PageSpeed optimization
- Angie: Enhanced Nginx fork featuring advanced routing and performance improvements
- Apache + PHP-FPM: Classic LAMP stack with flexible PHP version selection
- MariaDB 10.11: Open-source relational database with full feature set
- Redis 7: High-performance in-memory data store
- Valkey: Redis-compatible cache for modern deployments
- Postfix: Production-grade SMTP mail server
- Dovecot: Complete IMAP and POP3 implementation
- Rspamd: Advanced mail filtering and spam detection system
- Roundcube: Full-featured webmail client
- OpenSSH: Secure remote shell access
- Unbound: High-performance recursive DNS resolver
- ClamAV: Antivirus engine with community signatures
| Category | Services | Count | Status |
|---|---|---|---|
| Operating Systems | Ubuntu, Debian, Alpine | 15 | ✅ Production |
| Web Servers | Nginx, Angie, Apache | 50+ | ✅ Production |
| PHP Runtime | 9 versions (5.6-8.5) | 40+ | ✅ Production |
| Databases | MariaDB, Redis, Valkey | 6+ | ✅ Production |
| Mail Services | Postfix, Dovecot, Rspamd, Roundcube | 8+ | ✅ Production |
| System Services | SSH, DNS, Antivirus | 6+ | ✅ Production |
| Total Images | 142+ complete containers | 106 build targets | ✅ Ready |
cd build
# Build all base images
docker buildx bake base
# Build all PHP-FPM variants
docker buildx bake phpfpm
# Build Nginx + Angie with all PHP versions
docker buildx bake nginx angie
# Build mail services
docker buildx bake maildocker buildx bake ubuntu-nginx-php84
docker buildx bake debian-phpfpm85
docker buildx bake ubuntu-mariadbdocker buildx bake ubuntu-nginx-php84 --pushdocker buildx bake --print ubuntu-nginx-php84Prerequisites:
- Docker with Buildx support:
docker buildx version - Linux environment
- Push credentials (optional, for registry deployment)
Build Your First Image:
./buildx.sh # Build all images in dependency order
cd build && docker buildx bake ubuntu-nginx-php84 # Build single image
./generate.sh # Regenerate from templates (after modifications)# Base operating system images
docker buildx bake base
# All PHP-FPM versions (5.6 through 8.5)
docker buildx bake phpfpm
# Complete web server stack
docker buildx bake nginx angie
# Mail services (Postfix, Dovecot, Rspamd, Roundcube)
docker buildx bake mail
# Database and caching services
docker buildx bake mariadb redis valkey# Specific PHP-FPM version
docker buildx bake ubuntu-phpfpm85 debian-phpfpm84
# Nginx with particular PHP version
docker buildx bake ubuntu-nginx-php84
# Complete Angie stack
docker buildx bake ubuntu-angie-php82
# Database servers
docker buildx bake ubuntu-mariadb debian-redis# Push directly to registry (requires authentication)
docker buildx bake ubuntu-nginx-php84 --push
# Load to local Docker daemon (single platform only)
docker buildx bake ubuntu-nginx-php84 --load
# Dry run - show build plan without executing
docker buildx bake --print ubuntu-nginx-php84
# View detailed build logs
docker buildx logs# Check template exists
ls src/php-fpm/Dockerfile-template.*
# Check generate-lib.sh
./build/generate.sh -v # verbose output
# Check individual component
cd src/nginx && bash ./.generate.sh# Inspect Dockerfile
cat src/nginx/Dockerfile-php84 | head -20
# Check docker-bake.hcl entry
grep -A 5 "ubuntu-nginx-php84" build/docker-bake.hcl
# Try manual build
docker build -t test -f src/nginx/Dockerfile-php84 src/nginxSee MULTISTAGE_ANALYSIS.md for multi-stage build recommendations (20-30% reduction potential).
- Total Container Images: 142+
- Build Targets: 106 combinations
- Service Categories: 36+
- PHP Versions Supported: 9 (5.6, 7.2, 7.4, 8.0-8.5)
- Linux Distributions: 15 (7 Ubuntu + 6 Debian + 2 rolling/devel)
- Distribution Variants: 200+ unique image combinations
- Template System: Consistent, maintainable Dockerfile generation
- Performance Optimizations: Multi-stage builds, layer consolidation
- deb.myguard.nl - Debian package repository with optimized builds aligned with these container images
- MULTISTAGE_ANALYSIS.md - Image optimization strategies
- STEP2-5_PLAN.md - Detailed refactoring and improvement documentation
✅ 142+ Production Images - Complete infrastructure suite ready for deployment ✅ 9 PHP Versions - Support from legacy PHP 5.6 to modern PHP 8.5 ✅ 15 Linux Distributions - Ubuntu and Debian variants for maximum compatibility ✅ 106 Build Targets - Flexible image combinations via docker-bake.hcl ✅ Template-Based Generation - Consistent, maintainable Dockerfile ecosystem ✅ Multi-Stage Builds - Optimized image sizes and layer efficiency ✅ Distro Integration - Aligned with deb.myguard.nl package standards ✅ Production Ready - Security-hardened, fully tested containers
- README.md - Complete guide and reference (this file)
- MULTISTAGE_ANALYSIS.md - Image size optimization strategies
- STEP2-5_PLAN.md - Development roadmap and improvements
To add a new containerized service:
- Create service directory:
src/{service}/ - Add Dockerfile or template files
- If templated, create
src/{service}/.generate.shscript - Add build targets to
build/docker-bake.hcl - Update TARGETS array in
build/buildx.sh - Run
./generate.shand./buildx.sh - Commit and publish
For modifications to existing containers:
- Edit template:
src/{service}/Dockerfile-template* - Regenerate:
./generate.sh(or service-specific.generate.sh) - Rebuild:
./buildx.shor specificdocker buildx baketarget - Test in target environment
- Commit changes with descriptive message
Generation Issues:
ls src/php-fpm/Dockerfile-template.* # Verify template files exist
./build/generate.sh -v # Run with verbose output
cd src/nginx && bash ./.generate.sh # Test individual componentBuild Problems:
cat src/nginx/Dockerfile-php84 | head -20 # Inspect generated Dockerfile
grep -A 5 "ubuntu-nginx-php84" build/docker-bake.hcl # Check config
docker build -t test -f src/nginx/Dockerfile-php84 . # Manual build test
docker buildx logs # View build logsImage Size Optimization: Refer to MULTISTAGE_ANALYSIS.md for strategies on reducing image sizes by 20-30%.
Status: ✅ Production Ready Version: May 2026 Integration: deb.myguard.nl - Debian package ecosystem Container Count: 142+ Build Targets: 106