{"id":26560491,"url":"https://github.com/thenameiswiiwin/docker-dev-env","last_synced_at":"2026-04-10T07:37:30.253Z","repository":{"id":283602311,"uuid":"952310014","full_name":"thenameiswiiwin/docker-dev-env","owner":"thenameiswiiwin","description":"A collection of ready-to-use Docker development environments for multiple Linux distributions (Ubuntu, Debian, Alpine, Arch, Kali). Includes shared configurations, utility scripts, and comprehensive documentation for reproducible development setups across teams and CI/CD pipelines.","archived":false,"fork":false,"pushed_at":"2025-03-21T04:29:47.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T05:24:13.485Z","etag":null,"topics":["alpine","arch-linux","ci-cd","containers","cross-platform-testing","debian","developer-tools","development-environment","devops","docker","docker-compose","kali-linux","linux","reproducible-environments","ubuntu"],"latest_commit_sha":null,"homepage":"","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/thenameiswiiwin.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":"2025-03-21T04:28:44.000Z","updated_at":"2025-03-21T04:32:55.000Z","dependencies_parsed_at":"2025-03-21T05:34:21.216Z","dependency_job_id":null,"html_url":"https://github.com/thenameiswiiwin/docker-dev-env","commit_stats":null,"previous_names":["thenameiswiiwin/docker-dev-env"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thenameiswiiwin/docker-dev-env","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenameiswiiwin%2Fdocker-dev-env","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenameiswiiwin%2Fdocker-dev-env/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenameiswiiwin%2Fdocker-dev-env/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenameiswiiwin%2Fdocker-dev-env/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thenameiswiiwin","download_url":"https://codeload.github.com/thenameiswiiwin/docker-dev-env/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thenameiswiiwin%2Fdocker-dev-env/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278903008,"owners_count":26065786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":["alpine","arch-linux","ci-cd","containers","cross-platform-testing","debian","developer-tools","development-environment","devops","docker","docker-compose","kali-linux","linux","reproducible-environments","ubuntu"],"created_at":"2025-03-22T13:18:01.810Z","updated_at":"2025-10-08T06:52:21.107Z","avatar_url":"https://github.com/thenameiswiiwin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker Development Environments\n\nA collection of Docker environments for development across multiple Linux distributions. This project provides consistent, reproducible development environments that can be used for testing, development, and CI/CD pipelines.\n\n## Overview\n\nThis repository contains Dockerfiles for various Linux distributions, configured with common development tools and utilities. Each environment is designed to be lightweight yet functional for software development.\n\nCurrently supported distributions:\n\n- Ubuntu (latest)\n- Debian (latest)\n- Arch Linux\n- Alpine Linux\n- Kali Linux\n\n## Quick Start\n\n### Prerequisites\n\n- Docker installed on your system\n- Make (optional, for using the Makefile)\n\n### Building Images\n\nBuild all images:\n\n```bash\nmake build-all\n```\n\nOr build a specific image:\n\n```bash\nmake build DISTRO=ubuntu\n```\n\n### Running Containers\n\nStart a container for a specific distribution:\n\n```bash\nmake run DISTRO=ubuntu\n```\n\nThis will start an interactive shell in the container with the current directory mounted at `/workspace`.\n\n## Docker Compose\n\nFor more complex setups, you can use the provided docker-compose.yml:\n\n```bash\ndocker-compose up -d ubuntu\ndocker-compose exec ubuntu bash\n```\n\n## Image Details\n\nEach Docker image includes:\n\n- Git for version control\n- Ansible for automation\n- Build tools appropriate for the distribution\n- Sudo for privilege escalation\n- UTF-8 locale configuration\n\n### Alpine Linux\n\nLightweight container based on Alpine, ideal for minimal environments and CI/CD pipelines.\n\n```bash\ndocker build -t dev-alpine ./images/alpine\ndocker run -it --rm -v $(pwd):/workspace dev-alpine\n```\n\n### Arch Linux\n\nRolling release distribution with up-to-date packages.\n\n```bash\ndocker build -t dev-arch ./images/arch\ndocker run -it --rm -v $(pwd):/workspace dev-arch\n```\n\n### Debian\n\nStable distribution with excellent package availability.\n\n```bash\ndocker build -t dev-debian ./images/debian\ndocker run -it --rm -v $(pwd):/workspace dev-debian\n```\n\n### Kali Linux\n\nSecurity-focused distribution with penetration testing tools.\n\n```bash\ndocker build -t dev-kali ./images/kali\ndocker run -it --rm -v $(pwd):/workspace dev-kali\n```\n\n### Ubuntu\n\nPopular distribution with extensive community support.\n\n```bash\ndocker build -t dev-ubuntu ./images/ubuntu\ndocker run -it --rm -v $(pwd):/workspace dev-ubuntu\n```\n\n## Customization\n\n### Adding Additional Packages\n\nEach Dockerfile can be customized to include additional packages needed for your development workflow. Simply modify the relevant Dockerfile to add more packages during the build process.\n\nExample for Ubuntu:\n\n```dockerfile\nRUN apt-get update \u0026\u0026 \\\n    apt-get install -y \\\n    your-package-1 \\\n    your-package-2 \\\n    # Add more packages here\n    \u0026\u0026 apt-get clean\n```\n\n### Adding Custom Configuration\n\nMount custom configuration files into the container or add them to the shared/configs directory.\n\nExample:\n\n```bash\ndocker run -it --rm \\\n  -v $(pwd):/workspace \\\n  -v ~/.gitconfig:/root/.gitconfig \\\n  dev-ubuntu\n```\n\n### Creating a Custom User\n\nBy default, containers run as root. For a more realistic development environment, you can create a custom user:\n\n```bash\n# Using the provided script\ndocker run -it --rm \\\n  -v $(pwd):/workspace \\\n  dev-ubuntu \\\n  /shared/scripts/setup-user.sh myusername\n```\n\n## Use Cases\n\n### Local Development\n\nUse these containers to ensure consistent development environments across a team:\n\n```bash\ndocker run -it --rm \\\n  -v $(pwd):/workspace \\\n  -p 3000:3000 \\\n  dev-ubuntu\n```\n\n### CI/CD Pipelines\n\nThese images can be used in CI/CD pipelines to ensure consistent testing environments:\n\n```yaml\n# Example GitLab CI configuration\ntest:\n  image: yourrepo/dev-ubuntu:latest\n  script:\n    - cd /builds/your-project\n    - ./run-tests.sh\n```\n\n### Cross-Platform Testing\n\nTest your applications on different Linux distributions to ensure compatibility:\n\n```bash\n# Test on Ubuntu\ndocker run -it --rm -v $(pwd):/app dev-ubuntu ./run-tests.sh\n\n# Test on Alpine\ndocker run -it --rm -v $(pwd):/app dev-alpine ./run-tests.sh\n```\n\n## Project Structure\n\n```\ndocker-dev-env/\n├── Makefile\n├── README.md\n├── docker-compose.yml\n├── .dockerignore\n├── images/\n│   ├── alpine/\n│   │   ├── Dockerfile\n│   │   └── init.sh\n│   ├── arch/\n│   │   ├── Dockerfile\n│   │   └── init.sh\n│   ├── debian/\n│   │   ├── Dockerfile\n│   │   └── init.sh\n│   ├── kali/\n│   │   ├── Dockerfile\n│   │   └── init.sh\n│   └── ubuntu/\n│       ├── Dockerfile\n│       └── init.sh\n├── scripts/\n│   ├── build-all.sh\n│   └── test-images.sh\n└── shared/\n    ├── configs/\n    │   ├── bashrc\n    │   ├── gitconfig\n    │   └── vimrc\n    └── scripts/\n        ├── install-tools.sh\n        └── setup-user.sh\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenameiswiiwin%2Fdocker-dev-env","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthenameiswiiwin%2Fdocker-dev-env","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthenameiswiiwin%2Fdocker-dev-env/lists"}