Add Playground Apps Manager - Web-based devcontainer app deployment system#294
Merged
pantherman594 merged 9 commits intomasterfrom Feb 2, 2026
Merged
Add Playground Apps Manager - Web-based devcontainer app deployment system#294pantherman594 merged 9 commits intomasterfrom
pantherman594 merged 9 commits intomasterfrom
Conversation
024e4b6 to
9767e9c
Compare
9767e9c to
c6c7056
Compare
There was a problem hiding this comment.
Pull request overview
This PR introduces the Playground Apps Manager, a web-based system enabling users to create, manage, and deploy custom devcontainer-based applications with real-time monitoring and build log streaming.
Changes:
- Full-stack web application with Go backend and vanilla JavaScript frontend for CRUD operations on containerized apps
- Integration with Docker and Caddy for container lifecycle management and reverse-proxy routing
- PostgreSQL database for persistent app storage with automatic Caddy route synchronization on startup
Reviewed changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/playground/playground/main.go | Application entry point configuring database, Docker, Caddy clients and HTTP routing |
| src/playground/playground/handlers.go | HTTP handlers for app CRUD operations, container control, and log viewing |
| src/playground/playground/models.go | Data structures for apps, requests, and responses |
| src/playground/playground/validation.go | Input validation for app creation including name format and port range checks |
| src/playground/playground/database.go | PostgreSQL database layer with schema initialization and CRUD operations |
| src/playground/playground/docker.go | Docker client for container operations via devcontainer CLI |
| src/playground/playground/docker_service.go | Service layer orchestrating Docker operations and database updates |
| src/playground/playground/caddy.go | Caddy Admin API client for dynamic route management |
| src/playground/playground/caddy_service.go | Service layer for Caddy route synchronization with status updates |
| src/playground/playground/constants.go | Configuration constants and templates for devcontainer generation |
| src/playground/playground/static/index.html | Frontend UI for app management with real-time status updates |
| src/playground/playground/go.mod | Go module definition with PostgreSQL driver dependency |
| src/playground/playground/Dockerfile | Multi-stage build with devcontainer CLI and ttyd installation |
| src/playground/docker-compose.yaml | Service definitions for Caddy, playground app, and PostgreSQL |
| src/playground/.devcontainer.json | Devcontainer configuration for the playground manager itself |
| src/playground/caddy/Caddyfile | Caddy configuration with admin API enabled |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
yuhuyoyo
approved these changes
Jan 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces the Playground Apps Manager - a web-based system for creating, managing, and deploying custom devcontainer-based applications with real-time monitoring and build log streaming.
Overview
The Playground Apps Manager provides a self-service interface for users to create and manage containerized applications using devcontainer configurations. Apps are built with the devcontainer CLI and run as isolated containers with reverse-proxy routing through Caddy.
Key Features
App Management
Build System
linux/amd64for maximum compatibilityOptional Features
Built-in support for common feature sets:
wb): Java 17, AWS CLI, gcloud CLI, startup scripts (~4 min build)workbench-tools): Bioinformatics toolkit including bcftools, bedtools, plink, plink2, samtools, VEP, REGENIE (~8 min build)Features are automatically installed during devcontainer build with proper configuration.
Example Apps
Quick-start templates for common use cases:
Monitoring & Debugging
🤖 Generated with Claude Code