{"id":50734488,"url":"https://github.com/mamamia0729/enterprise-linux-docker","last_synced_at":"2026-06-10T12:03:18.728Z","repository":{"id":314833057,"uuid":"1056914842","full_name":"mamamia0729/enterprise-linux-docker","owner":"mamamia0729","description":"🐳 Production-ready multi-distribution Linux environment with Docker. Features RHEL UBI 9, Ubuntu 22.04 LTS \u0026 CentOS 7 with enterprise security, monitoring \u0026 Infrastructure as Code. Built by AWS|Azure AZ-104|CCNA|Security+ certified professional.","archived":false,"fork":false,"pushed_at":"2025-09-15T03:54:33.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-15T05:27:41.828Z","etag":null,"topics":["centos","containerization","devops","docker","docker-compose","enterprise","infrastructure-as-code","linux","monitoring","portainer","rhel","security","ubuntu"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/mamamia0729.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-15T03:00:26.000Z","updated_at":"2025-09-15T03:54:36.000Z","dependencies_parsed_at":"2025-09-15T05:27:46.510Z","dependency_job_id":null,"html_url":"https://github.com/mamamia0729/enterprise-linux-docker","commit_stats":null,"previous_names":["mamamia0729/enterprise-linux-docker"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mamamia0729/enterprise-linux-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamamia0729%2Fenterprise-linux-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamamia0729%2Fenterprise-linux-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamamia0729%2Fenterprise-linux-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamamia0729%2Fenterprise-linux-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mamamia0729","download_url":"https://codeload.github.com/mamamia0729/enterprise-linux-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mamamia0729%2Fenterprise-linux-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34151279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["centos","containerization","devops","docker","docker-compose","enterprise","infrastructure-as-code","linux","monitoring","portainer","rhel","security","ubuntu"],"created_at":"2026-06-10T12:03:17.575Z","updated_at":"2026-06-10T12:03:18.720Z","avatar_url":"https://github.com/mamamia0729.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Enterprise Linux Docker Environment\n\n![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge\u0026logo=docker\u0026logoColor=white)\n![RHEL](https://img.shields.io/badge/Red%20Hat-EE0000?style=for-the-badge\u0026logo=redhat\u0026logoColor=white)\n![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?style=for-the-badge\u0026logo=ubuntu\u0026logoColor=white)\n![CentOS](https://img.shields.io/badge/cent%20os-002260?style=for-the-badge\u0026logo=centos\u0026logoColor=F0F0F0)\n![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=for-the-badge\u0026logo=amazon-aws\u0026logoColor=white)\n![Azure](https://img.shields.io/badge/azure-%230072C6.svg?style=for-the-badge\u0026logo=microsoftazure\u0026logoColor=white)\n\n\u003e **Built by [Thinh Le](https://github.com/mamamia0729)** - Highly Certified IT Professional  \n\u003e **Certifications**: AWS | Azure AZ-104 | CCNA | CompTIA Security+ | Network+ | A+\n\nA production-ready, multi-distribution Linux environment built with Docker, featuring enterprise-grade security, monitoring, and infrastructure-as-code practices. This project demonstrates advanced containerization skills suitable for enterprise DevOps and Cloud Infrastructure roles.\n\n## 🏢 Enterprise Features\n\n- **Multi-Distribution Support**: RHEL UBI 9, Ubuntu 22.04 LTS, CentOS 7\n- **Security Hardened**: Non-root users, minimal attack surface, secure networking\n- **Production Ready**: Health checks, logging, monitoring, restart policies\n- **Infrastructure as Code**: Reproducible deployments via Docker Compose\n- **Container Orchestration**: Centralized management with Portainer\n- **Network Isolation**: Custom bridge network with defined IP ranges\n- **Persistent Storage**: Named volumes with proper labeling\n\n## 🔧 Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                   Enterprise Network                        │\n│                  (172.20.0.0/16)                          │\n├─────────────────┬─────────────────┬─────────────────────────┤\n│  RHEL UBI 9     │  Ubuntu 22.04   │  CentOS 7              │\n│  (Production)   │  (Production)   │  (Legacy Support)      │\n│  172.20.0.4     │  172.20.0.5     │  172.20.0.2            │\n├─────────────────┼─────────────────┼─────────────────────────┤\n│                 │  Portainer CE   │                        │\n│                 │  (Management)   │                        │\n│                 │  172.20.0.3     │                        │\n│                 │  Port: 9000     │                        │\n└─────────────────┴─────────────────┴─────────────────────────┘\n```\n\n## 🚀 Quick Start\n\n### Prerequisites\n- Docker Desktop installed and running\n- macOS/Linux/Windows with Docker support\n- 8GB+ RAM recommended\n\n### Deployment\n```bash\n# Clone or download the project\ngit clone \u003crepository-url\u003e\ncd enterprise-linux-docker\n\n# Deploy the entire environment\ndocker-compose up -d\n\n# Verify deployment\n./scripts/monitor.sh\n\n# Access container management\nopen http://localhost:9000\n```\n\n## 📋 Container Details\n\n### RHEL UBI 9 Enterprise (`rhel-prod-server`)\n- **Base Image**: `registry.access.redhat.com/ubi9/ubi:latest`\n- **Security**: Non-root user (`appuser`)\n- **Packages**: Essential tools (wget, vim, git, procps-ng, etc.)\n- **Health Check**: Built-in monitoring\n- **Use Case**: Production RHEL workloads\n\n### Ubuntu LTS Enterprise (`ubuntu-prod-server`)\n- **Base Image**: `ubuntu:22.04`\n- **Security**: Non-root user (`appuser`)\n- **Packages**: Development tools (curl, git, jq, htop, etc.)\n- **Health Check**: Built-in monitoring\n- **Use Case**: Development and CI/CD pipelines\n\n### CentOS Legacy (`centos-legacy-server`)\n- **Base Image**: `centos:7`\n- **Purpose**: Legacy application support\n- **Use Case**: Migration and compatibility testing\n\n### Portainer Management (`portainer-management`)\n- **Base Image**: `portainer/portainer-ce:latest`\n- **Access**: http://localhost:9000\n- **Purpose**: Container management and monitoring\n\n## 🔒 Security Implementation\n\n### Container Security\n- ✅ Non-root user execution\n- ✅ Minimal base images\n- ✅ Limited sudo privileges\n- ✅ Secure file permissions (750)\n- ✅ Package updates and cleanup\n\n### Network Security\n- ✅ Custom bridge network isolation\n- ✅ Defined IP subnet (172.20.0.0/16)\n- ✅ No unnecessary port exposure\n- ✅ Container-to-container communication\n\n### Volume Security\n- ✅ Named volumes with labels\n- ✅ Proper ownership and permissions\n- ✅ Separate volumes per service\n- ✅ Shared data volume for inter-container communication\n\n## 📊 Monitoring \u0026 Maintenance\n\n### Health Checks\nAll containers include comprehensive health monitoring:\n```bash\n# Check overall status\ndocker ps\n\n# Detailed health information\ndocker inspect \u003ccontainer-name\u003e --format='{{.State.Health.Status}}'\n\n# Run monitoring script\n./scripts/monitor.sh\n```\n\n### Logging\nCentralized logging configuration:\n- JSON file driver\n- 10MB max size per log file\n- Maximum 3 log files per container\n- Automatic log rotation\n\n### Resource Monitoring\n```bash\n# Real-time resource usage\ndocker stats\n\n# Container resource limits\ndocker inspect \u003ccontainer-name\u003e --format='{{.HostConfig.Memory}}'\n```\n\n## 🛠️ Management Commands\n\n### Container Operations\n```bash\n# Start environment\ndocker-compose up -d\n\n# Stop environment\ndocker-compose down\n\n# Restart specific service\ndocker-compose restart \u003cservice-name\u003e\n\n# View logs\ndocker-compose logs \u003cservice-name\u003e\n\n# Execute commands in container\ndocker exec -it \u003ccontainer-name\u003e bash\n```\n\n### Maintenance Tasks\n```bash\n# Update images\ndocker-compose pull\ndocker-compose up -d\n\n# Clean unused resources\ndocker system prune -f\n\n# Backup volumes\ndocker run --rm -v \u003cvolume-name\u003e:/backup alpine tar czf - /backup\n\n# Monitor script with cron (optional)\n# Add to crontab: */5 * * * * /path/to/monitor.sh \u003e\u003e /var/log/docker-monitor.log\n```\n\n## 📈 Enterprise Benefits\n\n### Development Teams\n- **Consistent Environments**: Identical setup across dev/staging/prod\n- **Multi-OS Testing**: Test applications across different Linux distributions\n- **Rapid Deployment**: Infrastructure as code for quick provisioning\n\n### DevOps Teams\n- **Monitoring Integration**: Built-in health checks and logging\n- **Security Compliance**: Hardened containers following best practices\n- **Scalability**: Easy to replicate and scale horizontally\n\n### Operations Teams\n- **Centralized Management**: Portainer for GUI-based container management\n- **Automated Monitoring**: Custom scripts for environment health checks\n- **Volume Management**: Persistent data with proper backup strategies\n\n## 🔧 Customization\n\n### Adding New Services\n1. Create new Dockerfile in project root\n2. Add service definition to `docker-compose.yml`\n3. Include in monitoring script\n4. Update documentation\n\n### Environment Variables\nKey environment variables for customization:\n- `ENVIRONMENT`: production/staging/development\n- `LOG_LEVEL`: info/debug/warn/error\n- `SERVICE_NAME`: Custom service identification\n\n### Network Configuration\nTo modify network settings, update `docker-compose.yml`:\n```yaml\nnetworks:\n  enterprise-network:\n    ipam:\n      config:\n        - subnet: 172.20.0.0/16  # Change subnet as needed\n          gateway: 172.20.0.1\n```\n\n## 📚 Best Practices Implemented\n\n### Docker Best Practices\n- ✅ Multi-stage builds where applicable\n- ✅ Minimal base images\n- ✅ Non-root user execution\n- ✅ Proper layer caching\n- ✅ Health check implementation\n\n### Enterprise Standards\n- ✅ Consistent labeling strategy\n- ✅ Environment variable management\n- ✅ Logging standardization\n- ✅ Security hardening\n- ✅ Documentation completeness\n\n### DevOps Practices\n- ✅ Infrastructure as Code\n- ✅ Container orchestration\n- ✅ Monitoring and alerting\n- ✅ Backup and recovery procedures\n- ✅ Version control integration\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## 🆘 Support\n\nFor support and questions:\n- Create an issue in the repository\n- Contact the DevOps team\n- Check the troubleshooting section\n\n---\n\n## 👨‍💻 About the Author\n\n**Thinh Le** - Highly Certified IT Professional  \n📧 [GitHub Profile](https://github.com/mamamia0729)\n\n### 🏆 Certifications \u0026 Expertise\n- ☁️ **Cloud**: AWS Cloud Practitioner, Azure Administrator (AZ-104)\n- 🔒 **Security**: CompTIA Security+ \n- 🌐 **Networking**: Cisco CCNA, CompTIA Network+\n- 💻 **Hardware/OS**: CompTIA A+\n- 🐧 **Linux**: Multi-distribution administration (RHEL, Ubuntu, CentOS)\n- 🐳 **Containerization**: Docker, Docker Compose, Enterprise Orchestration\n\n### 💼 Professional Background\n- **Current**: Desktop Support Specialist with enterprise infrastructure focus\n- **Previous**: System Administrator, Network Administrator, Endpoint Management\n- **Achievements**: Developed PowerShell solutions that freed 50+ TB across 1800+ machines\n- **Goal**: Pursuing AWS Solutions Architect certification and advanced cloud roles\n\n---\n\n**Built with ❤️ for Enterprise Linux Environments**\n\n*This setup demonstrates production-ready Docker practices suitable for enterprise environments, combining security, monitoring, and operational excellence.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamamia0729%2Fenterprise-linux-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmamamia0729%2Fenterprise-linux-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmamamia0729%2Fenterprise-linux-docker/lists"}