Getting Started
Introduction to MKS DevEnv - Containerized development environment
Getting Started
Welcome to the documentation for MKS DevEnv - a containerized remote development environment with full desktop, IDE, and testing tools accessible via web or RDP.
What is MKS DevEnv?
Remote development environment containerized with Docker
Full desktop environment with VS Code, browsers, testing tools, and modern CLI utilities - all accessible through your browser or RDP client.
Why DevEnv Pro?
For Individual Developers
- π Instant Setup β Get a complete development environment running in minutes
- π Environment Consistency β Same tools across all projects and machines
- π§ͺ Isolated Testing β Run tests without affecting your host system
- π¦ No Installation Hassles β All tools pre-configured and ready to use
For Teams & Remote Work
- π Browser-Based Access β Work from any device with a web browser
- π Shared Environments β Ensure all team members use identical tooling
- πΎ Persistent Workspaces β Your work is saved across sessions
- π Easy Collaboration β Share environment configurations with teammates
For CI/CD & Testing
- π§ͺ Pre-Installed Browsers β Playwright with Chromium, Firefox, WebKit
- β‘ Fast Test Execution β Optimized for automated testing pipelines
- π Reproducible Builds β Same environment for development and CI/CD
- π― Headless Operation β Run tests without a display
For Learning & Teaching
- π Safe Playground β Experiment without risk to your main machine
- π Complete Toolchain β Learn modern development workflows
- π Easy Reset β Start fresh anytime with Docker volumes
- π Reproducible Demos β Share exact setups for workshops and courses
Live Demo
Experience DevEnv Pro in action with our live deployment:
| Service | Access URL | Description |
|---|---|---|
| π₯οΈ Web Desktop | lab1-helsinki.devenv-1-guaka1.mks2508.systems | Full XFCE4 desktop in browser |
| π» Code-Server | lab1-helsinki.devenv-1.mks2508.systems | VS Code in browser |
| π Guacamole Daemon | lab1-helsinki.devenv-1-guaka2.mks2508.systems | Proxy daemon for connections |
Try it yourself! Follow the Quick Start guide below to deploy your own instance in minutes.
Quick Overview
Key Features:
- π₯οΈ Full Linux desktop (XFCE4)
- π» VS Code Desktop + Browser-based Code-Server
- π§ͺ Playwright testing with pre-installed browsers
- π§ Modern runtime: Bun, Node.js, Python, OpenJDK
- π¨ GPU-accelerated terminal (Alacritty) with ZSH + Oh My Posh
- π Web access via Apache Guacamole
- π¦ Persistent volumes for workspace and config
Prerequisites
Before you begin, ensure you have:
- Docker v20.10+ with Docker Compose v2
- Docker Desktop (macOS/Windows) or Docker daemon (Linux)
- 4GB+ RAM allocated to Docker
- 20GB+ disk space available
Memory Requirements: For optimal performance, allocate at least 4GB RAM to Docker. 8GB+ recommended for multiple environments.
Installation Methods
Option 1: Quick Start (Recommended)
Clone the repository:
git clone https://github.com/MKS2508/mks-dev-environment.git
cd mks-dev-environment/dockerConfigure environment:
cp .env.example .env
# Edit .env with your passwordsRequired variables:
CODE_SERVER_PASSWORD- Password for Code-ServerRDP_PASSWORD- Password for RDP accessGUACAMOLE_DB_PASSWORD- Database passwordSSH_PUBLIC_KEY- Your public SSH key
Start services:
docker compose up -dInitialize Guacamole:
cd guacamole
chmod +x init.sh
./init.shAccess your environment:
- Guacamole: http://localhost:8081/guacamole
- Code-Server: http://localhost:8443
- RDP: localhost:3389
- SSH:
ssh root@localhost -p 2222
Option 2: Coolify Deployment
For VPS deployment with Coolify:
- Push repository to GitHub
- Connect repository in Coolify
- Set environment variables in Coolify secrets
- Deploy with automatic HTTPS
See Deployment for detailed instructions.
Option 3: Manual Installation
# Download release tarball
wget https://github.com/MKS2508/mks-dev-environment/archive/refs/heads/master.tar.gz
tar -xzf master.tar.gz
cd mks-dev-environment/docker
# Follow Quick Start steps 2-5Architecture Overview
βββββββββββββββββββββββββββββββββββββββββββββββ
β Browser / RDP Client β
β ββ Guacamole (:8081) β
β ββ Code-Server (:8443) β
β ββ RDP Client (:3389) β
βββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββββββ
β Docker Network β
β ββ devenv-full (Desktop + IDE) β
β ββ guacamole (Web UI) β
β ββ guacd (Proxy) β
β ββ postgres (Database) β
βββββββββββββββββββββββββββββββββββββββββββββββNext Steps
- Architecture - Understand the system architecture
- Configuration - Customize your environment
- CLI - Command-line tools for environment management
- MCP Server - AI-powered environment management
- Tmux Utilities - Advanced session management
Pro Tip: Use the built-in tmux utilities (tx, txout, cx) for seamless development workflow with Claude Code.
Verification
Verify your installation:
# Check all services are running
docker compose ps
# Check service health
docker compose ps
# Test Guacamole
curl -f http://localhost:8081/guacamole
# Test Code-Server
curl -f http://localhost:8443/healthzGetting Help
- GitHub Issues: Create an issue
- Troubleshooting: Troubleshooting Guide
- Documentation: Full Documentation