Cbox Base Images Documentation
Cbox Base Images Documentation
Welcome to the comprehensive documentation for Cbox base images! This documentation is designed to help developers of all levels get started quickly and master advanced usage.
🎯 Start Here
New to Cbox? Start with these guides:
- 5-Minute Quickstart - Get running in 5 minutes
- Complete Laravel Guide - Full Laravel setup (most popular)
- Extending Images - Customize for your needs
Quick Tier Selection
Cbox images come in three tiers:
| Tier | Tag | Size | Best For |
|---|---|---|---|
| Slim | -slim |
~120MB | APIs, microservices |
| Standard | (none) | ~250MB | Most apps (DEFAULT) |
| Full | -full |
~700MB | Browsershot, Dusk, PDF |
# Standard tier (DEFAULT) - Most Laravel/PHP apps
image: ghcr.io/cboxdk/php-baseimages/php-fpm-nginx:8.4-bookworm
# Slim tier - APIs, microservices
image: ghcr.io/cboxdk/php-baseimages/php-fpm-nginx:8.4-bookworm-slim
# Full tier - Browsershot, Dusk, PDF generation
image: ghcr.io/cboxdk/php-baseimages/php-fpm-nginx:8.4-bookworm-full
📚 Documentation Structure
Getting Started
Perfect for beginners and those evaluating Cbox.
- 5-Minute Quickstart ⭐ Start here!
- Introduction - Why Cbox? Comparisons
- Installation - All installation methods
- Choosing a Variant - Slim vs Standard vs Full
Framework Guides
Step-by-step guides for popular PHP frameworks.
-
Laravel Complete Guide ⭐ Most popular
- Full setup with MySQL, Redis, Scheduler
- Development and production configurations
- Common mistakes and solutions
-
- Complete Symfony setup with database
- Cache and session configuration
- Production deployment
-
- WordPress with MySQL setup
- Plugin and theme development
- Production optimization
-
- Local development with Xdebug
- Hot-reload setup
- Debugging tips
-
- Security hardening
- Performance optimization
- Deployment strategies
Advanced Topics
Deep dives for experienced users customizing Cbox.
-
Extending Images ⭐ Most requested
- Add custom PHP extensions
- Install system packages
- Custom configurations
- Initialization scripts
-
- PECL extension examples
- Compiling from source
- Version pinning
-
- Startup script patterns
- Wait for dependencies
- Database migrations
-
- PHP-FPM optimization
- OPcache configuration
- Nginx tuning
-
- Security best practices
- CVE management
- Secrets management
Reference Documentation
Complete technical reference materials.
-
Quick Reference ⭐ Copy-paste snippets
- Minimal setups for all frameworks
- Common environment variables
- Quick commands
-
- Complete env var list
- Laravel-specific variables
- Symfony-specific variables
-
- PHP.ini customization
- PHP-FPM pool configuration
- Nginx server blocks
-
- Complete extension list (40+)
- Extension usage examples
- Version information
-
- Health check internals
- Monitoring integration
- Custom health checks
-
- Architecture decision guide
- When to use each
- Trade-offs explained
Help & Troubleshooting
Solutions to common issues and systematic debugging.
-
- FAQ-style solutions
- Copy-paste fixes
- Quick diagnostics
-
- Systematic debugging process
- Log analysis
- Performance profiling
-
- From ServerSideUp images
- From Bitnami images
- From custom images
-
Changelog - What's new in each release
🔍 Find What You Need
By Role
Junior Developer / First Time User:
- 5-Minute Quickstart
- Laravel Guide or your framework
- Common Issues
Experienced Developer:
DevOps / SRE:
Team Lead / Architect:
- Multi-Service vs Separate
- Introduction (comparisons)
- Choosing a Variant
By Task
"I want to get started quickly" → 5-Minute Quickstart
"I need to add a PHP extension" → Extending Images
"My Laravel app won't connect to MySQL" → Laravel Guide - Common Mistakes
"How do I deploy to production?" → Production Deployment
"Something is broken, I need help" → Common Issues
"Which tier should I use?" → Choosing a Tier
"Single container or separate containers?" → Multi-Service vs Separate
"How do I debug Xdebug?" → Development Workflow
📋 Documentation Status
✅ Complete (All Phases)
Phase 1 - Foundation
- ✅ 5-Minute Quickstart
- ✅ Laravel Complete Guide
- ✅ Extending Images Guide
- ✅ Slim README with navigation
Phase 2 - Framework & Reference
- ✅ Symfony Complete Guide
- ✅ WordPress Complete Guide
- ✅ Environment Variables Reference
- ✅ Configuration Options Reference
Phase 3 - Advanced Topics
- ✅ Production Deployment Guide
- ✅ Development Workflow Guide
- ✅ Performance Tuning Guide
- ✅ Security Hardening Guide
Phase 4 - Troubleshooting
- ✅ Common Issues FAQ
- ✅ Debugging Guide
- ✅ Migration Guide
- ✅ Troubleshooting Index
Phase 5 - Extended Reference
- ✅ Introduction (Why Cbox?)
- ✅ Installation Guide
- ✅ Choosing a Tier (Slim vs Standard vs Full)
- ✅ Custom Extensions Guide
- ✅ Custom Initialization Guide
- ✅ Reverse Proxy & mTLS Guide
📅 Future Enhancements
- 📝 Available Extensions Reference (detailed)
- 📝 Health Checks Reference (detailed)
🤝 Contributing to Documentation
Found a typo? Want to add examples? We welcome documentation improvements!
Quick fixes:
- Click "Edit this page" on any doc
- Make your changes
- Submit a pull request
New pages:
- Check Documentation Plan
- Follow the Style Guide
- Submit a pull request
📖 Documentation Principles
Our documentation follows these principles:
- Copy-Paste Ready - All examples work without modification
- Progressive Complexity - Start simple, add details progressively
- Real Explanations - Explain WHY, not just WHAT
- Inline Troubleshooting - Common mistakes included with solutions
- Expected Output - Show what success looks like
- Tested Examples - Every code snippet is tested
Inspired by ServerSideUp's excellent documentation standards.
💬 Get Help
- Documentation Issues: GitHub Issues (label: documentation)
- General Questions: GitHub Discussions
- Security Issues: GitHub Security Advisories
Ready to dive in? → 5-Minute Quickstart 🚀