devenv-full
Complete development environment with desktop, IDE, and testing tools
devenv-full Container
The devenv-full container is the heart of DevEnv Pro. It provides a complete development environment with desktop, IDE, and testing tools.
Overview
Installed Software
Runtime Environments
- Bun v1.1.43 - Modern JavaScript runtime
- Node.js v22 - Latest LTS Node.js
- Python 3 - With pip and venv support
- OpenJDK 17 - For Java applications and JetBrains Gateway
Code Editors
- VS Code Desktop - Native VS Code with full extension support
- Code-Server - Browser-based VS Code (fallback)
Testing
- Playwright - E2E testing framework
- Browsers: Chromium, Firefox, WebKit pre-installed
Modern CLI Tools
- Alacritty - GPU-accelerated terminal emulator
- ZSH + Oh My Posh - Modern shell with beautiful prompt
- Tmux - Terminal multiplexer with custom utilities (
tx,txout,cx) - Lazygit - Terminal UI for Git
- bat -
catwith syntax highlighting - eza - Modern
lsreplacement - btop - System monitor
- ripgrep - Fast search
- fd-find - Fast file search
- fzf - Fuzzy finder
Integrations
- GitHub CLI - Command-line GitHub integration
- Claude Code - AI assistant with model switcher
Supervisord Services
The container uses Supervisord to manage multiple services:
All services are configured with auto-restart on failure.
Desktop Group (priority: 20)
| Service | Port | Description |
|---|---|---|
| Xvfb | :99 | Virtual framebuffer for headless X11 |
| DBus | - | System bus for desktop applications |
| xrdp | 3389 | RDP server for remote desktop access |
| Xfce4 | - | Full desktop environment |
Services Group (priority: 10)
| Service | Port | Description |
|---|---|---|
| SSH | 22 | SSH server for terminal/IDE access |
| Code-Server | 8443 | VS Code in browser |
Service Startup Order
Services start in priority order:
- DBus (priority: 5)
- Xvfb (priority: 20)
- xrdp (priority: 30) - depends on Xvfb
- Xfce4 (priority: 40) - depends on Xvfb
- SSH (priority: 10)
- Code-Server (priority: 60)
Access Methods
RDP (Remote Desktop Protocol)
Connect from any RDP client:
- Address:
localhost:3389 - Username:
root - Password: From
.env(default:devenv)
Windows: Use Remote Desktop Connection
Mac: Microsoft Remote Desktop (from App Store)
Linux: Remmina or rdesktop
X2Go (High Performance)
X2Go offers the best performance for remote desktop connections with lower latency than RDP/VNC.
Installation:
# macOS
brew install --cask x2goclient
# Linux (Debian/Ubuntu)
sudo apt install x2goclient
# Linux (Fedora)
sudo dnf install x2goclientConnection:
- Host: Your server IP or
localhost - Port:
2223 - Username:
root - Session Type: XFCE
- Quality: High
X2Go uses the same SSH port (2223) as JetBrains Gateway and terminal access.
SSH
ssh root@localhost -p 2223Requires SSH key configured in .env.
Also compatible with:
- JetBrains Gateway - For IDE remote development
- X2Go - For high-performance remote desktop
Code-Server (Browser-based VS Code)
Open: http://localhost:8443
Code-Server serves as a fallback when VS Code Desktop is not available.
Environment Variables
Configure via docker/.env:
# Passwords
CODE_SERVER_PASSWORD=devenv
RDP_PASSWORD=devenv
VNC_PASSWORD=devenv
# SSH
SSH_PUBLIC_KEY="ssh-rsa AAAA... your@email.com"
# GitHub
GITHUB_TOKEN=ghp_xxxxxxxxxxxx
# Display
VNC_RESOLUTION=1920x1080
VNC_DEPTH=24
# RDP color depth (16=performance, 24=quality, 32=maximum)
RDP_COLOR_DEPTH=24
# Picom compositor (disabled by default for better RDP performance)
PICOM_ENABLED=false
PICOM_BLUR=false
# Timezone
TZ=Europe/MadridPersistence
The following directories are persisted as Docker volumes:
/workspace- Your working directory/root/.config- Application configurations/root/.vscode- VS Code settings/root/.local/share/code-server- Code-Server data/root/.claude- Claude Code configuration/root/.ssh- SSH keys
Troubleshooting devenv-full
Services Not Starting
# Check service status
docker exec mks-devenv-full supervisorctl status all
# View service logs
docker compose logs devenvDesktop Not Displaying
Check Xvfb and Xfce4:
docker exec mks-devenv-full supervisorctl status xvfb
docker exec mks-devenv-full supervisorctl status xfce4RDP Connection Failed
-
Check xrdp is running:
docker exec mks-devenv-full supervisorctl status xrdp -
Verify Xvfb display:
docker exec mks-devenv-full echo $DISPLAY -
Check Xfce4 is running:
docker exec mks-devenv-full supervisorctl status xfce4