instant-dev-environment-lab is a GitHub portfolio project that demonstrates how to create a ready-to-use cloud development environment using GitHub Codespaces, VS Code Dev Containers, Docker, Linux terminal tools, and GitHub Actions.
The project is designed for IT Support, Technical Support, and Junior Systems/Network Administration portfolio use. It shows how a repository can be prepared so a user can open it quickly, work inside a consistent environment, run basic setup scripts, test the environment, and validate project quality through automation.
This project does not represent production administration experience. It is a hands-on lab created to demonstrate learning, documentation, troubleshooting, and technical workflow skills.
The purpose of this project is to show how instant development environments can help technical teams and learners work faster and more consistently.
Instead of manually installing tools on every computer, a dev container or Codespaces environment can provide a preconfigured workspace with the required tools, scripts, and settings already included.
This type of setup is useful for:
- IT support labs
- Technical documentation practice
- Junior systems administration learning
- Cloud-based development workflows
- Troubleshooting practice
- Consistent onboarding environments
- GitHub portfolio demonstrations
This project uses the following tools and technologies:
| Tool | Purpose |
|---|---|
| GitHub | Version control and repository hosting |
| GitHub Codespaces | Cloud-based development environment |
| VS Code | Code editor and development workspace |
| VS Code Dev Containers | Local container-based development environment |
| Docker | Container runtime for consistent environments |
| Linux Terminal | Command-line setup, testing, and troubleshooting |
| Bash Scripts | Setup automation and health checks |
| GitHub Actions | Basic project quality checks |
| Markdown | Documentation and portfolio writing |
| Node.js | Sample API project |
| Python | Sample scripting project |
| HTML/CSS | Sample static website project |
This project demonstrates beginner-friendly but practical skills, including:
- Creating a professional GitHub repository structure
- Using GitHub Codespaces for cloud development
- Understanding VS Code Dev Containers
- Writing basic Docker-based environment configuration
- Running Linux terminal commands
- Creating and organizing Bash scripts
- Writing setup and health-check scripts
- Documenting technical processes clearly
- Creating troubleshooting documentation
- Organizing sample projects inside one repository
- Using GitHub Actions for basic quality checks
- Presenting technical work in a clear portfolio format
instant-dev-environment-lab/
├── .devcontainer/
│ ├── devcontainer.json
│ └── Dockerfile
├── .github/
│ └── workflows/
│ └── project-quality.yml
├── docs/
│ ├── setup-guide.md
│ ├── troubleshooting-guide.md
│ ├── commands-cheatsheet.md
│ └── environment-notes.md
├── sample-projects/
│ ├── html-css-site/
│ ├── node-api/
│ └── python-script/
├── scripts/
│ ├── setup.sh
│ └── health-check.sh
├── .gitignore
└── README.md
GitHub Codespaces allows the project to run in a browser-based development environment.
- Open the repository on GitHub.
- Select the green Code button.
- Select the Codespaces tab.
- Click Create codespace on main.
- Wait for the environment to build.
- Open the terminal inside Codespaces.
- Run the health check:
bash scripts/health-check.sh- Run the setup script if needed:
bash scripts/setup.shThe environment should open with the configured tools, extensions, scripts, and sample projects available for use.
This project can also run locally using VS Code and Docker.
Before running locally, install:
- Visual Studio Code
- Docker Desktop
- VS Code Dev Containers extension
- Git
- Clone the repository:
git clone https://github.com/YOUR-USERNAME/instant-dev-environment-lab.git- Open the project folder:
cd instant-dev-environment-lab
code .- In VS Code, open the Command Palette:
Ctrl + Shift + P
On macOS:
Command + Shift + P
- Select:
Dev Containers: Reopen in Container
-
Wait for the container to build.
-
Run the setup script:
bash scripts/setup.sh- Run the health check:
bash scripts/health-check.shA basic static website project used to practice simple front-end structure and documentation.
Example skills:
- HTML file organization
- CSS styling basics
- Static website folder structure
A simple Node.js API example used to demonstrate JavaScript tooling and local service testing.
Example skills:
- Node.js project structure
- Running an API locally
- Testing a basic endpoint
A small Python script example used to demonstrate scripting and command-line execution.
Example skills:
- Running Python from the terminal
- Creating simple automation scripts
- Testing script output
Possible causes:
- First-time container build
- Large dependency installation
- Temporary GitHub Codespaces delay
Suggested steps:
bash scripts/health-check.shIf the issue continues, rebuild the container from the Codespaces menu.
If using VS Code Dev Containers locally, Docker Desktop must be running before reopening the project in a container.
Suggested steps:
- Open Docker Desktop.
- Wait for Docker to fully start.
- Return to VS Code.
- Run:
Dev Containers: Reopen in Container
If a script does not run, update the file permissions:
chmod +x scripts/setup.sh
chmod +x scripts/health-check.shThen run:
./scripts/setup.sh
./scripts/health-check.shIf Node.js is not available, confirm that the dev container built correctly.
Run:
node --version
npm --versionIf the commands fail, rebuild the container.
Run:
python3 --versionIf Python is missing, check the Dockerfile and rebuild the container.
Common causes include:
- Missing script permissions
- Incorrect folder paths
- Markdown formatting issues
- Commands failing inside the workflow
Suggested steps:
- Open the failed workflow run in GitHub.
- Review the error message.
- Fix the related file or command.
- Commit and push the update.
Through this project, I practiced how to:
- Structure a technical GitHub portfolio repository
- Use Codespaces to create a fast cloud-based workspace
- Understand how Dev Containers help standardize development environments
- Use Docker configuration files in a beginner-friendly lab
- Create basic shell scripts for setup and testing
- Write clear documentation for technical users
- Organize sample projects for HTML/CSS, Node.js, and Python
- Use GitHub Actions to check basic project quality
- Troubleshoot common environment setup issues
This project helped me understand how consistent environments can reduce setup problems and make technical work easier to reproduce.
Planned future improvements include:
- Add more detailed Linux command examples
- Add a networking troubleshooting lab
- Add a DNS and web hosting support example
- Add a simple help desk ticket documentation example
- Add automated Markdown linting
- Add more GitHub Actions checks
- Add screenshots of Codespaces setup
- Add a short demo video or GIF
- Add a beginner-friendly diagram explaining how Codespaces and Dev Containers work
- Expand the Node.js and Python sample projects
This repository was created as a learning and portfolio project for IT Support, Technical Support, and Junior Systems/Network Administration roles.
It is intended to show hands-on practice with cloud development environments, container-based workspaces, documentation, scripting, troubleshooting, and GitHub workflow basics.