|
|
|
|
- Docker Engine 20.10+
- Docker Compose 2.0+
- 2GB RAM minimum (4GB+ recommended)
- 10GB free disk space
# Clone the repository
git clone https://github.com/yourusername/dockerpress.git
cd dockerpress
# Run quick start script
chmod +x start.sh
./start.sh
# Or manually
cp .env.example .env
# Edit .env with your settings
docker-compose up -d| Service | URL | Default Credentials |
|---|---|---|
| π WordPress | http://localhost:8080 | Setup on first run |
| ποΈ Adminer | http://localhost:8081 | Server: mariadb |
| π³ Portainer | http://localhost:9000 | Create on first run |
| π Grafana | http://localhost:3000 | admin / admin |
| π§ Mailhog | http://localhost:8025 | - |
| π Prometheus | http://localhost:9090 | - |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Nginx (Port 80/443) β
β Reverse Proxy + SSL β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββ΄βββββββββββββββ
β β
ββββββββββββΌβββββββββββ βββββββββββΌβββββββββ
β WordPress β β Monitoring β
β (Bedrock + Sage) β β β
β β β - Grafana β
β - PHP-FPM β β - Prometheus β
β - Composer β β - Loki β
β - WP-CLI β β - Promtail β
ββββββββββββ¬βββββββββββ βββββββββββββββββββββ
β
ββββββββ΄βββββββ
β β
βββββΌβββββ βββββΌββββββ
βMariaDB β β KeyDB β
β 11.2 β β (Redis) β
ββββββββββ βββββββββββ
π WordPress (Bedrock)
- Modern WordPress boilerplate
- Composer for dependency management
- Environment-based configuration
- Enhanced folder structure
- Better security defaults
π¨ Sage Theme
- Laravel Blade templating
- Webpack/Vite asset bundling
- Tailwind CSS support
- Hot module replacement
- Modern JavaScript (ES6+)
ποΈ MariaDB
- High-performance MySQL fork
- Optimized configuration
- Automatic backups
- Slow query logging
- UTF8MB4 support
β‘ KeyDB
- Multi-threaded Redis alternative
- 5x faster than Redis
- 100% Redis compatible
- Active replication
- FLASH storage support
π Grafana Stack
- Beautiful dashboards
- Real-time metrics
- Log exploration (Loki)
- Alerting system
- Data source provisioning
π Fail2Ban
- Automatic IP banning
- Protection against brute-force
- Custom jail rules
- WordPress-specific filters
- Email notifications
- π Quick Reference - Common commands and tasks
- π¬π§ English README - Full documentation in English
- π€ Contributing - How to contribute
- π Changelog - Version history
# Start services
docker-compose up -d
# View logs
docker-compose logs -f
# Check system status
./check.sh
# Access WP-CLI
docker-compose exec wpcli wp --info
# Manual backup
docker-compose exec backup /backup.sh
# Stop services
docker-compose down- Hot reload for theme development
- Email testing with Mailhog
- Debug logs in Grafana
- Quick database access
- Automated backups
- Security hardening
- Performance monitoring
- Log aggregation
- Fail2Ban protection
- Complete monitoring stack
- Metrics and alerting
- Centralized logging
- Container orchestration
- Scalability ready
Key variables in .env:
# Database
DB_PASSWORD=your_secure_password
MYSQL_ROOT_PASSWORD=your_root_password
# WordPress
WP_ENV=production
WP_HOME=https://yourdomain.com
WP_DEBUG=false
# Security Keys
AUTH_KEY=generate-at-roots.io/salts
# ... more keys
# Monitoring
GRAFANA_PASSWORD=admin# Generate self-signed certificate (dev)
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout nginx/ssl/key.pem -out nginx/ssl/cert.pem
# For production, use Let's Encrypt
# See documentation for Certbot integrationContributions are welcome! Please read our Contributing Guidelines.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Roots.io - Bedrock and Sage
- KeyDB - Multi-threaded Redis
- Grafana Labs - Loki and Grafana
- All open-source contributors
- π Report Bug
- π‘ Request Feature
- π¬ Discussions