MKS DevEnv

Architecture

Technical architecture of DevEnv Pro - services, networks, and data flow

Architecture

Technical overview of the DevEnv Pro system architecture.

System Overview

Services

devenv-full

The main development environment container.

Purpose: All-in-one development environment with desktop, IDE, and tools.

Services Managed by Supervisord:

ServicePortDescription
Xvfb:99Virtual framebuffer for headless display
DBus-System bus for desktop applications
xrdp3389RDP server for remote desktop access
Xfce4-Desktop environment
SSH22SSH server for terminal/IDE access
Code-Server8443VS Code in browser

Installed Software:

  • Runtime: Bun v1.1.43, Node.js v22, Python 3, OpenJDK 17
  • IDEs: VS Code Desktop, Code-Server
  • CLI: ZSH, Alacritty, Tmux, Lazygit, bat, eza, btop, ripgrep, fd-find, fzf
  • Testing: Playwright (Chromium, Firefox, WebKit)
  • Integrations: GitHub CLI, Claude Code

guacamole-postgres

PostgreSQL database for Guacamole authentication.

Purpose: Stores user accounts, connections, and permissions.

Default Database: guacamole_db

Connection:

  • Host: guacamole-postgres
  • Port: 5432
  • User: guacamole_user

guacamole-guacd

Guacamole proxy daemon.

Purpose: Translates Guacamole protocol to RDP/VNC/SSH.

Port: 4822

guacamole

Web application for Guacamole (Tomcat-based).

Purpose: Browser-based UI for remote desktop connections.

Port: 8081 (host)

Default Credentials: guacadmin / guacadmin

Network

mks-devenv-network

Bridge network that connects all containers.

Connected Services:

  • devenv-full
  • guacamole-postgres
  • guacamole-guacd
  • guacamole

Communication:

  • All containers can communicate via service names
  • devenv-full accessible as hostname devenv from Guacamole

Data Flow

Web Desktop Access (Guacamole)

Direct RDP Access

Volumes

VolumePurposeMount Point
mks-devenv-workspaceWorkspace files/workspace
mks-devenv-configApplication configs/root/.config
mks-devenv-vscodeVS Code settings/root/.vscode
mks-devenv-vscode-dataCode-Server data/root/.local/share/code-server
mks-devenv-claudeClaude Code config/root/.claude
mks-devenv-ssh-keysSSH keys/root/.ssh
mks-guacamole-dbGuacamole database/var/lib/postgresql/data

Ports

PortServiceAccess Method
2222SSH (from host)ssh root@localhost -p 2222
3389RDPrdp://localhost:3389
8081Guacamole Webhttp://localhost:8081/guacamole
8443Code-Serverhttp://localhost:8443

Health Checks

All services include health checks:

  • devenv-full: Code-Server HTTP check every 30s
  • guacamole-postgres: pg_isready check every 10s
  • guacamole-guacd: Port 4822 connectivity check every 10s
  • guacamole: HTTP endpoint check every 30s

Actions

On this page