mirror of
https://github.com/docker/awesome-compose.git
synced 2026-03-09 06:52:08 -05:00
Closed
opened 2026-03-07 21:30:43 -06:00 by GiteaMirror
·
0 comments
No Branch/Tag Specified
master
dependabot/npm_and_yarn/angular/angular/multi-4a74de0a3b
dependabot/npm_and_yarn/angular/angular/immutable-4.3.8
dependabot/npm_and_yarn/react-express-mysql/frontend/multi-8c2b01a32b
dependabot/npm_and_yarn/vuejs/vuejs/minimatch-3.1.5
dependabot/npm_and_yarn/react-express-mongodb/frontend/multi-8c2b01a32b
dependabot/npm_and_yarn/vuejs/vuejs/svgo-2.8.2
dependabot/npm_and_yarn/react-express-mongodb/backend/minimatch-3.1.5
dependabot/npm_and_yarn/react-express-mysql/frontend/rollup-2.80.0
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-8c2b01a32b
dependabot/npm_and_yarn/react-java-mysql/frontend/multi-8c2b01a32b
dependabot/npm_and_yarn/react-express-mysql/backend/multi-829fc934ed
dependabot/npm_and_yarn/react-rust-postgres/frontend/rollup-2.80.0
dependabot/npm_and_yarn/react-nginx/multi-8c2b01a32b
dependabot/npm_and_yarn/react-nginx/multi-a07fd7252a
dependabot/npm_and_yarn/react-express-mongodb/frontend/axios-1.13.5
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-c8afcbbcd8
dependabot/npm_and_yarn/react-express-mysql/frontend/multi-3c165ed7cd
dependabot/npm_and_yarn/react-nginx/multi-e38666b8df
dependabot/npm_and_yarn/react-nginx/multi-3c165ed7cd
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-3c165ed7cd
dependabot/npm_and_yarn/react-java-mysql/frontend/multi-c8afcbbcd8
dependabot/npm_and_yarn/react-nginx/multi-1c989c8248
dependabot/npm_and_yarn/nginx-nodejs-redis/web/multi-1c989c8248
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-1c989c8248
dependabot/npm_and_yarn/react-express-mongodb/backend/multi-6d05d0e569
dependabot/npm_and_yarn/react-express-mongodb/frontend/multi-c8afcbbcd8
dependabot/npm_and_yarn/nginx-nodejs-redis/web/multi-c8afcbbcd8
dependabot/npm_and_yarn/react-express-mysql/backend/multi-c8afcbbcd8
dependabot/npm_and_yarn/react-nginx/node-forge-1.3.3
dependabot/npm_and_yarn/angular/angular/multi-1c989c8248
dependabot/npm_and_yarn/react-nginx/rollup-2.79.2
dependabot/npm_and_yarn/react-express-mysql/frontend/node-forge-1.3.3
dependabot/npm_and_yarn/react-express-mongodb/frontend/form-data-3.0.4
dependabot/npm_and_yarn/react-nginx/form-data-3.0.4
dependabot/pip/django/app/django-4.2.27
dependabot/npm_and_yarn/react-rust-postgres/frontend/form-data-3.0.4
dependabot/npm_and_yarn/react-java-mysql/frontend/rollup-2.79.2
dependabot/npm_and_yarn/react-express-mongodb/backend/validator-13.15.22
dependabot/npm_and_yarn/react-java-mysql/frontend/node-forge-1.3.2
dependabot/npm_and_yarn/react-express-mongodb/frontend/node-forge-1.3.2
dependabot/npm_and_yarn/react-rust-postgres/frontend/node-forge-1.3.2
dependabot/npm_and_yarn/angular/angular/angular/common-19.2.16
dependabot/npm_and_yarn/angular/angular/node-forge-1.3.2
dependabot/npm_and_yarn/vuejs/vuejs/node-forge-1.3.2
dependabot/npm_and_yarn/react-java-mysql/frontend/multi-b4d14387f7
dependabot/npm_and_yarn/react-express-mongodb/frontend/multi-b4d14387f7
dependabot/npm_and_yarn/react-java-mysql/frontend/multi-4df209198f
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-6bc014718a
dependabot/npm_and_yarn/react-express-mongodb/frontend/multi-4df209198f
dependabot/npm_and_yarn/react-rust-postgres/frontend/cross-spawn-7.0.6
dependabot/npm_and_yarn/react-express-mysql/frontend/form-data-3.0.4
dependabot/npm_and_yarn/react-express-mongodb/backend/multi-6bc014718a
dependabot/npm_and_yarn/react-express-mysql/backend/multi-6bc014718a
dependabot/npm_and_yarn/react-express-mysql/backend/form-data-2.5.5
dependabot/npm_and_yarn/react-java-mysql/frontend/form-data-3.0.4
dependabot/npm_and_yarn/vuejs/vuejs/http-proxy-middleware-2.0.9
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-c9063a5af1
dependabot/npm_and_yarn/react-express-mysql/frontend/multi-b4d14387f7
dependabot/npm_and_yarn/nginx-nodejs-redis/web/multi-6bc014718a
dependabot/pip/nginx-wsgi-flask/flask/gunicorn-23.0.0
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-4948524209
dependabot/npm_and_yarn/angular/angular/multi-307bfcbed3
dependabot/npm_and_yarn/angular/angular/multi-a3f20be5e1
dependabot/npm_and_yarn/react-express-mongodb/backend/mongoose-6.13.8
dependabot/npm_and_yarn/react-nginx/cross-spawn-7.0.6
dependabot/npm_and_yarn/react-nginx/http-proxy-middleware-2.0.7
dependabot/npm_and_yarn/react-express-mongodb/frontend/rollup-2.79.2
dependabot/npm_and_yarn/react-express-mysql/backend/multi-27a054522e
dependabot/npm_and_yarn/react-nginx/multi-2ff0448eb0
dependabot/npm_and_yarn/angular/angular/multi-2d3aef8690
dependabot/npm_and_yarn/react-express-mysql/backend/braces-3.0.3
dependabot/npm_and_yarn/react-express-mysql/backend/mysql2-3.9.8
dependabot/npm_and_yarn/angular/angular/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-express-mysql/frontend/webpack-dev-middleware-5.3.4
dependabot/npm_and_yarn/react-rust-postgres/frontend/loader-utils-1.4.2
dependabot/npm_and_yarn/react-java-mysql/frontend/webpack-dev-middleware-5.3.4
dependabot/npm_and_yarn/react-express-mongodb/backend/multi-62bd794dc7
dependabot/npm_and_yarn/react-java-mysql/frontend/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-nginx/decode-uri-component-0.2.2
dependabot/npm_and_yarn/angular/angular/json5-1.0.2
dependabot/npm_and_yarn/react-express-mongodb/frontend/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-express-mysql/frontend/loader-utils-1.4.2
dependabot/npm_and_yarn/react-java-mysql/frontend/json5-1.0.2
dependabot/npm_and_yarn/react-java-mysql/frontend/loader-utils-1.4.2
dependabot/npm_and_yarn/react-rust-postgres/frontend/decode-uri-component-0.2.2
dependabot/npm_and_yarn/react-express-mongodb/frontend/loader-utils-1.4.2
dependabot/npm_and_yarn/react-rust-postgres/frontend/babel/traverse-7.24.1
dependabot/npm_and_yarn/vuejs/vuejs/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-nginx/webpack-dev-middleware-5.3.4
dependabot/npm_and_yarn/react-express-mongodb/frontend/decode-uri-component-0.2.2
dependabot/npm_and_yarn/react-nginx/multi-7f0e0a7f19
dependabot/npm_and_yarn/react-nginx/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-nginx/json5-1.0.2
dependabot/npm_and_yarn/react-express-mongodb/frontend/webpack-dev-middleware-5.3.4
dependabot/npm_and_yarn/react-express-mysql/backend/multi-3dbc2df540
dependabot/npm_and_yarn/react-rust-postgres/frontend/webpack-dev-middleware-5.3.4
dependabot/npm_and_yarn/react-nginx/terser-5.30.3
dependabot/npm_and_yarn/react-express-mysql/frontend/json5-1.0.2
dependabot/npm_and_yarn/react-nginx/loader-utils-1.4.2
dependabot/npm_and_yarn/react-express-mysql/frontend/babel/traverse-7.24.1
dependabot/npm_and_yarn/react-rust-postgres/frontend/json5-1.0.2
dependabot/npm_and_yarn/react-rust-postgres/frontend/terser-5.30.3
dependabot/npm_and_yarn/react-express-mongodb/frontend/json5-1.0.2
dependabot/npm_and_yarn/react-rust-postgres/frontend/multi-7f0e0a7f19
dependabot/npm_and_yarn/angular/angular/multi-841ff79eff
dependabot/npm_and_yarn/react-express-mysql/frontend/decode-uri-component-0.2.2
dependabot/npm_and_yarn/react-java-mysql/frontend/decode-uri-component-0.2.2
dependabot/npm_and_yarn/angular/angular/decode-uri-component-0.2.2
dependabot/npm_and_yarn/vuejs/vuejs/json5-1.0.2
dependabot/npm_and_yarn/vuejs/vuejs/loader-utils-1.4.2
dependabot/npm_and_yarn/vuejs/vuejs/webpack-dev-middleware-5.3.4
dependabot/pip/nginx-flask-mysql/backend/flask-2.2.5
dependabot/npm_and_yarn/react-express-mysql/backend/knex-2.4.0
dependabot/npm_and_yarn/react-express-mysql/backend/ansi-regex-5.0.1
dependabot/npm_and_yarn/vuejs/vuejs/terser-5.30.3
dependabot/pip/nginx-wsgi-flask/flask/flask-2.2.5
dependabot/npm_and_yarn/react-express-mongodb/backend/moment-2.30.1
dependabot/maven/sparkjava-mysql/backend/com.google.code.gson-gson-2.8.9
atomist/pin-docker-base-image/flask-redis/dockerfile
atomist/pin-docker-base-image/flask/app/dockerfile
atomist/pin-docker-base-image/nginx-flask-mongo/flask/dockerfile
atomist/pin-docker-base-image/nginx-flask-mysql/backend/dockerfile
atomist/pin-docker-base-image/sparkjava/sparkjava/dockerfile
atomist/pin-docker-base-image/react-java-mysql/backend/dockerfile
atomist/pin-docker-base-image/sparkjava-mysql/backend/dockerfile
atomist/pin-docker-base-image/spring-postgres/backend/dockerfile
atomist/pin-docker-base-image/react-rust-postgres/backend/dockerfile
atomist/pin-docker-base-image/nginx-aspnet-mysql/backend/dockerfile
No results found.
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/awesome-compose#1199
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Original Pull Request: https://github.com/docker/awesome-compose/pull/615
State: closed
Merged: No
Overview\n\nThis PR enhances the nginx-flask-mysql example with critical production improvements that make the application more robust, observable, and maintainable.\n\n## 🔧 Bug Fixes\n\n### Flask/Werkzeug Compatibility Issue\n- Problem: Container was continuously restarting due to \n- Solution: Pin Werkzeug to version 2.2.2 which is compatible with Flask 2.0.1\n- Impact: Application now starts successfully without crashes\n\n## 🏥 Healthchecks (HIGH Priority)\n\n### Backend Service\n- Added \ endpoint to Flask application\n- Installed \ in backend container for healthcheck support\n- Configured healthcheck with 30s interval, 10s timeout, 3 retries, 40s start period\n\n### Proxy Service \n- Added \ endpoint to nginx configuration\n- Configured healthcheck with 30s interval, 10s timeout, 3 retries, 10s start period\n\n### Database Service\n- Optimized healthcheck interval from 3s to 10s (less aggressive)\n- Maintained proper timeout and retry configuration\n\n### Service Dependencies\n- Proxy now waits for backend to be healthy before starting\n- Backend waits for database to be healthy before starting\n- Ensures proper startup order and prevents 502 errors\n\nBenefits:\n✅ Docker Compose knows when services are actually ready \n✅ Automatic detection of unhealthy containers \n✅ Faster failure detection and recovery \n✅ Better observability of service health\n\n## 📝 Logging Configuration (MEDIUM Priority)\n\n### All Services\n- Configured JSON file logging driver\n- Max 10MB per log file with 3 rotated files (30MB per service)\n- Added service labels for easier log filtering\n- Total maximum log storage: ~90MB for all services\n\nBenefits:\n✅ Prevents unbounded log growth \n✅ Protects against disk space exhaustion \n✅ Maintains recent logs for troubleshooting \n✅ Easier log management and filtering\n\n## 🔄 Restart Policy Optimization (MEDIUM Priority)\n\n### All Services\n- Changed restart policy from \ to \n\nBehavior Changes:\n\n| Scenario | Before () | After () |\n|----------|---------------------|----------------------------|\n| Container crashes | ✅ Restarts | ✅ Restarts |\n| Docker daemon restarts | ✅ Restarts | ✅ Restarts |\n| System reboot | ✅ Restarts | ✅ Restarts |\n| Manual \ | ❌ Restarts anyway | ✅ Stays stopped |\n| \ | ❌ Restarts anyway | ✅ Stays stopped |\n\nBenefits:\n✅ Respects intentional stops \n✅ Better for maintenance windows \n✅ Cleaner development workflow \n✅ Production best practice \n✅ Same crash recovery behavior\n\n## 📊 Testing\n\nAll changes have been thoroughly tested:\n\n- ✅ All containers start successfully\n- ✅ All services show "healthy" status\n- ✅ Main application works correctly (<div> Hello Blog post #1 Hello Blog post #2 Hello Blog post #3 Hello Blog post #4 )\n- ✅ Health endpoints respond correctly\n- ✅ Log rotation verified on all services\n- ✅ Restart policy verified\n- ✅ Service startup order verified\n\n## 📝 Files Modified\n\n\n\n## 🎯 Impact\n\nThese improvements make the nginx-flask-mysql example:\n- More production-ready with proper healthchecks\n- More reliable with dependency ordering\n- More maintainable with log rotation\n- More user-friendly with better restart behavior\n- Bug-free with Flask/Werkzeug compatibility fix\n\n## 🔮 Future Improvements\n\nWhile these changes significantly improve the example, for true production deployment, consider:\n- Using Gunicorn instead of Flask development server\n- Removing backend port exposure (use only internal Docker networks)\n- Adding resource limits\n- Implementing HTTPS/TLS\n- Updating to latest stable base images\n- Adding proper secrets management\n\n## 📚 Related Issues\n\nThis PR addresses common pain points with Docker Compose examples:\n- Containers failing to start due to dependency issues\n- Missing healthchecks causing 502 errors\n- Unbounded log growth\n- Confusing restart behavior\n\n---\n\nType of Change:\n- [x] Bug fix (Flask/Werkzeug compatibility)\n- [x] New feature (healthchecks, logging configuration)\n- [x] Breaking change (restart policy behavior change)\n- [x] Documentation update (commit message explains changes)\n\nChecklist:\n- [x] Code follows project style\n- [x] Self-review completed\n- [x] Changes tested locally\n- [x] All containers start and run successfully\n- [x] Health endpoints respond correctly