Fixing Broken GitHub Codespaces for an Online Course
View completed workdocsgeek.bigcartel.com

Fixing Broken GitHub Codespaces for an Online Course
App rescue: course environments that failed to start and wiped learners' work, fixed with Docker and persistent storage.
Docs Geek runs technical writing courses with hands-on coding exercises in GitHub Codespaces. Their infrastructure was broken: environments failed to initialize, and learners lost all progress when they returned after a break.

docsgeek.io - course page
What Made This Hard
Environments wouldn't set up correctly. When learners launched the course repository in Codespaces, dependencies failed to install, configuration files were missing, and students couldn't start exercises.
Progress disappeared between sessions. Students would return to their Codespace and find everything reset to zero. Code, practice work, configurations, all gone. Multi-day projects were impossible to complete.
How I Built It
I containerized the entire course setup with Docker. The Dockerfile installs all dependencies, configures the development environment, and sets up the tools needed for API documentation exercises. Every learner gets an identical working environment.
The persistence problem came down to understanding how Codespaces handles storage. I restructured the setup so learner work saves to persistent volumes that survive restarts. Configuration files, practice code, and exercise progress now persist across sessions.
GitHub Actions workflows run on Codespace creation to execute initialization scripts, verify dependencies, and validate the environment before the learner sees it. Post-create scripts configure the workspace, install VS Code extensions, and display a welcome message with first steps.

Fix: Docker and persistent volumes, checked by GitHub Actions on creation.
Results
Docker setup fixed the failures learners were hitting
Persistent volume mounting means students keep their progress across sessions
Automated validation catches initialization problems before learners hit them
Tech Stack
Containerization: Docker
Environment: GitHub Codespaces, DevContainer Configuration
CI/CD: GitHub Actions
Scripting: Bash
Link
1 like · 13 views · Jan 25, 2026
Online course platform. Fixed broken GitHub Codespaces with a Docker setup, persistent storage so learners keep their work, and GitHub Actions checks.




