{"id":23537421,"url":"https://github.com/thetoriqul/multi-container-app-deployment","last_synced_at":"2026-04-12T07:36:34.423Z","repository":{"id":268219537,"uuid":"903655495","full_name":"TheToriqul/multi-container-app-deployment","owner":"TheToriqul","description":"This project demonstrates my expertise in deploying and managing multi-container applications using Docker Compose. I've built a scalable web application that combines a Python Flask frontend with a Redis backend, showcasing modern containerization practices and microservices architecture.","archived":false,"fork":false,"pushed_at":"2024-12-15T09:53:54.000Z","size":280,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-14T21:34:02.513Z","etag":null,"topics":["docker","docker-compose","docker-microservice","docker-multicontainer"],"latest_commit_sha":null,"homepage":"https://thetoriqul.com","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheToriqul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-15T07:30:17.000Z","updated_at":"2024-12-15T09:53:57.000Z","dependencies_parsed_at":"2024-12-15T10:21:49.666Z","dependency_job_id":"7b576f4a-743d-46f1-a75d-ff8656c4c45c","html_url":"https://github.com/TheToriqul/multi-container-app-deployment","commit_stats":null,"previous_names":["thetoriqul/multi-container-app-deployment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheToriqul/multi-container-app-deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheToriqul%2Fmulti-container-app-deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheToriqul%2Fmulti-container-app-deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheToriqul%2Fmulti-container-app-deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheToriqul%2Fmulti-container-app-deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheToriqul","download_url":"https://codeload.github.com/TheToriqul/multi-container-app-deployment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheToriqul%2Fmulti-container-app-deployment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31707953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","docker-microservice","docker-multicontainer"],"created_at":"2024-12-26T03:15:26.632Z","updated_at":"2026-04-12T07:36:34.405Z","avatar_url":"https://github.com/TheToriqul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🐳 Multi-Container Application Deployment with Docker Compose\n\n[![GitHub Repository](https://img.shields.io/badge/GitHub-multi--container--app--deployment-blue?style=flat\u0026logo=github)](https://github.com/TheToriqul/multi-container-app-deployment)\n![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat\u0026logo=docker\u0026logoColor=white)\n![Python](https://img.shields.io/badge/Python-3776AB?style=flat\u0026logo=python\u0026logoColor=white)\n![Flask](https://img.shields.io/badge/Flask-000000?style=flat\u0026logo=flask\u0026logoColor=white)\n![Redis](https://img.shields.io/badge/Redis-DC382D?style=flat\u0026logo=redis\u0026logoColor=white)\n\n## 📋 Project Overview\n\nThis project demonstrates my expertise in deploying and managing multi-container applications using Docker Compose. I've built a scalable web application that combines a Python Flask frontend with a Redis backend, showcasing modern containerization practices and microservices architecture.\n\n## 🎯 Key Objectives\n\n- Implement a multi-container application architecture using Docker Compose\n- Develop a Flask web application with Redis integration for state management\n- Configure container networking for secure service communication\n- Implement persistent storage using Docker volumes\n- Create a production-ready container deployment workflow\n\n## 🏗️ Project Architecture\n\n```mermaid\ngraph TB\n    subgraph Docker Host\n        subgraph \"Docker Compose Environment\"\n            subgraph \"Web Frontend Container\"\n                F[Flask Application\n                Port 8080]\n            end\n            \n            subgraph \"Redis Container\"\n                R[Redis Server \n                Port 6379]\n            end\n            \n            subgraph \"Persistent Storage\"\n                V[counter-vol \n                /app]\n            end\n            \n            subgraph \"Network Layer\"\n                N[counter-net]\n            end\n        end\n        \n        P[Host Port 5001]\n    end\n    \n    U[User] --\u003e P\n    P --\u003e F\n    F --\u003e N\n    N --\u003e R\n    F --\u003e V\n    \n    style F fill:#9CBCE2,stroke:#333,stroke-width:2px\n    style R fill:#DC382D,stroke:#333,stroke-width:2px\n    style V fill:#FFA500,stroke:#333,stroke-width:2px\n    style N fill:#85C1E9,stroke:#333,stroke-width:2px\n    style P fill:#90EE90,stroke:#333,stroke-width:2px\n    style U fill:#FFE4B5,stroke:#333,stroke-width:2px\n```\n\n## 💻 Technical Stack\n\n- **Frontend**: Python Flask application\n- **Backend**: Redis for data persistence\n- **Container Runtime**: Docker Engine\n- **Orchestration**: Docker Compose\n- **Base Images**: \n  - Python 3.9 Alpine\n  - Redis Alpine\n\n## 🚀 Getting Started\n\n\u003cdetails\u003e\n\u003csummary\u003e🐳 Prerequisites\u003c/summary\u003e\n\n- Docker Engine (version 20.10.0 or higher)\n- Docker Compose V2\n- Git (for cloning the repository)\n- curl (for testing the deployment)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e⚙️ Installation\u003c/summary\u003e\n\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/TheToriqul/multi-container-app-deployment.git\n   cd multi-container-app-deployment\n   ```\n\n2. Review the configuration files:\n   - `app.py`: Flask application code\n   - `Dockerfile`: Container image definition\n   - `compose.yaml`: Multi-container orchestration configuration\n\n3. Deploy the application:\n   ```bash\n   docker compose -f compose.yaml up -d\n   ```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e🎮 Usage\u003c/summary\u003e\n\n1. Access the application:\n   ```bash\n   curl localhost:5001\n   ```\n\n2. Monitor the services:\n   ```bash\n   docker-compose ps\n   docker-compose logs\n   ```\n\n3. Stop the application:\n   ```bash\n   docker-compose down --volumes\n   ```\n\nFor detailed commands and operations, refer to the [reference-commands.md](reference-commands.md) file.\n\n\u003c/details\u003e\n\n## 💡 Key Learnings\n\n### Technical Mastery:\n\n1. Docker Compose configuration and service orchestration\n2. Container networking and inter-service communication\n3. Volume management for persistent storage\n4. Multi-stage builds and image optimization\n5. Service discovery and load balancing\n\n### Professional Development:\n\n1. Microservices architecture design\n2. Infrastructure as Code (IaC) practices\n3. DevOps workflow optimization\n4. System debugging and troubleshooting\n5. Documentation and technical writing\n\n## 🔄 Future Enhancements\n\n\u003cdetails\u003e\n\u003csummary\u003eView Planned Improvements\u003c/summary\u003e\n\n1. Implement Docker Swarm for container orchestration\n2. Add Nginx reverse proxy for load balancing\n3. Implement health checks and automatic container recovery\n4. Add monitoring with Prometheus and Grafana\n5. Implement CI/CD pipeline with GitHub Actions\n6. Add automated testing framework\n\n\u003c/details\u003e\n\n## 🙌 Contribution\n\nContributions are welcome! Feel free to [open an issue](https://github.com/TheToriqul/multi-container-app-deployment/issues) or submit a [pull request](https://github.com/TheToriqul/multi-container-app-deployment/pulls).\n\n## 📧 Connect with Me\n\n- 📧 Email: toriqul.int@gmail.com\n- 📱 Phone: +65 8936 7705, +8801765 939006\n- 🌐 LinkedIn: [@TheToriqul](https://www.linkedin.com/in/thetoriqul/)\n- 🐙 GitHub: [@TheToriqul](https://github.com/TheToriqul)\n- 🌍 Portfolio: [TheToriqul.com](https://thetoriqul.com)\n\n## 👏 Acknowledgments\n- [Poridhi for providing comprehensive labs and inspiring this project](https://devops.poridhi.io/) \n- The Docker and Docker Compose communities for their excellent documentation\n- The Flask and Redis teams for their robust and reliable technologies\n- The open-source community for continuous inspiration and learning resources\n\n---\n\nThank you for exploring this project! I hope it demonstrates my practical experience with container orchestration and microservices architecture. Feel free to reach out if you have any questions or would like to discuss collaboration opportunities! 🚀","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetoriqul%2Fmulti-container-app-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthetoriqul%2Fmulti-container-app-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthetoriqul%2Fmulti-container-app-deployment/lists"}